pax_global_header00006660000000000000000000000064126547172460014530gustar00rootroot0000000000000052 comment=3224cf239c24383b25c2279d810bea75d5c37cab KWStyle-master/000077500000000000000000000000001265471724600137275ustar00rootroot00000000000000KWStyle-master/CMake/000077500000000000000000000000001265471724600147075ustar00rootroot00000000000000KWStyle-master/CMake/ExportConfiguration/000077500000000000000000000000001265471724600207205ustar00rootroot00000000000000KWStyle-master/CMake/ExportConfiguration/CMakeLists.txt000066400000000000000000000024051265471724600234610ustar00rootroot00000000000000# Generate the KWStyleConfig.cmake file in the build tree. Also configure # one for installation. The file tells external projects how to use # KWStyle. #----------------------------------------------------------------------------- # Settings specific to the build tree. # The "use" file. SET(KWStyle_USE_FILE_CONFIG ${CMAKE_CURRENT_SOURCE_DIR}/UseKWStyle.cmake) # The build settings file. SET(KWStyle_BUILD_SETTINGS_FILE_CONFIG ${KWStyle_BINARY_DIR}/KWStyleBuildSettings.cmake) # The library directories. SET(KWStyle_LIBRARY_DIRS ${KWStyle_LIBRARY_DIRS}) # The EXECUTABLE directories. SET(KWStyle_EXECUTABLE_DIRS ${KWStyle_EXECUTABLE_DIRS}) # The include directories. SET(KWStyle_INCLUDE_DIRS_CONFIG ${KWStyle_INCLUDE_PATH}) # The library dependencies file. SET(KWStyle_LIBRARY_DEPENDS_FILE ${KWStyle_BINARY_DIR}/KWStyleLibraryDepends.cmake) # The CMake macros dir. SET(KWStyle_CMAKE_DIR_CONFIG ${KWStyle_CMAKE_DIR}) # The build configuration information. SET(KWStyle_CONFIGURATION_TYPES_CONFIG ${KWStyle_CONFIGURATION_TYPES}) SET(KWStyle_BUILD_TYPE_CONFIG ${CMAKE_BUILD_TYPE}) # Configure KWStyleConfig.cmake for the build tree. CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/KWStyleConfig.cmake.in ${KWStyle_BINARY_DIR}/KWStyleConfig.cmake @ONLY IMMEDIATE) KWStyle-master/CMake/ExportConfiguration/KWStyleConfig.cmake.in000066400000000000000000000021361265471724600250210ustar00rootroot00000000000000#----------------------------------------------------------------------------- # # KWStyleConfig.cmake - CMake configuration file for external projects. # # This file is configured by KWStyle and used by the UseKWStyle.cmake # module to load KWStyle's settings for an external project. # The KWStyle version number. SET(KWStyle_MAJOR_VERSION "@KWStyle_MAJOR_VERSION@") SET(KWStyle_MINOR_VERSION "@KWStyle_MINOR_VERSION@") SET(KWStyle_PATCH_VERSION "@KWStyle_PATCH_VERSION@") # The libraries. SET(KWStyle_LIBRARIES "@KWStyle_LIBRARIES@") # The CMake macros dir. SET(KWStyle_CMAKE_DIR "@KWStyle_CMAKE_DIR_CONFIG@") # The configuration options. SET(KWStyle_BUILD_TESTING "@KWStyle_BUILD_TESTING@") # The "use" file. SET(KWStyle_USE_FILE "@KWStyle_USE_FILE_CONFIG@") # The build settings file. SET(KWStyle_BUILD_SETTINGS_FILE "@KWStyle_BUILD_SETTINGS_FILE_CONFIG@") # The library directories. SET(KWStyle_LIBRARY_DIRS "@KWStyle_LIBRARY_DIRS@") # The runtime directories. SET(KWStyle_EXECUTABLE_DIRS "@KWStyle_EXECUTABLE_DIRS@") # The include directories. SET(KWStyle_INCLUDE_DIRS "@KWStyle_INCLUDE_DIRS_CONFIG@") KWStyle-master/CMake/ExportConfiguration/UseKWStyle.cmake000066400000000000000000000025701265471724600237450ustar00rootroot00000000000000# # This module is provided as KWStyle_USE_FILE by KWStyleConfig.cmake. # It can be INCLUDEd in a project to load the needed compiler and linker # settings to use KWStyle: # FIND_PACKAGE(KWStyle REQUIRED) # INCLUDE(${KWStyle_USE_FILE}) IF(NOT KWStyle_USE_FILE_INCLUDED) SET(KWStyle_USE_FILE_INCLUDED 1) # Load the compiler settings used for KWStyle. IF(KWStyle_BUILD_SETTINGS_FILE) INCLUDE(${CMAKE_ROOT}/Modules/CMakeImportBuildSettings.cmake) CMAKE_IMPORT_BUILD_SETTINGS(${KWStyle_BUILD_SETTINGS_FILE}) ENDIF(KWStyle_BUILD_SETTINGS_FILE) # Add compiler flags needed to use KWStyle. SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${KWStyle_REQUIRED_C_FLAGS}") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KWStyle_REQUIRED_CXX_FLAGS}") SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${KWStyle_REQUIRED_EXE_LINKER_FLAGS}") SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${KWStyle_REQUIRED_SHARED_LINKER_FLAGS}") SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${KWStyle_REQUIRED_MODULE_LINKER_FLAGS}") # Add include directories needed to use KWStyle. INCLUDE_DIRECTORIES(${KWStyle_INCLUDE_DIRS}) # Add link directories needed to use KWStyle. LINK_DIRECTORIES(${KWStyle_LIBRARY_DIRS}) # Add cmake module path. SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${KWStyle_CMAKE_DIR}") ENDIF(NOT KWStyle_USE_FILE_INCLUDED) KWStyle-master/CMakeLists.txt000066400000000000000000000105671265471724600165000ustar00rootroot00000000000000CMAKE_MINIMUM_REQUIRED(VERSION 2.8.4) FOREACH(p CMP0003 CMP0026 CMP0054 ) IF(POLICY ${p}) CMAKE_POLICY(SET ${p} NEW) ENDIF() ENDFOREACH() PROJECT(KWStyle) # Output directories IF(NOT LIBRARY_OUTPUT_PATH) SET (LIBRARY_OUTPUT_PATH ${KWStyle_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all libraries.") ENDIF(NOT LIBRARY_OUTPUT_PATH) IF(NOT EXECUTABLE_OUTPUT_PATH) SET (EXECUTABLE_OUTPUT_PATH ${KWStyle_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.") ENDIF(NOT EXECUTABLE_OUTPUT_PATH) MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH) SET(CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH}) SET(KWStyle_MAJOR_VERSION "1") SET(KWStyle_MINOR_VERSION "0") SET(KWStyle_PATCH_VERSION "1") # Disable MSVC 8 warnings IF(WIN32) ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE) ENDIF(WIN32) # Add testing ENABLE_TESTING() INCLUDE(CTest) IF (BUILD_TESTING) SUBDIRS(Testing) ENDIF (BUILD_TESTING) INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} ${KWStyle_BINARY_DIR}/Utilities ${KWStyle_SOURCE_DIR}/Utilities ) SET(KWStyle_HDRS kwsParser.h kwsHeader.h kwsXMLReader.h kwsGenerator.h kwsTestFile.h metaCommand.h ) SET(KWStyle_SRCS metaCommand.cxx kwsParser.cxx kwsXMLReader.cxx kwsGenerator.cxx kwsCheckLineLength.cxx kwsCheckHeader.cxx kwsCheckSemicolonSpace.cxx kwsCheckIfNDefDefine.cxx kwsCheckTypedefs.cxx kwsCheckIndent.cxx kwsCheckEndOfFileNewLine.cxx kwsCheckDeclarationOrder.cxx kwsCheckInternalVariables.cxx kwsCheckNamespace.cxx kwsCheckComments.cxx kwsCheckTabs.cxx kwsCheckNameOfClass.cxx kwsCheckEmptyLines.cxx kwsCheckTemplate.cxx kwsCheckOperator.cxx kwsCheckBlackList.cxx kwsCheckExtraSpaces.cxx kwsCheckStatementPerLine.cxx kwsCheckVariablePerLine.cxx kwsCheckBadCharacters.cxx kwsCheckStruct.cxx kwsCheckVariables.cxx kwsCheckMemberFunctions.cxx kwsCheckFunctions.cxx kwsCheckUsingDirectives.cxx kwsCheckRelativePathInInclude.cxx ) SUBDIRS(Utilities) SET(KWStyle_EXECUTABLE_DIRS ${EXECUTABLE_OUTPUT_PATH}) SET(KWStyle_LIBRARY_DIRS ${LIBRARY_OUTPUT_PATH}) # Configure the export configuration SUBDIRS(CMake/ExportConfiguration) CONFIGURE_FILE(${KWStyle_SOURCE_DIR}/KWStyleConfigure.h.in ${KWStyle_BINARY_DIR}/KWStyleConfigure.h) ADD_LIBRARY(KWStyleLib ${KWStyle_SRCS} ${KWStyle_HDRS}) ADD_EXECUTABLE(KWStyle kwsStyle.cxx) TARGET_LINK_LIBRARIES(KWStyle KWStyleLib kwssys) ADD_CUSTOM_COMMAND(TARGET KWStyle POST_BUILD COMMAND "${CMAKE_COMMAND}" -E copy "$" "${KWStyle_BINARY_DIR}/${EXECUTABLE_NAME}" COMMENT "Move the executable to the top binary tree") # Installation file INSTALL(TARGETS KWStyle RUNTIME DESTINATION bin) INSTALL(FILES ${KWStyle_SOURCE_DIR}/Documentation/Install/ITK.kws.xml DESTINATION share/KWStyle) INSTALL(FILES ${KWStyle_SOURCE_DIR}/Documentation/Install/VTK.kws.xml DESTINATION share/KWStyle) # Install the headers INSTALL(FILES ${KWStyle_SOURCE_DIR}/Web/headers/VTKHeader.h DESTINATION share/KWStyle/headers) INSTALL(FILES ${KWStyle_SOURCE_DIR}/Web/headers/ITKHeader.h DESTINATION share/KWStyle/headers) # Install the logo INSTALL(FILES ${KWStyle_SOURCE_DIR}/Documentation/logosmall.jpg DESTINATION share/KWStyle) # CPack options INCLUDE(InstallRequiredSystemLibraries) SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "KWStyle") SET(CPACK_PACKAGE_VENDOR "Kitware Inc.") SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md") SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt") SET(CPACK_PACKAGE_VERSION_MAJOR "1") SET(CPACK_PACKAGE_VERSION_MINOR "0") SET(CPACK_PACKAGE_VERSION_PATCH "0") SET(CPACK_PACKAGE_INSTALL_DIRECTORY "KWStyle ${KWStyle_VERSION_MAJOR}.${KWStyle_VERSION_MINOR}") IF(WIN32 AND NOT UNIX) # There is a bug in NSI that does not handle full unix paths properly. Make # sure there is at least one set of four (4) backlasshes. SET(CPACK_PACKAGE_ICON "${KWStyle_SOURCE_DIR}/Web/images\\\\TitleBar.bmp") SET(CPACK_NSIS_INSTALLED_ICON_NAME "relwithdebinfo\\\\KWStyle.exe") SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} The source code checker") SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\public.kitware.com/KWStyle") SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\public.kitware.com/KWStyle") SET(CPACK_NSIS_MODIFY_PATH ON) ELSE(WIN32 AND NOT UNIX) SET(CPACK_STRIP_FILES "bin/KWStyle") SET(CPACK_SOURCE_STRIP_FILES "") ENDIF(WIN32 AND NOT UNIX) #SET(CPACK_PACKAGE_EXECUTABLES "KWStyle" "KWStyle") INCLUDE(CPack) KWStyle-master/CTestConfig.cmake000066400000000000000000000010221265471724600170740ustar00rootroot00000000000000## This file should be placed in the root directory of your project. ## Then modify the CMakeLists.txt file in the root directory of your ## project to incorporate the testing dashboard. ## # The following are required to uses Dart and the Cdash dashboard ## ENABLE_TESTING() ## INCLUDE(Dart) set(CTEST_PROJECT_NAME "KWStyle") set(CTEST_NIGHTLY_START_TIME "21:00:00 EST") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "my.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=KWStyle") set(CTEST_DROP_SITE_CDASH TRUE) KWStyle-master/Copyright.txt000066400000000000000000000033021265471724600164360ustar00rootroot00000000000000 The KWStyle copyright is as follows: Copyright (c) Kitware, Inc. All rights reserved. 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. * The name of Kitware Inc., or the name of any contributors, may not be used to endorse or promote products derived from this software without specific prior written permission. * Modified source versions must be plainly marked as such, and must not be misrepresented as being the original software. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER 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 AUTHORS 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. See also the KWStyle web site: http://public.kitware.com/KWStyle for more information. KWStyle-master/Documentation/000077500000000000000000000000001265471724600165405ustar00rootroot00000000000000KWStyle-master/Documentation/BlackListCmake.txt000066400000000000000000000633501265471724600221210ustar00rootroot00000000000000AbnormalTermination _abnormal_termination AbortSystemShutdown AbortSystemShutdownA AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA AddAtom AddAtomA AddFontResource AddFontResourceA AddForm AddFormA AddJob AddJobA AddMonitor AddMonitorA AddPort AddPortA AddPrintProcessor AddPrintProcessorA AddPrintProvidor AddPrintProvidorA AddPrinter AddPrinterA AddPrinterConnection AddPrinterConnectionA AddPrinterDriver AddPrinterDriverA AddPrinterDriverEx AddPrinterDriverExA AdvancedDocumentProperties AdvancedDocumentPropertiesA AnsiLower CharLowerA AnsiLowerBuff CharLowerBuffA AnsiNext CharNextA AnsiPrev CharPrevA AnsiToOem CharToOemA AnsiToOemBuff CharToOemBuffA AnsiUpper CharUpperA AnsiUpperBuff CharUpperBuffA AppendMenu AppendMenuA BackupEventLog BackupEventLogA BeginUpdateResource BeginUpdateResourceA BuildCommDCB BuildCommDCBA BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsA CallMsgFilter CallMsgFilterA CallNamedPipe CallNamedPipeA CallWindowProc CallWindowProcA CdChangerClassGuid GUID_DEVINTERFACE_CDCHANGER CdRomClassGuid GUID_DEVINTERFACE_CDROM CertAddEncodedCertificateToSystemStore CertAddEncodedCertificateToSystemStoreA CertGetNameString CertGetNameStringA CertNameToStr CertNameToStrA CertOpenSystemStore CertOpenSystemStoreA CertRDNValueToStr CertRDNValueToStrA CertStrToName CertStrToNameA ChangeDisplaySettings ChangeDisplaySettingsA ChangeDisplaySettingsEx ChangeDisplaySettingsExA ChangeMenu ChangeMenuA ChangeServiceConfig ChangeServiceConfigA ChangeServiceConfig2 ChangeServiceConfig2A CharLower CharLowerA CharLowerBuff CharLowerBuffA CharNext CharNextA CharPrev CharPrevA CharToOem CharToOemA CharToOemBuff CharToOemBuffA CharUpper CharUpperA CharUpperBuff CharUpperBuffA ChooseColor ChooseColorA ChooseFont ChooseFontA ClearEventLog ClearEventLogA CommConfigDialog CommConfigDialogA CommDlg_OpenSave_GetFilePath CommDlg_OpenSave_GetFilePathA CommDlg_OpenSave_GetFilePathA CommDlg_OpenSave_GetFilePathW CommDlg_OpenSave_GetFolderIDList CommDlg_OpenSave_GetFolderPath CommDlg_OpenSave_GetFolderPathA CommDlg_OpenSave_GetFolderPathA CommDlg_OpenSave_GetFolderPathW CommDlg_OpenSave_GetSpec CommDlg_OpenSave_GetSpecA CommDlg_OpenSave_GetSpecA CommDlg_OpenSave_GetSpecW CommDlg_OpenSave_HideControl CommDlg_OpenSave_SetControlText CommDlg_OpenSave_SetDefExt CompareString CompareStringA ConfigurePort ConfigurePortA CopyAcceleratorTable CopyAcceleratorTableA CopyCursor CopyEnhMetaFile CopyEnhMetaFileA CopyFile CopyFileA CopyMemory RtlCopyMemory CopyMetaFile CopyMetaFileA CreateAcceleratorTable CreateAcceleratorTableA CreateColorSpace CreateColorSpaceA CreateDC CreateDCA CreateDesktop CreateDesktopA CreateDialog CreateDialogA CreateDialogA(hInstance,lpName,hWndParent,lpDialogFunc) CreateDialogParamA(hInstance, lpName, hWndParent, lpDialogFunc, 0L) CreateDialogIndirect CreateDialogIndirectA CreateDialogIndirectA(hInstance,lpTemplate,hWndParent,lpDialogFunc) CreateDialogIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) CreateDialogIndirectParam CreateDialogIndirectParamA CreateDialogIndirectW(hInstance,lpTemplate,hWndParent,lpDialogFunc) CreateDialogIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) CreateDialogParam CreateDialogParamA CreateDialogW(hInstance,lpName,hWndParent,lpDialogFunc) CreateDialogParamW(hInstance, lpName, hWndParent, lpDialogFunc, 0L) CreateDirectory CreateDirectoryA CreateDirectoryEx CreateDirectoryExA CreateEnhMetaFile CreateEnhMetaFileA CreateEvent CreateEventA CreateFile CreateFileA CreateFileMapping CreateFileMappingA CreateFont CreateFontA CreateFontIndirect CreateFontIndirectA CreateIC CreateICA CreateMDIWindow CreateMDIWindowA CreateMailslot CreateMailslotA CreateMetaFile CreateMetaFileA CreateMutex CreateMutexA CreateNamedPipe CreateNamedPipeA CreateProcess CreateProcessA CreateProcessAsUser CreateProcessAsUserA CreatePropertySheetPage CreatePropertySheetPageA CreateScalableFontResource CreateScalableFontResourceA CreateSemaphore CreateSemaphoreA CreateService CreateServiceA CreateWindow CreateWindowA CreateWindowA CreateWindowEx CreateWindowExA CreateWindowStation CreateWindowStationA CreateWindowW CryptAcquireContext CryptAcquireContextA CryptBinaryToString CryptBinaryToStringA CryptEnumProviderTypes CryptEnumProviderTypesA CryptEnumProviders CryptEnumProvidersA CryptGetDefaultProvider CryptGetDefaultProviderA CryptRetrieveObjectByUrl CryptRetrieveObjectByUrlA CryptSetProvider CryptSetProviderA CryptSetProviderEx CryptSetProviderExA CryptSignHash CryptSignHashA CryptStringToBinary CryptStringToBinaryA CryptVerifySignature CryptVerifySignatureA DceErrorInqText DceErrorInqTextA DdeCreateStringHandle DdeCreateStringHandleA DdeInitialize DdeInitializeA DdeQueryString DdeQueryStringA DecryptFile DecryptFileA DefDlgProc DefDlgProcA DefFrameProc DefFrameProcA DefHookProc DefMDIChildProc DefMDIChildProcA DefWindowProc DefWindowProcA DefineDosDevice DefineDosDeviceA DefineHandleTable(w) ((w),TRUE) DeleteFile DeleteFileA DeleteForm DeleteFormA DeleteMonitor DeleteMonitorA DeletePort DeletePortA DeletePrintProcessor DeletePrintProcessorA DeletePrintProvidor DeletePrintProvidorA DeletePrinterConnection DeletePrinterConnectionA DeletePrinterData DeletePrinterDataA DeletePrinterDataEx DeletePrinterDataExA DeletePrinterDriver DeletePrinterDriverA DeletePrinterDriverEx DeletePrinterDriverExA DeletePrinterKey DeletePrinterKeyA DeviceCapabilities DeviceCapabilitiesA DialogBox DialogBoxA DialogBoxA DialogBoxIndirect DialogBoxIndirectA DialogBoxIndirectA DialogBoxIndirectParam DialogBoxIndirectParamA DialogBoxIndirectW DialogBoxParam DialogBoxParamA DialogBoxW DiskClassGuid GUID_DEVINTERFACE_DISK DispatchMessage DispatchMessageA DlgDirList DlgDirListA DlgDirListComboBox DlgDirListComboBoxA DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA DlgDirSelectEx DlgDirSelectExA DoEnvironmentSubst DoEnvironmentSubstA DocumentProperties DocumentPropertiesA DragQueryFile DragQueryFileA DrawState DrawStateA DrawText DrawTextA DrawTextEx DrawTextExA EncryptFile EncryptFileA EndUpdateResource EndUpdateResourceA EnumCalendarInfo EnumCalendarInfoA EnumCalendarInfoEx EnumCalendarInfoExA EnumDateFormats EnumDateFormatsA EnumDateFormatsEx EnumDateFormatsExA EnumDependentServices EnumDependentServicesA EnumDesktops EnumDesktopsA EnumDisplayDevices EnumDisplayDevicesA EnumDisplaySettings EnumDisplaySettingsA EnumDisplaySettingsEx EnumDisplaySettingsExA EnumFontFamilies EnumFontFamiliesA EnumFontFamiliesEx EnumFontFamiliesExA EnumFonts EnumFontsA EnumForms EnumFormsA EnumICMProfiles EnumICMProfilesA EnumJobs EnumJobsA EnumLanguageGroupLocales EnumLanguageGroupLocalesA EnumMonitors EnumMonitorsA EnumPorts EnumPortsA EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesA EnumPrintProcessors EnumPrintProcessorsA EnumPrinterData EnumPrinterDataA EnumPrinterDataEx EnumPrinterDataExA EnumPrinterDrivers EnumPrinterDriversA EnumPrinterKey EnumPrinterKeyA EnumPrinters EnumPrintersA EnumProps EnumPropsA EnumPropsEx EnumPropsExA EnumResourceLanguages EnumResourceLanguagesA EnumResourceNames EnumResourceNamesA EnumResourceTypes EnumResourceTypesA EnumServicesStatus EnumServicesStatusA EnumServicesStatusEx EnumServicesStatusExA EnumSystemCodePages EnumSystemCodePagesA EnumSystemLanguageGroups EnumSystemLanguageGroupsA EnumSystemLocales EnumSystemLocalesA EnumTaskWindows EnumTimeFormats EnumTimeFormatsA EnumUILanguages EnumUILanguagesA EnumWindowStations EnumWindowStationsA ExitWindows ExpandEnvironmentStrings ExpandEnvironmentStringsA ExtTextOut ExtTextOutA ExtractAssociatedIcon ExtractAssociatedIconA ExtractAssociatedIconEx ExtractAssociatedIconExA ExtractIcon ExtractIconA ExtractIconEx ExtractIconExA FatalAppExit FatalAppExitA FileEncryptionStatus FileEncryptionStatusA FillConsoleOutputCharacter FillConsoleOutputCharacterA FillMemory RtlFillMemory FindAtom FindAtomA FindExecutable FindExecutableA FindFirstChangeNotification FindFirstChangeNotificationA FindFirstFile FindFirstFileA FindNextFile FindNextFileA FindResource FindResourceA FindResourceEx FindResourceExA FindText FindTextA FindWindow FindWindowA FindWindowEx FindWindowExA FloppyClassGuid GUID_DEVINTERFACE_FLOPPY FoldString FoldStringA FormatMessage FormatMessageA FreeEnvironmentStrings FreeEnvironmentStringsA FreeModule FreeProcInstance GetAltTabInfo GetAltTabInfoA GetAtomName GetAtomNameA GetBValue GetBinaryType GetBinaryTypeA GetCPInfoEx GetCPInfoExA GetCValue GetCalendarInfo GetCalendarInfoA GetCharABCWidths GetCharABCWidthsA GetCharABCWidthsFloat GetCharABCWidthsFloatA GetCharWidth GetCharWidthA GetCharWidth32 GetCharWidth32A GetCharWidthFloat GetCharWidthFloatA GetCharacterPlacement GetCharacterPlacementA GetClassInfo GetClassInfoA GetClassInfoEx GetClassInfoExA GetClassLong GetClassLongA GetClassLongPtr GetClassLongPtrA GetClassLongPtrA GetClassLongA GetClassLongPtrW GetClassLongW GetClassName GetClassNameA GetClipboardFormatName GetClipboardFormatNameA GetCommandLine GetCommandLineA GetCompressedFileSize GetCompressedFileSizeA GetComputerName GetComputerNameA GetConsoleTitle GetConsoleTitleA GetCurrencyFormat GetCurrencyFormatA GetCurrentDirectory GetCurrentDirectoryA GetCurrentTime() GetTickCount() GetDateFormat GetDateFormatA GetDefaultCommConfig GetDefaultCommConfigA GetDefaultPrinter GetDefaultPrinterA GetDiskFreeSpace GetDiskFreeSpaceA GetDiskFreeSpaceEx GetDiskFreeSpaceExA GetDlgItemText GetDlgItemTextA GetDriveType GetDriveTypeA GetEnhMetaFile GetEnhMetaFileA GetEnhMetaFileDescription GetEnhMetaFileDescriptionA GetEnvironmentStringsA GetEnvironmentStrings GetEnvironmentVariable GetEnvironmentVariableA GetExceptionCode _exception_code GetExceptionInformation GetExpandedName GetExpandedNameA GetFileAttributes GetFileAttributesA GetFileAttributesEx GetFileAttributesExA GetFileSecurity GetFileSecurityA GetFileTitle GetFileTitleA GetFileVersionInfo GetFileVersionInfoA GetFileVersionInfoSize GetFileVersionInfoSizeA GetFirmwareEnvironmentVariable GetFirmwareEnvironmentVariableA GetForm GetFormA GetFreeSpace GetFullPathName GetFullPathNameA GetGValue GetGeoInfo GetGeoInfoA GetGlyphOutline GetGlyphOutlineA GetICMProfile GetICMProfileA GetJob GetJobA GetKValue GetKerningPairs GetKerningPairsA GetKeyNameText GetKeyNameTextA GetKeyboardLayoutName GetKeyboardLayoutNameA GetLocaleInfo GetLocaleInfoA GetLogColorSpace GetLogColorSpaceA GetLogicalDriveStrings GetLogicalDriveStringsA GetLongPathName GetLongPathNameA GetMValue GetMenuItemInfo GetMenuItemInfoA GetMenuString GetMenuStringA GetMessage GetMessageA GetMetaFile GetMetaFileA GetModuleFileName GetModuleFileNameA GetModuleHandle GetModuleHandleA GetMonitorInfo GetMonitorInfoA GetNamedPipeHandleState GetNamedPipeHandleStateA GetNextWindow GetNumberFormat GetNumberFormatA GetObject GetObjectA GetOpenCardName GetOpenCardNameA GetOpenFileName GetOpenFileNameA GetOutlineTextMetrics GetOutlineTextMetricsA GetPrintProcessorDirectory GetPrintProcessorDirectoryA GetPrinter GetPrinterA GetPrinterData GetPrinterDataA GetPrinterDataEx GetPrinterDataExA GetPrinterDriver GetPrinterDriverA GetPrinterDriverDirectory GetPrinterDriverDirectoryA GetPrivateProfileInt GetPrivateProfileIntA GetPrivateProfileSection GetPrivateProfileSectionA GetPrivateProfileSectionNames GetPrivateProfileSectionNamesA GetPrivateProfileString GetPrivateProfileStringA GetPrivateProfileStruct GetPrivateProfileStructA GetProfileInt GetProfileIntA GetProfileSection GetProfileSectionA GetProfileString GetProfileStringA GetProp GetPropA GetRValue GetSaveFileName GetSaveFileNameA GetScode GetServiceDisplayName GetServiceDisplayNameA GetServiceKeyName GetServiceKeyNameA GetShortPathName GetShortPathNameA GetStartupInfo GetStartupInfoA GetStringTypeEx GetStringTypeExA GetSysModalWindow GetSystemDirectory GetSystemDirectoryA GetSystemWindowsDirectory GetSystemWindowsDirectoryA GetTabbedTextExtent GetTabbedTextExtentA GetTempFileName GetTempFileNameA GetTempPath GetTempPathA GetTextExtentExPoint GetTextExtentExPointA GetTextExtentPoint GetTextExtentPointA GetTextExtentPoint32 GetTextExtentPoint32A GetTextFace GetTextFaceA GetTextMetrics GetTextMetricsA GetTimeFormat GetTimeFormatA GetUrlPolicyPermissions GetUserName GetUserNameA GetUserObjectInformation GetUserObjectInformationA GetVersionEx GetVersionExA GetVolumeInformation GetVolumeInformationA GetWindowLong GetWindowLongA GetWindowLongPtr GetWindowLongPtrA GetWindowLongPtrA GetWindowLongA GetWindowLongPtrW GetWindowLongW GetWindowModuleFileName GetWindowModuleFileNameA GetWindowTask GetWindowText GetWindowTextA GetWindowTextLength GetWindowTextLengthA GetWindowsDirectory GetWindowsDirectoryA GetYValue GlobalAddAtom GlobalAddAtomA GlobalDiscard GlobalFindAtom GlobalFindAtomA GlobalGetAtomName GlobalGetAtomNameA GlobalLRUNewest GlobalLRUOldest GrayString GrayStringA HandleToLong HandleToULong HandleToUlong HasOverlappedIoCompleted ImmConfigureIME ImmConfigureIMEA ImmEnumRegisterWord ImmEnumRegisterWordA ImmEscape ImmEscapeA ImmGetCandidateList ImmGetCandidateListA ImmGetCandidateListCount ImmGetCandidateListCountA ImmGetCompositionFont ImmGetCompositionFontA ImmGetCompositionString ImmGetCompositionStringA ImmGetConversionList ImmGetConversionListA ImmGetDescription ImmGetDescriptionA ImmGetGuideLine ImmGetGuideLineA ImmGetIMEFileName ImmGetIMEFileNameA ImmGetImeMenuItems ImmGetImeMenuItemsA ImmGetRegisterWordStyle ImmGetRegisterWordStyleA ImmInstallIME ImmInstallIMEA ImmIsUIMessage ImmIsUIMessageA ImmRegisterWord ImmRegisterWordA ImmSetCompositionFont ImmSetCompositionFontA ImmSetCompositionString ImmSetCompositionStringA ImmUnregisterWord ImmUnregisterWordA InitiateSystemShutdown InitiateSystemShutdownA InitiateSystemShutdownEx InitiateSystemShutdownExA InsertMenu InsertMenuA InsertMenuItem InsertMenuItemA Int32x32To64 IntToPtr InterlockedCompareExchangePointer __InlineInterlockedCompareExchangePointer InterlockedExchangePointer IsBadStringPtr IsBadStringPtrA IsCharAlpha IsCharAlphaA IsCharAlphaNumeric IsCharAlphaNumericA IsCharLower IsCharLowerA IsCharUpper IsCharUpperA IsContainerPartition IsDialogMessage IsDialogMessageA IsEqualCLSID IsEqualFMTID IsEqualIID IsFTPartition IsHashValCompatible IsLFNDrive IsLFNDriveA IsLoggingEnabled IsLoggingEnabledA IsRecognizedPartition IsReparseTagMicrosoft IsReparseTagNameSurrogate IsValidDevmode IsValidDevmodeA LimitEmsPages LoadAccelerators LoadAcceleratorsA LoadBitmap LoadBitmapA LoadCursor LoadCursorA LoadCursorFromFile LoadCursorFromFileA LoadIcon LoadIconA LoadImage LoadImageA LoadKeyboardLayout LoadKeyboardLayoutA LoadLibrary LoadLibraryA LoadLibraryEx LoadLibraryExA LoadMenu LoadMenuA LoadMenuIndirect LoadMenuIndirectA LoadString LoadStringA LocalDiscard LockSegment LogonUser LogonUserA LogonUserEx LogonUserExA LongToHandle LongToPtr LookupAccountName LookupAccountNameA LookupAccountSid LookupAccountSidA LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA LookupPrivilegeName LookupPrivilegeNameA LookupPrivilegeValue LookupPrivilegeValueA MakeProcInstance MapVirtualKey MapVirtualKeyA MapVirtualKeyEx MapVirtualKeyExA MaxNumberOfEEInfoParams 4 MediumChangerClassGuid GUID_DEVINTERFACE_MEDIUMCHANGER MessageBox MessageBoxA MessageBoxEx MessageBoxExA MessageBoxIndirect MessageBoxIndirectA ModifyMenu ModifyMenuA MoveFile MoveFileA MoveFileEx MoveFileExA MoveMemory RtlMoveMemory MultinetGetConnectionPerformance MultinetGetConnectionPerformanceA NdrFcLong NdrFcShort NdrFieldOffset NdrFieldPad NdrMarshCCtxtHdl NdrMarshConfStringHdr NdrMarshSCtxtHdl NdrUnMarshCCtxtHdl NdrUnMarshConfStringHdr NdrUnMarshSCtxtHdl ObjectCloseAuditAlarm ObjectCloseAuditAlarmA ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmA ObjectOpenAuditAlarm ObjectOpenAuditAlarmA ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmA OemToAnsi OemToCharA OemToAnsiBuff OemToCharBuffA OemToChar OemToCharA OemToCharBuff OemToCharBuffA OpenBackupEventLog OpenBackupEventLogA OpenDesktop OpenDesktopA OpenEncryptedFileRaw OpenEncryptedFileRawA OpenEvent OpenEventA OpenEventLog OpenEventLogA OpenFileMapping OpenFileMappingA OpenMutex OpenMutexA OpenPrinter OpenPrinterA OpenSCManager OpenSCManagerA OpenSemaphore OpenSemaphoreA OpenService OpenServiceA OpenWindowStation OpenWindowStationA OutputDebugStr OutputDebugString OutputDebugString OutputDebugStringA PageSetupDlg PageSetupDlgA PartitionClassGuid GUID_DEVINTERFACE_PARTITION PeekConsoleInput PeekConsoleInputA PeekMessage PeekMessageA PlaySound PlaySoundA PolyTextOut PolyTextOutA PostAppMessage PostAppMessageA PostAppMessageA PostAppMessageW PostMessage PostMessageA PostThreadMessage PostThreadMessageA PrintDlg PrintDlgA PrintDlgEx PrintDlgExA PrinterMessageBox PrinterMessageBoxA PrivateExtractIcons PrivateExtractIconsA PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmA PropSheet_AddPage PropSheet_Apply PropSheet_CancelToClose PropSheet_Changed PropSheet_GetCurrentPageHwnd PropSheet_GetResult PropSheet_GetTabControl PropSheet_HwndToIndex PropSheet_IdToIndex PropSheet_IndexToHwnd PropSheet_IndexToId PropSheet_IndexToPage PropSheet_InsertPage PropSheet_IsDialogMessage PropSheet_PageToIndex PropSheet_PressButton PropSheet_QuerySiblings PropSheet_RebootSystem PropSheet_RecalcPageSizes PropSheet_RemovePage PropSheet_RestartWindows PropSheet_SetCurSel PropSheet_SetCurSelByID PropSheet_SetFinishText PropSheet_SetHeaderSubTitle PropSheet_SetHeaderTitle PropSheet_SetTitle PropSheet_SetWizButtons PropSheet_UnChanged PropagateResult PropertySheet PropertySheetA PtrToInt PtrToLong PtrToShort PtrToUint PtrToUlong PtrToUshort QueryDosDevice QueryDosDeviceA QueryServiceConfig QueryServiceConfigA QueryServiceConfig2 QueryServiceConfig2A QueryServiceLockStatus QueryServiceLockStatusA ReadConsole ReadConsoleA ReadConsoleInput ReadConsoleInputA ReadConsoleOutput ReadConsoleOutputA ReadConsoleOutputCharacter ReadConsoleOutputCharacterA ReadEventLog ReadEventLogA RealGetWindowClass RealGetWindowClassA RegConnectRegistry RegConnectRegistryA RegCreateKey RegCreateKeyA RegCreateKeyEx RegCreateKeyExA RegDeleteKey RegDeleteKeyA RegDeleteValue RegDeleteValueA RegEnumKey RegEnumKeyA RegEnumKeyEx RegEnumKeyExA RegEnumValue RegEnumValueA RegLoadKey RegLoadKeyA RegOpenKey RegOpenKeyA RegOpenKeyEx RegOpenKeyExA RegQueryInfoKey RegQueryInfoKeyA RegQueryMultipleValues RegQueryMultipleValuesA RegQueryValue RegQueryValueA RegQueryValueEx RegQueryValueExA RegReplaceKey RegReplaceKeyA RegRestoreKey RegRestoreKeyA RegSaveKey RegSaveKeyA RegSaveKeyEx RegSaveKeyExA RegSetValue RegSetValueA RegSetValueEx RegSetValueExA RegUnLoadKey RegUnLoadKeyA RegisterClass RegisterClassA RegisterClassEx RegisterClassExA RegisterClipboardFormat RegisterClipboardFormatA RegisterDeviceNotification RegisterDeviceNotificationA RegisterEventSource RegisterEventSourceA RegisterServiceCtrlHandler RegisterServiceCtrlHandlerA RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExA RegisterWindowMessage RegisterWindowMessageA RemoveDirectory RemoveDirectoryA RemoveFontResource RemoveFontResourceA RemoveProp RemovePropA ReplaceText ReplaceTextA ReportEvent ReportEventA ResetDC ResetDCA ResetPrinter ResetPrinterA ResultFromScode RpcAbnormalTermination RpcAsyncGetCallHandle RpcBindingFromStringBinding RpcBindingFromStringBindingA RpcBindingInqAuthClient RpcBindingInqAuthClientA RpcBindingInqAuthClientEx RpcBindingInqAuthClientExA RpcBindingInqAuthInfo RpcBindingInqAuthInfoA RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExA RpcBindingSetAuthInfo RpcBindingSetAuthInfoA RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExA RpcBindingToStringBinding RpcBindingToStringBindingA RpcEndExcept RpcEndFinally RpcEpRegister RpcEpRegisterA RpcEpRegisterNoReplace RpcEpRegisterNoReplaceA RpcExcep RpcExceptionCode RpcFinally RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextA RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameA RpcNetworkInqProtseqs RpcNetworkInqProtseqsA RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidA RpcNsBindingExport RpcNsBindingExportA RpcNsBindingExportPnP RpcNsBindingExportPnPA RpcNsBindingImportBegin RpcNsBindingImportBeginA RpcNsBindingInqEntryName RpcNsBindingInqEntryNameA RpcNsBindingLookupBegin RpcNsBindingLookupBeginA RpcNsBindingUnexport RpcNsBindingUnexportA RpcNsBindingUnexportPnP RpcNsBindingUnexportPnPA RpcNsEntryExpandName RpcNsEntryExpandNameA RpcNsEntryObjectInqBegin RpcNsEntryObjectInqBeginA RpcNsGroupDelete RpcNsGroupDeleteA RpcNsGroupMbrAdd RpcNsGroupMbrAddA RpcNsGroupMbrInqBegin RpcNsGroupMbrInqBeginA RpcNsGroupMbrInqNext RpcNsGroupMbrInqNextA RpcNsGroupMbrRemove RpcNsGroupMbrRemoveA RpcNsMgmtBindingUnexport RpcNsMgmtBindingUnexportA RpcNsMgmtEntryCreate RpcNsMgmtEntryCreateA RpcNsMgmtEntryDelete RpcNsMgmtEntryDeleteA RpcNsMgmtEntryInqIfIds RpcNsMgmtEntryInqIfIdsA RpcNsProfileDelete RpcNsProfileDeleteA RpcNsProfileEltAdd RpcNsProfileEltAddA RpcNsProfileEltInqBegin RpcNsProfileEltInqBeginA RpcNsProfileEltInqNext RpcNsProfileEltInqNextA RpcNsProfileEltRemove RpcNsProfileEltRemoveA RpcProtseqVectorFree RpcProtseqVectorFreeA RpcServerInqCallAttributes RpcServerInqCallAttributesA RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameA RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoA RpcServerUseProtseq RpcServerUseProtseqA RpcServerUseProtseqEp RpcServerUseProtseqEpA RpcServerUseProtseqEpEx RpcServerUseProtseqEpExA RpcServerUseProtseqEx RpcServerUseProtseqExA RpcServerUseProtseqIf RpcServerUseProtseqIfA RpcServerUseProtseqIfEx RpcServerUseProtseqIfExA RpcStringBindingCompose RpcStringBindingComposeA RpcStringBindingParse RpcStringBindingParseA RpcStringFree RpcStringFreeA RpcTryExcept RpcTryFinally RtlCopyMemory RtlEqualMemory RtlFillMemory RtlMoveMemory RtlZeroMemory ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA SearchPath SearchPathA SecureZeroMemory RtlSecureZeroMemory SendDlgItemMessage SendDlgItemMessageA SendMessage SendMessageA SendMessageCallback SendMessageCallbackA SendMessageTimeout SendMessageTimeoutA SendNotifyMessage SendNotifyMessageA SetCalendarInfo SetCalendarInfoA SetClassLong SetClassLongA SetClassLongPtr SetClassLongPtrA SetClassLongPtrA SetClassLongA SetClassLongPtrW SetClassLongW SetComputerName SetComputerNameA SetConsoleTitle SetConsoleTitleA SetCurrentDirectory SetCurrentDirectoryA SetDefaultCommConfig SetDefaultCommConfigA SetDefaultPrinter SetDefaultPrinterA SetDlgItemText SetDlgItemTextA SetEnvironmentStrings SetEnvironmentStringsA SetEnvironmentVariable SetEnvironmentVariableA SetFileAttributes SetFileAttributesA SetFileSecurity SetFileSecurityA SetFileShortName SetFileShortNameA SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableA SetForm SetFormA SetICMProfile SetICMProfileA SetJob SetJobA SetLocaleInfo SetLocaleInfoA SetMenuItemInfo SetMenuItemInfoA SetPort SetPortA SetPrinter SetPrinterA SetPrinterData SetPrinterDataA SetPrinterDataEx SetPrinterDataExA SetProp SetPropA SetSwapAreaSize SetSysModalWindow SetUrlPolicyPermissions SetUserObjectInformation SetUserObjectInformationA SetVolumeLabel SetVolumeLabelA SetWindowLong SetWindowLongA SetWindowLongPtr SetWindowLongPtrA SetWindowLongPtrA SetWindowLongA SetWindowLongPtrW SetWindowLongW SetWindowText SetWindowTextA SetWindowsHook SetWindowsHookA SetWindowsHookEx SetWindowsHookExA ShellAbout ShellAboutA ShellExecute ShellExecuteA ShellExecuteEx ShellExecuteExA ShellMessageBox ShellMessageBoxA Shell_NotifyIcon Shell_NotifyIconA StartDoc StartDocA StartDocPrinter StartDocPrinterA StartService StartServiceA StartServiceCtrlDispatcher StartServiceCtrlDispatcherA StoragePortClassGuid GUID_DEVINTERFACE_STORAGEPORT SystemParametersInfo SystemParametersInfoA TabbedTextOut TabbedTextOutA TapeClassGuid GUID_DEVINTERFACE_TAPE TextOut TextOutA TranslateAccelerator TranslateAcceleratorA UintToPtr UlongToHandle UlongToPtr UnlockResource UnlockSegment UnregisterClass UnregisterClassA UpdateICMRegKey UpdateICMRegKeyA UpdateResource UpdateResourceA UuidFromString UuidFromStringA UuidToString UuidToStringA VarBoolFromInt VarBoolFromI4 VarBoolFromUint VarBoolFromUI4 VarBstrFromInt VarBstrFromI4 VarBstrFromUint VarBstrFromUI4 VarCyFromInt VarCyFromI4 VarCyFromUint VarCyFromUI4 VarDateFromInt VarDateFromI4 VarDateFromUint VarDateFromUI4 VarDecFromInt VarDecFromI4 VarDecFromUint VarDecFromUI4 VarI1FromInt VarI1FromI4 VarI1FromUint VarI1FromUI4 VarI2FromInt VarI2FromI4 VarI2FromUint VarI2FromUI4 VarI4FromI4 VarI4FromInt VarI4FromI4 VarI4FromUint VarI4FromUI4 VarI8FromI8 VarI8FromInt VarI8FromI4 VarI8FromUint VarI8FromUI4 VarIntFromBool VarI4FromBool VarIntFromCy VarI4FromCy VarIntFromDate VarI4FromDate VarIntFromDec VarI4FromDec VarIntFromDisp VarI4FromDisp VarIntFromI1 VarI4FromI1 VarIntFromI2 VarI4FromI2 VarIntFromI4 VarI4FromI4 VarIntFromI8 VarI4FromI8 VarIntFromR4 VarI4FromR4 VarIntFromR8 VarI4FromR8 VarIntFromStr VarI4FromStr VarIntFromUI1 VarI4FromUI1 VarIntFromUI2 VarI4FromUI2 VarIntFromUI4 VarI4FromUI4 VarIntFromUI8 VarI4FromUI8 VarIntFromUint VarI4FromUI4 VarR4FromInt VarR4FromI4 VarR4FromUint VarR4FromUI4 VarR8FromInt VarR8FromI4 VarR8FromUint VarR8FromUI4 VarUI1FromInt VarUI1FromI4 VarUI1FromUint VarUI1FromUI4 VarUI2FromInt VarUI2FromI4 VarUI2FromUint VarUI2FromUI4 VarUI4FromInt VarUI4FromI4 VarUI4FromUI4 VarUI4FromUint VarUI4FromUI4 VarUI8FromUI8 VarUintFromBool VarUI4FromBool VarUintFromCy VarUI4FromCy VarUintFromDate VarUI4FromDate VarUintFromDec VarUI4FromDec VarUintFromDisp VarUI4FromDisp VarUintFromI1 VarUI4FromI1 VarUintFromI2 VarUI4FromI2 VarUintFromI4 VarUI4FromI4 VarUintFromI8 VarUI4FromI8 VarUintFromInt VarUI4FromI4 VarUintFromR4 VarUI4FromR4 VarUintFromR8 VarUI4FromR8 VarUintFromStr VarUI4FromStr VarUintFromUI1 VarUI4FromUI1 VarUintFromUI2 VarUI4FromUI2 VarUintFromUI4 VarUI4FromUI4 VarUintFromUI8 VarUI4FromUI8 VerFindFile VerFindFileA VerInstallFile VerInstallFileA VerLanguageName VerLanguageNameA VerQueryValue VerQueryValueA VerifyVersionInfo VerifyVersionInfoA VkKeyScan VkKeyScanA VkKeyScanEx VkKeyScanExA VolumeClassGuid GUID_DEVINTERFACE_VOLUME WaitNamedPipe WaitNamedPipeA WinExecError WinExecErrorA WinHelp WinHelpA WriteConsole WriteConsoleA WriteConsoleInput WriteConsoleInputA WriteConsoleOutput WriteConsoleOutputA WriteConsoleOutputCharacter WriteConsoleOutputCharacterA WriteOnceDiskClassGuid GUID_DEVINTERFACE_WRITEONCEDISK WritePrivateProfileSection WritePrivateProfileSectionA WritePrivateProfileString WritePrivateProfileStringA WritePrivateProfileStruct WritePrivateProfileStructA WriteProfileSection WriteProfileSectionA WriteProfileString WriteProfileStringA XcvData XcvDataW Yield ZeroMemory RtlZeroMemory windows.h vtkWindows.hKWStyle-master/Documentation/Install/000077500000000000000000000000001265471724600201465ustar00rootroot00000000000000KWStyle-master/Documentation/Install/ITK.kws.xml000066400000000000000000000012161265471724600221220ustar00rootroot00000000000000 81 0,1,2 [A-Z] m_[A-Z] 0 1 1 3 /**, *, */,true
headers/ITKHeader.h,false,true
SPACE,2,true,true itk [NameOfClass],itk __[NameOfClass]_[Extension] 2 1,1
KWStyle-master/Documentation/Install/VTK.kws.xml000066400000000000000000000011141265471724600221340ustar00rootroot00000000000000 81 0,1,2 [A-Z] [A-Z] 0 1 1 3
headers/VTKHeader.h,false,true
SPACE,2,true,true [NameOfClass],vtk __[NameOfClass]_[Extension] 2 1,1
KWStyle-master/Documentation/directories.txt000066400000000000000000000001261265471724600216140ustar00rootroot00000000000000C:\Julien\Workspace\Insight\Code\Common C:\Julien\Workspace\Insight\Code\SpatialObjectKWStyle-master/Documentation/logo-medium.bmp000066400000000000000000035230701265471724600214700ustar00rootroot00000000000000BM86(   ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++**)))))*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,h```x````h``px``h,,,,!!!),,,,,,$!!$,,,,,,,,,,++*)('&&&'()*++,,,,,,,,,,,&!!!$,,,,,,,,$!!$,,,,,,,$!!),,,,,,,&!!!),,,,,,,,,,,,,,!!!!,,,,,,,,,,,,,,,,,,,)!!!&,,,,,,)!!!),,,,,,,,,,,,,,,$!!$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`q@q@8 `h*hh8 q@h8 xP *b8``8 ,,!jo,,,$-/$,,,,,,,,+*)'%$###$%'(*++,,,,,,,,$ g:O,G(H)J*K*K*h:p@OSQNLJIIIKNSY`gouz},,,,,,,,+)&#v|dint !#%')++,,,,,,+*(LPqv"&(*+,,,,,,,,,++*('$!!$'(****(&# !#$$%%%%$$$$%&(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,S55m>rZB& 5SS5 B&Zj_6*5S}yrh^TLH|FHJLMMLKk=C&" 1_6NOLIHHILQW_gouz},,,,,,,+*(%]a @Cpv""##$%')*+,,,,,,+)' .0!%(*+,,,,,,,,$! symsmssy(*++*)'$!x~ JM&( '( 58_d%(''&&&&')*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,J rZX2J*ZjX2|vL6yEzE|FHIyDA% 0m=MJ~G}GHKPW_hpv{~,,,,,,,+*( sy%%&&'(*+,,,,,,+*({!$&)*,,,,,,,, zf^B&_6f~zt;! xDxDyEsB7%o?I}G|F~GKPXajrx|,,,,,,,+*((()**+,,,,,,+*' 14 IL #&(*+,,,,,,,jo {F}xih;xDD'<"I|FzE~GKRZdmuz~,,,,,,,+' "***+++,,,,,,+)!  !#%')+,,,,,,,,,,,hl $(*+,*)& 9<v|x~yyKO+++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`8 Zf'^nB&~{ul=C&wCzEzEHMU^hqx|,,,,,,,+(+++,,,,,,,+*(Y]kp !!#$&(*+,,,,,,,,,,+ $(*++*(  jo&+,,,,,,$[_-/,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`8 r X2v_6N~}yr 7b7q@q@q@T0* d9yD{FJPYcmu{+,,,,,,+ 9< 46&$ n{vzEZ2q|~xq@HNWalu*,,,,,,+af#')+,,,,,,,,,,,,+*(Y]u{#pu'%##$&(*+,,,,,,,,+ 9<&' $(*++ 8: #$%&&&&&&&&&&&&&'()*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`8 J rN 'N~zs. Wy|f<"~GMU`kt*+,,,,,+jp$')+,,,,,,,,,,,,+)'  $' 8;(&$##$')+,,,,,,,,+ 9<&' $(*++OR!"#$$$$$$$$$####$%&(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`-ZZQ.fvQ.}xb#ey|~}O-~GMU`kt*+,,,,,+jp$'*+,,,,,,,,,,,+*(^c"%(&$#"$&(*+,,,,,,,+ 9<&' $(*+#z !#########"! "$')*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`-tB {FV |vb7"kx|~~}yWf:MU`kt*+,,,,,+jp$'*+,,,,,,,,,,,+*' 14#&)+ 9;'%#"#%')+,,,,,,,+ 9<&' $(*+  !"#$$$$$$##"! "&(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`;"f5Q.f{v "iw{~}{ytnH(NWblu*,,,,,,+ 9<$'*+,,,,,,,,,,,+)! =@!%(*+y&$""$&(*+,,,,,,+ 9<&' $(*+$& #$%&&&&&&%$#!!%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`j{Fv{F{X!huz~~}{yvrmf0PYdnv+,,,,,,+ 9<$'*+,,,,,,,,,,+*(X]"&)*,&UY'$""#$')+,,,,,,+ 9<&' $(*+w}%'!$&'(((((('&$" $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`RB&V5|O- Xty}~}|zxvsojdK!R\gpx+,,,,,,+ 9<$'*+,,,,,,,,,,+)&  $')+,,KO#%#!"#&(*+,,,,,+ 9<&' $(*+ %'&(*,.1 25 68 8; 9< 9< 9< 9< 9<V[qwmrgl_c $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`f:~Q.~uRsx|~|{ywuqnje`ZT/"V_jsz+,,,,,,+ 9<$'*+,,,,,,,,,+*(]b!%(*+,,!af&$"!"$')+,,,,,+ 9<&' $(*+! !%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`'^VOc8tx|~~}{zxurolhd_[VL $Zdnv{+,,,,,,+ 9<$'*+,,,,,,,,,+)' 13#&)+,,,, %$"!!#&(*+,,,,+ 9<&' $(*+! ')')*,.0 25 69 9< ;> := "&)*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`bm>_6)3wz|~~}|zxvspmieb^YURN19 `jry},,,,,,,+ 9<$'*+,,,,,,,,+*( ;> $')+,,,,ylr%" !$&)*+,,,+ 9<&' $(*+),.!$&)*++,++) 58 #')+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`R' h s|}~~}|zyvtqnjfc_[WSPMK@$]4fov{~,,,,,,,+ 9<$'*+,,,,,,++*)& IMx~ $')++,,,& $! "%')*+,,+ 9<&' $(*+,/1  "%')****)' 25!%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`bv* B&nxT0 W~}{ywurokgd`\XTQNLJo?Qmtz},,,,,,,+ 9<$'*+,,,,,++*)'#  $&)*++,,+ HL{! #%()++,+ 9<&' $(*+,jo " !#%'(((('%#% $&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`bV_6B&{FNxP*F(~}|zxusolhda]YUROMJHuC=" lsx|~,,,,,,,+ 9<$'*+,,,,,++)(&mrLP #&(*+++++!!$&(*+++ 9<&' $(*+,! #!!!#$%&&&%$#,.#&(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`b_6VNB&fB&hx~}{ywtpmjfb^ZVSPMKI~Gd9-wCrx|~,,,,,++* 8;#')+,,,,++*)'%!#%')*+++*) pu!#%()+++ 9<&' $(*+,,-/%$#"##$$$$##`e%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`Zpn{F  }{yvsokgc_[WTQNKIHl=D'$sx{~,,,++**) 69#&(*******)(&! "#%')*+++*)PT !#%')*++ 9<&' $(*+,,! 8;(&%$$#####""OS()++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`8 RnfB&f~|zvsnjea\XUQNLJHtBL+_y|~,,++*)(' 36!$&(((((((((& @Cu{"#$%&()*+++*)x}###$%&()+++ 9<&' $(*+,,,[_)(&&%$$$##  47()++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`8 f:RNQ._6{Fm>}{xtoje_[WSPMJH}GT/-Jz|~,,+*)(&% 03"#%%%%&&&''"#&&&'()*+++++*) &&&&'()*+++ 9<&' $(*+,,,,[_'*)('&&%%%KO!*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`8 f:Q.NVQ.`5~|zvqlf`[VRNKI~Gd95K{},,+*)'%#-0!!"""##$%%(*%(()))**++,,++% SW(()))*++,+ 9<&' $(*+,,,,,jo#**)(((% CF*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`8 f:h~V~v~|yuoib\VRNKHl=D' T}~,,+*(&%#,/ _ddi+-ektzu{%+++,,,yZ^,.+-tz++++,,+ 9<&' $(*+,,,,,,! JN VZ ++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`8 f: B&v5V|ytng`YSNKxCM,C&u~,,+*)'&$-0!,,,,,, Q.}zunf^WQLq@.]}~~,,++*)'% 02 `dejlrrwu{x~yyyyyyyy&,,,,,,yyyyyyyyyyy,,,,,,+ 9<&' $(*+,,,,,,,,,,[_[_,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`8 f:{Fn{F^~{vog^VPc8N~~}||{|}~,,! (*)' 36 !"#####%&(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<&' $(*+,,,,,,,,,,,,,,!!!,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,hb8f:ff~8 |xri`W{F E'^~}{ywvwxz|~,,"# 69OSW[^bchglhmhmhm&'()*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<%' $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Vf: {Fm>m>~zumdZH(o?o}zwspooruy|~,, 7:))*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<%' $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,R ;"f: Rz Zr  r}xqhR a7g~{vqkgefjouy|,,,![_ :=++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+* 8;%' $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,rm>8 8 8 b8Vnm>8 8 8 8 F({FF(8 8 8 m>rz{FF(8 8 8 8 m>rrm>8 8 8 8 m>r{vnQ  S/W|xrjc][]ahpv{~,,,,,)y,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++*) 68$& $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~zt^ E'O}ztld[USV[dmuz~,,,,,,,(+-hmqvu{yyyy,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*)( 46$% $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~yr")Ow~{vof]TONQXaltz~,,,,,,,+ 9<pv"&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++*(& 24$% $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}xd8n>n~|xqiTVOJKOWaltz~,,,,,,,+ 9<gl"&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*)'% 03%' $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}p 4U~|yskl=J*p?JOXcmu{,,,,,,,+ 9<gl"&(*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*)(& 13')!%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}wC<"f{~~|ytmd l=[fpw|,,,,,,,+ 9<gl"%(*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++*('&( !#&(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}5 Low|~|ytmef:f:^iry},,,,,,,+in!%(*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+**)#$%')*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~Tfow|~{xsmeW Valtz~,,,,,,,+ot"%(*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,$ ej&'()*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,n KYcmu{~~|zwrle]B%,Ydov|,,,,,,,,lr #&(*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Wblu{~,,,,,,,,,&y qtx{~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xT0Q.`wy|~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,H _6un{|}~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xT07fT0S/,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,pb8 S/gh8 8 8 8 `,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,hHT08 *F(q@`,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,KWStyle-master/Documentation/logo-medium.psd000066400000000000000000005072051265471724600214770ustar00rootroot000000000000008BPS r8BIMHH8BIM x8BIM8BIM 8BIM 8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIM8BIM 8BIM@@8BIM8BIMu logo-small 8BIM8BIM8BIM p8PIJFIFHHAdobed            8p"?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?I$VjI$RI$+J5y%az2t~mIpoBI%)$IOI$VjI$RQ*{,cKK?Y2Zƽ!84c߻lej,M-^1r񷋘"r ܧ|~nĢ:U~$scc[Km{ c*pƯ/#Om{[goU.&O.'.Pvā]$Q.RI$I$VjI$R|w9jDIH]99dÜ;p4vXRs\"%azc/$CɖL_{[H=RߤkOeͩ~ͷ @{?خov}~ 5icCM^?=C[jI&)$A/IyKy7^xJ} %$פt+ PKnW;?s/G*% K椒SK椒S8BIM!UAdobe PhotoshopAdobe Photoshop 6.0  """8BIMnorm)( Background8BIMluni Background8BIMlnsrbgnd8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMfxrp] 8BIMnorm(G(style8BIMlfx2tnullScl UntF#Prc@YmasterFXSwitchboolDrShObjcDrSh enabboolMd enumBlnMMltpClr ObjcRGBCRd doubGrn doubBl doubOpctUntF#Prc@HuglgboollaglUntF#Ang@^DstnUntF#Pxl@CkmtUntF#PxlblurUntF#Pxl@NoseUntF#PrcAntAboolTrnSObjcShpCNm TEXTLinearCrv VlLsObjcCrPtHrzndoubVrtcdoubObjcCrPtHrzndoub@oVrtcdoub@o layerConcealsbool8BIMlrFX8BIMcmnS8BIMdsdw3x8BIMmul z8BIMisdw3x8BIMmul 8BIMoglw*8BIMscrn8BIMiglw+8BIMscrn8BIMbevlNx8BIMscrn8BIMmul 8BIMsofi"8BIMnorm8BIMTyShA??@u@l`2TxLrTxt TEXTstyleTxtCObjcnullHrzndoubVrtcdoub textGriddingenum textGriddingNoneOrntenumOrntHrznAntAenumAnntAnSt EngineDatatdta@ << /EngineDict << /Editor << /Text (style ) >> /ParagraphRun << /DefaultRunData << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> /RunArray [ << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> ] /RunLengthArray [ 6 ] /IsJoinable 1 >> /StyleRun << /DefaultRunData << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 120.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> /RunArray [ << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 120.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 80.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 1 >> >> >> << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 62.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 1 >> >> >> ] /RunLengthArray [ 1 1 4 ] /IsJoinable 2 >> /GridInfo << /GridIsOn false /ShowGrid false /GridSize 0.0 /GridLeading 0.0 /GridColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /GridLeadingFillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /AlignLineHeightToGridFlags false >> /AntiAlias 2 /UseFractionalGlyphWidths true /Rendered << /Version 1 /Shapes << /WritingDirection 0 /Children [ << /ShapeType 0 /Procession 0 /Lines << /WritingDirection 0 /Children [ << /Procession 0 /LineTop -119.00391 /Leading 144.0 /WordStarts [ 0 6 ] /CharacterCount 6 /Segments << /WritingDirection 0 /Children [ << /Range [ 0.0 30000.0 ] /Words << /WritingDirection 0 /Children [ << /Type 0 /Base << /CharacterCount 6 /Advance 186.21875 /TrailingAdvance 15.50000 /Leading 144.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 120.0 120.0 ] /FontSize 120.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 0.0 0.0 ] /GlyphMaps [ 86 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 62.40234 0.0 ] >> << /Font 1 /Direction 0 /GlyphDirection 0 /Scale [ 80.0 80.0 ] /FontSize 80.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 62.40234 0.0 ] /GlyphMaps [ 87 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 88.49609 0.0 ] >> << /Font 1 /Direction 0 /GlyphDirection 0 /Scale [ 62.0 62.0 ] /FontSize 62.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 88.49609 0.0 ] /GlyphMaps [ 92 79 72 3 ] /LigatureMaps [ ] /Flags 68 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 186.21875 0.0 ] >> ] >> >> >> ] >> >> ] >> >> ] >> /Cookie << /Photoshop << /ShapeType 0 /PointBase [ 0.0 0.0 ] /Base << /ShapeType 0 /TransformPoint0 [ 1.0 0.0 ] /TransformPoint1 [ 0.0 1.0 ] /TransformPoint2 [ 0.0 0.0 ] >> >> >> >> ] >> >> >> /ResourceDict << /KinsokuSet [ << /Name (PhotoshopKinsokuHard) /NoStart (!\),.:;?]}    0!! 0000 0 0 0000A0C0E0G0I0c000000000000000000000000 =]) /NoEnd (\([{  00 0 0000 ;[) /Keep (  %) /Hanging (,.00) >> << /Name (PhotoshopKinsokuSoft) /NoStart (  0000 0 0 00000000 =]) /NoEnd (  00 0 000;[) /Keep (  %) /Hanging (,.00) >> ] /MojiKumiSet [ << /InternalName (Photoshop6MojiKumiSet1) >> << /InternalName (Photoshop6MojiKumiSet2) >> << /InternalName (Photoshop6MojiKumiSet3) >> << /InternalName (Photoshop6MojiKumiSet4) >> ] /TheNormalStyleSheet 0 /TheNormalParagraphSheet 0 /ParagraphSheetSet [ << /Name (Default) /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> ] /StyleSheetSet [ << /Name (Normal) /StyleSheetData << /FontSize 18.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 27.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 2 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (BookmanOldStyle) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.31982 /Ascent 0.99170 /Descent 0.31787 /CapHeight 0.70399 /DistanceToBaseline 0.99170 /UnderlinePosition 0.12500 /UnderlineThickness 0.06006 /HCJKProporitional false /VProporitional false >> >> << /Name (BookAntiqua) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.03613 /Descent 0.31104 /CapHeight 0.70099 /DistanceToBaseline 1.03613 /UnderlinePosition 0.13086 /UnderlineThickness 0.05811 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> warp warpStyleenum warpStylewarpNone warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrzn8BIMlunistyle8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMfxrp@_AD>BBB8BIMnorm(B( The Source8BIMTyShB??@t@@o@2TxLrTxt TEXT The SourceTxtCObjcnullHrzndoubVrtcdoub textGriddingenum textGriddingNoneOrntenumOrntHrznAntAenumAnntAnSt EngineDatatdta@ << /EngineDict << /Editor << /Text (The Source ) >> /ParagraphRun << /DefaultRunData << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> /RunArray [ << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> ] /RunLengthArray [ 11 ] /IsJoinable 1 >> /StyleRun << /DefaultRunData << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 20.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> /RunArray [ << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 20.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> ] /RunLengthArray [ 11 ] /IsJoinable 2 >> /GridInfo << /GridIsOn false /ShowGrid false /GridSize 0.0 /GridLeading 0.0 /GridColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /GridLeadingFillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /AlignLineHeightToGridFlags false >> /AntiAlias 2 /UseFractionalGlyphWidths true /Rendered << /Version 1 /Shapes << /WritingDirection 0 /Children [ << /ShapeType 0 /Procession 0 /Lines << /WritingDirection 0 /Children [ << /Procession 0 /LineTop -18.43994 /Leading 24.0 /WordStarts [ 0 4 11 ] /CharacterCount 11 /Segments << /WritingDirection 0 /Children [ << /Range [ 0.0 30000.0 ] /Words << /WritingDirection 0 /Children [ << /Type 0 /Base << /CharacterCount 4 /Advance 40.01984 /TrailingAdvance 5.56000 /Leading 24.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 20.0 20.0 ] /FontSize 20.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 0.0 0.0 ] /GlyphMaps [ 52 72 69 0 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 40.01984 0.0 ] >> ] >> >> >> << /Type 0 /Base << /CharacterCount 7 /Advance 68.91968 /TrailingAdvance 5.56000 /Leading 24.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 20.0 20.0 ] /FontSize 20.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 40.01984 0.0 ] /GlyphMaps [ 51 79 85 82 67 69 229 ] /LigatureMaps [ ] /Flags 68 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 108.93951 0.0 ] >> ] >> >> >> ] >> >> ] >> >> ] >> /Cookie << /Photoshop << /ShapeType 0 /PointBase [ 0.0 0.0 ] /Base << /ShapeType 0 /TransformPoint0 [ 1.0 0.0 ] /TransformPoint1 [ 0.0 1.0 ] /TransformPoint2 [ 0.0 0.0 ] >> >> >> >> ] >> >> >> /ResourceDict << /KinsokuSet [ << /Name (PhotoshopKinsokuHard) /NoStart (!\),.:;?]}    0!! 0000 0 0 0000A0C0E0G0I0c000000000000000000000000 =]) /NoEnd (\([{  00 0 0000 ;[) /Keep (  %) /Hanging (,.00) >> << /Name (PhotoshopKinsokuSoft) /NoStart (  0000 0 0 00000000 =]) /NoEnd (  00 0 000;[) /Keep (  %) /Hanging (,.00) >> ] /MojiKumiSet [ << /InternalName (Photoshop6MojiKumiSet1) >> << /InternalName (Photoshop6MojiKumiSet2) >> << /InternalName (Photoshop6MojiKumiSet3) >> << /InternalName (Photoshop6MojiKumiSet4) >> ] /TheNormalStyleSheet 0 /TheNormalParagraphSheet 0 /ParagraphSheetSet [ << /Name (Default) /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> ] /StyleSheetSet [ << /Name (Normal) /StyleSheetData << /FontSize 18.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 27.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 1 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (ArialMT) /Script 0 /FontType 0 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.27800 /Ascent 0.92200 /Descent 0.25000 /CapHeight 0.72800 /DistanceToBaseline 0.92200 /UnderlinePosition 0.09999 /UnderlineThickness 0.04999 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> g 0 /HorizontalScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 2 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (BookmanOldStyle) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.31982 /Ascent 0.99170 /Descent 0.31787 /CapHeight 0.70399 /DistanceToBaseline 0.99170 /UnderlinePosition 0.12500 /UnderlineThickness 0.06006 /HCJKProporitional false /VProporitional false >> >> << /Name (BookAntiqua) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.03613 /Descent 0.31104 /CapHeight 0.70099 /DistanceToBaseline 1.03613 /UnderlinePosition 0.13086 /UnderlineThickness 0.05811 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> warp warpStyleenum warpStylewarpNone warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrzn8BIMluni The Source8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMfxrp@b@(Zvvv8BIMnorm(E(KW8BIMlfx2TnullScl UntF#Prc@YmasterFXSwitchboolFrFXObjcFrFXenabboolStylenumFStlOutFPntTenumFrFlSClrMd enumBlnMNrmlOpctUntF#Prc@YSz UntF#Pxl@Clr ObjcRGBCRd doubGrn doubBl doub8BIMlrFX8BIMcmnS8BIMdsdw3x8BIMmul 8BIMisdw3x8BIMmul 8BIMoglw*8BIMscrn8BIMiglw+8BIMscrn8BIMbevlNx8BIMscrn8BIMmul 8BIMsofi"8BIMnorm8BIMTyShA??@q@l 2TxLrTxt TEXTKWTxtCObjcnullHrzndoubVrtcdoub textGriddingenum textGriddingNoneOrntenumOrntHrznAntAenumAnntAnSt EngineDatatdta@ << /EngineDict << /Editor << /Text (KW ) >> /ParagraphRun << /DefaultRunData << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> /RunArray [ << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> ] /RunLengthArray [ 3 ] /IsJoinable 1 >> /StyleRun << /DefaultRunData << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 40.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> /RunArray [ << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 40.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> ] /RunLengthArray [ 3 ] /IsJoinable 2 >> /GridInfo << /GridIsOn false /ShowGrid false /GridSize 0.0 /GridLeading 0.0 /GridColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /GridLeadingFillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /AlignLineHeightToGridFlags false >> /AntiAlias 2 /UseFractionalGlyphWidths true /Rendered << /Version 1 /Shapes << /WritingDirection 0 /Children [ << /ShapeType 0 /Procession 0 /Lines << /WritingDirection 0 /Children [ << /Procession 0 /LineTop -36.87988 /Leading 48.0 /WordStarts [ 0 3 ] /CharacterCount 3 /Segments << /WritingDirection 0 /Children [ << /Range [ 0.0 30000.0 ] /Words << /WritingDirection 0 /Children [ << /Type 0 /Base << /CharacterCount 3 /Advance 75.55908 /TrailingAdvance 11.12000 /Leading 48.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 40.0 40.0 ] /FontSize 40.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 0.0 0.0 ] /GlyphMaps [ 43 55 229 ] /LigatureMaps [ ] /Flags 68 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 75.55908 0.0 ] >> ] >> >> >> ] >> >> ] >> >> ] >> /Cookie << /Photoshop << /ShapeType 0 /PointBase [ 0.0 0.0 ] /Base << /ShapeType 0 /TransformPoint0 [ 1.0 0.0 ] /TransformPoint1 [ 0.0 1.0 ] /TransformPoint2 [ 0.0 0.0 ] >> >> >> >> ] >> >> >> /ResourceDict << /KinsokuSet [ << /Name (PhotoshopKinsokuHard) /NoStart (!\),.:;?]}    0!! 0000 0 0 0000A0C0E0G0I0c000000000000000000000000 =]) /NoEnd (\([{  00 0 0000 ;[) /Keep (  %) /Hanging (,.00) >> << /Name (PhotoshopKinsokuSoft) /NoStart (  0000 0 0 00000000 =]) /NoEnd (  00 0 000;[) /Keep (  %) /Hanging (,.00) >> ] /MojiKumiSet [ << /InternalName (Photoshop6MojiKumiSet1) >> << /InternalName (Photoshop6MojiKumiSet2) >> << /InternalName (Photoshop6MojiKumiSet3) >> << /InternalName (Photoshop6MojiKumiSet4) >> ] /TheNormalStyleSheet 0 /TheNormalParagraphSheet 0 /ParagraphSheetSet [ << /Name (Default) /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> ] /StyleSheetSet [ << /Name (Normal) /StyleSheetData << /FontSize 18.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 27.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 1 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (ArialMT) /Script 0 /FontType 0 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.27800 /Ascent 0.92200 /Descent 0.25000 /CapHeight 0.72800 /DistanceToBaseline 0.92200 /UnderlinePosition 0.09999 /UnderlineThickness 0.04999 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.27800 /Ascent 0.92200 /Descent 0.25000 /CapHeight 0.72800 /DistanceToBaseline 0.92200 /UnderlinePosition 0.09999 /UnderlineThickness 0.04999 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> g 0 /HorizontalScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 2 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (BookmanOldStyle) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.31982 /Ascent 0.99170 /Descent 0.31787 /CapHeight 0.70399 /DistanceToBaseline 0.99170 /UnderlinePosition 0.12500 /UnderlineThickness 0.06006 /HCJKProporitional false /VProporitional false >> >> << /Name (BookAntiqua) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.03613 /Descent 0.31104 /CapHeight 0.70099 /DistanceToBaseline 1.03613 /UnderlinePosition 0.13086 /UnderlineThickness 0.05811 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> warp warpStyleenum warpStylewarpNone warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrzn8BIMluniKW8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMfxrp@^@L8BIMnorm(B(Layer 18BIMTyShA??@s`@g@2TxLrTxt TEXTTxtCObjcnullHrzndoubVrtcdoub textGriddingenum textGriddingNoneOrntenumOrntHrznAntAenumAnntAnSt EngineDatatdta@ << /EngineDict << /Editor << /Text ( ) >> /ParagraphRun << /DefaultRunData << /ParagraphSheet << /DefaultStyleSheet 1 /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> /RunArray [ << /ParagraphSheet << /DefaultStyleSheet 1 /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> ] /RunLengthArray [ 1 ] /IsJoinable 1 >> /StyleRun << /DefaultRunData << /StyleSheet << /StyleSheetData << /AutoKerning true /Font 0 /FontSize 40.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Kerning 0 >> >> >> /RunArray [ << /StyleSheet << /StyleSheetData << /AutoKerning true /Font 0 /FontSize 40.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Kerning 0 >> >> >> ] /RunLengthArray [ 1 ] /IsJoinable 2 >> /GridInfo << /GridIsOn false /ShowGrid false /GridSize 0.0 /GridLeading 0.0 /GridColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /GridLeadingFillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /AlignLineHeightToGridFlags false >> /AntiAlias 2 /UseFractionalGlyphWidths true /Rendered << /Version 1 /Shapes << /WritingDirection 0 /Children [ << /ShapeType 1 /Procession 0 /Lines << /WritingDirection 0 /Children [ << /Procession 0 /LineTop 0.0 /Leading 48.0 /RomanBaseline 36.87988 /WordStarts [ 0 1 ] /CharacterCount 1 /Segments << /WritingDirection 0 /Children [ << /Range [ 0.0 19.0 ] /Words << /WritingDirection 0 /Children [ << /Type 0 /Base << /CharacterCount 1 /Advance 11.12000 /TrailingAdvance 11.12000 /Leading 48.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 40.0 40.0 ] /FontSize 40.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 0.0 36.87988 ] /GlyphMaps [ 229 ] /LigatureMaps [ ] /Flags 68 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 11.12000 36.87988 ] >> ] >> >> >> ] >> >> ] >> >> ] >> /Cookie << /Photoshop << /ShapeType 1 /BoxBounds [ 0.0 0.0 19.0 3.0 ] /Base << /ShapeType 1 /TransformPoint0 [ 1.0 0.0 ] /TransformPoint1 [ 0.0 1.0 ] /TransformPoint2 [ 0.0 0.0 ] >> >> >> >> ] >> >> >> /ResourceDict << /KinsokuSet [ << /Name (PhotoshopKinsokuHard) /NoStart (!\),.:;?]}    0!! 0000 0 0 0000A0C0E0G0I0c000000000000000000000000 =]) /NoEnd (\([{  00 0 0000 ;[) /Keep (  %) /Hanging (,.00) >> << /Name (PhotoshopKinsokuSoft) /NoStart (  0000 0 0 00000000 =]) /NoEnd (  00 0 000;[) /Keep (  %) /Hanging (,.00) >> ] /MojiKumiSet [ << /InternalName (Photoshop6MojiKumiSet1) >> << /InternalName (Photoshop6MojiKumiSet2) >> << /InternalName (Photoshop6MojiKumiSet3) >> << /InternalName (Photoshop6MojiKumiSet4) >> ] /TheNormalStyleSheet 0 /TheNormalParagraphSheet 0 /ParagraphSheetSet [ << /Name (Default) /DefaultStyleSheet 0 /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> ] /StyleSheetSet [ << /Name (Normal) /StyleSheetData << /Font 1 /FontSize 18.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 27.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (ArialMT) /Script 0 /FontType 0 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.27800 /Ascent 0.92200 /Descent 0.25000 /CapHeight 0.72800 /DistanceToBaseline 0.92200 /UnderlinePosition 0.09999 /UnderlineThickness 0.04999 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> /DistanceToBaseline 0.92200 /UnderlinePosition 0.09999 /UnderlineThickness 0.04999 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> g 0 /HorizontalScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 2 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (BookmanOldStyle) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.31982 /Ascent 0.99170 /Descent 0.31787 /CapHeight 0.70399 /DistanceToBaseline 0.99170 /UnderlinePosition 0.12500 /UnderlineThickness 0.06006 /HCJKProporitional false /VProporitional false >> >> << /Name (BookAntiqua) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.03613 /Descent 0.31104 /CapHeight 0.70099 /DistanceToBaseline 1.03613 /UnderlinePosition 0.13086 /UnderlineThickness 0.05811 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> warp warpStyleenum warpStylewarpNone warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrzn8BIMluniLayer 18BIMlnsrlayr8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMfxrpGsBBB8BIMnorm(C( Code Checker8BIMTyShB??@|p@o@2TxLrTxt TEXT Code CheckerTxtCObjcnullHrzndoubVrtcdoub textGriddingenum textGriddingNoneOrntenumOrntHrznAntAenumAnntAnSt EngineDatatdta@ << /EngineDict << /Editor << /Text (Code Checker ) >> /ParagraphRun << /DefaultRunData << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> /RunArray [ << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> ] /RunLengthArray [ 13 ] /IsJoinable 1 >> /StyleRun << /DefaultRunData << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 20.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> /RunArray [ << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 20.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> ] /RunLengthArray [ 13 ] /IsJoinable 2 >> /GridInfo << /GridIsOn false /ShowGrid false /GridSize 0.0 /GridLeading 0.0 /GridColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /GridLeadingFillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /AlignLineHeightToGridFlags false >> /AntiAlias 2 /UseFractionalGlyphWidths true /Rendered << /Version 1 /Shapes << /WritingDirection 0 /Children [ << /ShapeType 0 /Procession 0 /Lines << /WritingDirection 0 /Children [ << /Procession 0 /LineTop -18.43994 /Leading 24.0 /WordStarts [ 0 5 13 ] /CharacterCount 13 /Segments << /WritingDirection 0 /Children [ << /Range [ 0.0 30000.0 ] /Words << /WritingDirection 0 /Children [ << /Type 0 /Base << /CharacterCount 5 /Advance 53.35968 /TrailingAdvance 5.56000 /Leading 24.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 20.0 20.0 ] /FontSize 20.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 0.0 0.0 ] /GlyphMaps [ 35 79 68 69 0 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 53.35968 0.0 ] >> ] >> >> >> << /Type 0 /Base << /CharacterCount 8 /Advance 79.21997 /TrailingAdvance 5.56000 /Leading 24.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 20.0 20.0 ] /FontSize 20.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 53.35968 0.0 ] /GlyphMaps [ 35 72 69 67 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 100.03937 0.0 ] >> << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 20.0 20.0 ] /FontSize 20.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 99.63959 0.0 ] /GlyphMaps [ 75 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 109.63959 0.0 ] >> << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 20.0 20.0 ] /FontSize 20.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 109.23981 0.0 ] /GlyphMaps [ 69 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 120.35980 0.0 ] >> << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 20.0 20.0 ] /FontSize 20.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 120.35980 0.0 ] /GlyphMaps [ 82 229 ] /LigatureMaps [ ] /Flags 68 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 132.57965 0.0 ] >> ] >> >> >> ] >> >> ] >> >> ] >> /Cookie << /Photoshop << /ShapeType 0 /PointBase [ 0.0 0.0 ] /Base << /ShapeType 0 /TransformPoint0 [ 1.0 0.0 ] /TransformPoint1 [ 0.0 1.0 ] /TransformPoint2 [ 0.0 0.0 ] >> >> >> >> ] >> >> >> /ResourceDict << /KinsokuSet [ << /Name (PhotoshopKinsokuHard) /NoStart (!\),.:;?]}    0!! 0000 0 0 0000A0C0E0G0I0c000000000000000000000000 =]) /NoEnd (\([{  00 0 0000 ;[) /Keep (  %) /Hanging (,.00) >> << /Name (PhotoshopKinsokuSoft) /NoStart (  0000 0 0 00000000 =]) /NoEnd (  00 0 000;[) /Keep (  %) /Hanging (,.00) >> ] /MojiKumiSet [ << /InternalName (Photoshop6MojiKumiSet1) >> << /InternalName (Photoshop6MojiKumiSet2) >> << /InternalName (Photoshop6MojiKumiSet3) >> << /InternalName (Photoshop6MojiKumiSet4) >> ] /TheNormalStyleSheet 0 /TheNormalParagraphSheet 0 /ParagraphSheetSet [ << /Name (Default) /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> ] /StyleSheetSet [ << /Name (Normal) /StyleSheetData << /FontSize 18.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 27.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 1 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (ArialMT) /Script 0 /FontType 0 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.27800 /Ascent 0.92200 /Descent 0.25000 /CapHeight 0.72800 /DistanceToBaseline 0.92200 /UnderlinePosition 0.09999 /UnderlineThickness 0.04999 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> c 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.03613 /Descent 0.31104 /CapHeight 0.70099 /DistanceToBaseline 1.03613 /UnderlinePosition 0.13086 /UnderlineThickness 0.05811 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> warp warpStyleenum warpStylewarpNone warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrzn8BIMluni Code Checker8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMfxrp@l (뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"% !"!%%!  %64J?9;8<=@;;<5A77:96988AF9><:;  0pа@ 00@0p 0pp0@PPP@`p``0 0  p@@ @p@@P` P@0@@`P@p @@P`p @ @`0 `@0P 0@  @P@`@@ @ `PP`@@`@ pP А Ѐ`@`@@P`0` 0`P` 0`0`@`@ p@@000` ``0`p`@ P 0`0p@  `@@p`p@@00 `@ @@ p @P@0@@  @`p``0 @0@p`PP0` p p@``@0P```0 00 Pp ppp`00 p0 PP0`0`P `P@Pp` ``0`p`0@@00`0@pP@ @0@0`p `0`@`@` `0Ѐ0`00p0VK\XR@IU\]S)`@@ pp `` `@P`@@`@  0  `` @P0@p@p @``@`@@@ 0@p@p p0 Pp0@@@` `` @p@p `@@@ p p@0p@` P@@@ `@@@ 0@@@@@@`0@@@@`@@P0p0@p@`@@@000@`0@@0`0p@@@@@ @ p` 0А0``@@0Pp ``@@0000`А@@@000@@0@@ @@0@0@@0 %&%(,,-.///+,/,,+.**))& !! !0`0 @`0p p@@`0p`@`00P@`00P@`0`@p@@``pp@`  0@` `p@`P`@0@`Pp`@`@ @`0`@@`p@ 0@0@ p@@ p`@``P @`p00p@00p p0@@0pP`@p0@P`  `@0 PpP@P0@@ @P@@``@0 @pp%%.,lcjg\S_lvwk;` @@@P ``00@ `P@@0p@@p@ p 0@` @Pp@00 p `` ``@ 0 @p@ p p ```0  @00@@@pp@ p @`7@@`@ @0`@0pPp`PPp @ P@0``0@@`@@@P@@@@`@@@@@p@@  @ ` @@@``pPPp@`@@`P0@ p0@`0`000p@``@p0 p@p p-0𰀠` ```p@p Ѐ@PpP@@@0``0@00@``@ p00 @00@@00@@ @@@ @0@@08BIMPatt %+,-125555502.7CUTkrtwutpsqqo[olklihecdZ\X^YZtttsppjbs_JNi"$#""%-,6<FFJPVVSSSVWWWVylvmf"$%""%-,6=CDJOPNNQQTUUUU|sku~yjofO?_\vnߏ/dᅬ_[_r?tνjn<l(<l3)<l3'<v4%-mv{6%8&_=;':<'#9S[bhlm<'6<'2djrw{~<'__0?<'./di -kz{^. -z<'NZ0* W<'o F3<'_ O6C{ }<'_ ɻ79ݞ!T< ' ;S; u< '/ ȝe<rP< ' ¿.< L< 'o Ǽ% <M~ ¶< '15<>rŻ<'.8<3 Ž<' )),059<>?>=<bf<' < O<' '(,158;<[wrlc<]Y<'}'ñ<@<'&˿p4;<' Žpc<'p ;<'Rf]{Ȳu< ':J*O< 'v4 S< ' Oo < 'p6<6Ϊ? $ ''/_] p  o_/  lܢ <|~O4 Lo?? 4dФ y ? 8Ƴf<ضa Cv 0ξyssyҿ~M( (8dɵ|itPv+¯ͼ)%̾̽ͼv,Ƚ [ ,ýɿ n˼! ¼ Xo?O??o<o//??_o ?o?/?_??o??/_/o??o_?O??_ O??O?O O?O? o???_.~^/_//// /?_o?ߟ/__O?o6?_//_o/?oO_//OO/O__Oo_?o _???__.7?_O??/____?tois??__???Ⱦ?ooo?O?/????/?/O___???_O_?/?_//oo?O?OOO?/ɾ,O_////Ooo///_?_Ooo????/o/????O_o?o?/ϿϿϿϿϽ 뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁hH0 (@`뀗󁀁p8/gh `󁀁x0f0/󁀁H6un{|}~󁀁x0.`wy|~󁀁x>qtx{~󁀁 3GVTSSRM=$ hnty|󁀁0Wblu{~y<󁀁(HGHJMRW\`cfghhgec_\XTQID^jsy~[W󁀁FGINTZ`fjnpqrqqomjgc^YTK$[fpx}p󁀁pFHMS[cjosvwxyyxwusplhc]WMXcnv{iՈ-󁀁_GKQYbjqvz{}}~}}|{zxuqlg`ZIJ`ktz~`䶈[󁀁_ 6MU_iqw{~~|zxtojc\:4]hqx}V[󁀁n KYcmu{~~|zwrle]%Ydov|l<󁀁~Tfow|~{xsmeW Valtz~oĴe󁀁} Low|~|ytme::^iry}i󁀁}C"f{~~|ytmd =[fpw|9g&󁀁}pU~|ysk=*?JOXcmu{9g1'󁀁}x8>n~|xqiTVOJKOWaltz~9g0%󁀁~yrOw~{vof]TONQXaltz~9p2$󁀁~zt^'O}ztld[USV[dmuz~+hquy4$󁀁r> 8Vn> (F( >rzF( >rr> >r{vnQ/W|xrjc][]ahpv{~y6$󁀁R":Rz Zr r}xqhR7g~{vqkgefjouy|[:8%󁀁V:F>>~zumdZ(?o}zwspooruy|~79%󁀁h8:ff~ |xri`WF'^~}{ywvwxz|~"6OW^cgh9%󁀁` :FnF^ ~{vog^VP8 N~~}||{|}~39&󁀁` :&F>. }zunf^WQL@]}~~0`elruxyy9&[[󁀁` :&vV |ytng`YSNKC,&u~-<9&,󁀁` :h~V~v~|yuoib\VRNKH='T}~ʿ,_d +etuyZ, +t9&JV 󁀁` :.NV.`~|zvqlf`[VRNKIG9K{}-( S9&j C󁀁` :RN.6F>}{xtoje_[WSPMJHG/Jz|~0ؽ 9&[ K󁀁` Rnf&f~|zvsnjea\XUQNLJHB+_y|~3@u x9&[ 4󁀁`ZpnF}{yvsokgc_[WTQNKIH='sx{~6ӗP9 & 8O󁀁`b6VN&f&hx~}{ywtpmjfb^ZVSPMKIG9Crx|~8 p9 &- ÿ`󁀁`bV6&FNxP(~}|zxusolhda]YUROMJHC" lsx|~9mL9 & ,󁀁`bv&nx0W~}{ywurokgd`\XTQNLJ?Qmtz}9׽ H{9 &j # 󁀁`Rhs|}~~}|zyvtqnjfc_[WSPMK$4fov{~9Ix ɹ9 &/2󁀁`b>6wz|~ ~}|zxvspmieb^YURN `jry}9޵;ylʼ9&,5󁀁`^VO8tx|~~}{zxurolhd_[VL Zdnv{91  ȼ9& ''*.269;<;: 󁀁`:~.~uRsx|~|{ywuqnje`Z/V_jsz9ހ]aĺ9& 󁀁`R&V|-Xty}~}|zxvsojdKR\gpx9 K9& %&*.2689Vqmg_󁀁`jFvF{Xhuz~~}{yvrmfPYdnv9XUɾ9&w%Ⱥ󁀁`"f.f{v iw{~}{ytn(NWblu9=yĽ9&$󁀁`BFV|v7kx|~~}yW:MU`ktj199&󁀁`ZZ.fv.}xbey|~}-GMU`ktj߂^ޑȿ9&z󁀁` J rNN~zsWy|f"GMU`ktj 8Ŀ9&O󁀁` *n.>n{vE2q|~x @HNWaluaYup9 &8󁀁` bJNf}xqK|~p &EIOYdnvF)K9 &p󁀁` RZ6v6~zt(M}P CFKR[fpx1 O9 & 󁀁` *zV&^|wZ.VwxP @DGMU_jsyLj߂ 9 &j4󁀁` r 2v6N~}yr 7@0 9DFJPYcmu{94ġ< " &%-[󁀁` Zf^n&~{u=& CEEHMU^hqx|Y k ܦ  j[-󁀁` :H>F}xi;D' "IFEGKRZdmuz~  hҚ 9vxyyK󁀁~>zf^&6f~zt! DDEB?IGFGKPXajrx|1 Ij<< 2_Ɯ󁀁J rZ2*Zj2|vLEEFHID% =MJGGHKPW_hpv{~ۊ s߂ {< 5Ͻa:󁀁S>rZ&SS&Zj6S}yrh^TLHFHJLMMLK=& 6NOLIHHILQW_gouz}έ] @p .ĵsmmsȶxJ& '5_󁀁~{ulbXPLKLOSTTRPMLKK>:,()*:@OSQNLJI KNSY`gouz}vdnLq+ȹó󁀁|wph^VRQSW[^][XSPNLLKLLMNNMLKJJKLNRV\biouy}~ɷ'%µ´󁀁~ztmd]YY[_dggea]XTRONMLLMNPSV[`fkqvz}~óp,ɿĸ󁀁|xrkfcbdhmppokgb^ZWUSQPPOOPQRTVY\`ejotw{}÷ W ,󁀁~{wsommnquwwvtpmieb_][YXWXYZ\^`dgkosvy|~ɿ i!½󁀁}{xvuxz||{zxuromjhfdcbcdegiknqtvy{}~ ƹ󁀁~|{zz{|}~~|{ywusrponmn oqrtvxz|}~ TȽ󁀁P@`@`~ pH0'Fl{zyxwvuvwxyz|}~ȿj#SW"%$$$&(* ++X\ #%_d 8; := := ;> A 24#&)*,,, 68&&'(*+,,,,,,,,,,,,,,,,,,,+ :=))**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xqt|xqqvxqt|xqqxxqv~w RVX\`####"! SW!$')+,,, 8;)()**+,,,,,,,,,,,,,,,,,,,)**+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`m>^ZY[]!!!!! #%(*+,,, :=***++,,,,,,,,,,,,,,,,,,!+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,x^ea^^^ !!!!!# #%')*,,,, ;>++++,,,,,,,,,,,,,,,,,,,)![_y,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,e9njfdc"""" #%KO&')*+,,,,y,,,,,,,,,,,,,,,,,,,,,,,,,,,,!$,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,P fromk%$$ ()*++,,,,,)yKO,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,F(Kgus y'**++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,x8  ;>+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@ ,.!x~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,xH8 [_,,&yy&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,KWStyle-master/Documentation/logo-small.psd000066400000000000000000003776231265471724600213400ustar00rootroot000000000000008BPS 8BIMHH8BIM x8BIM8BIM 8BIM 8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIM8BIM 8BIM@@8BIM8BIMu logo-small 8BIM8BIM 8BIM p8PIJFIFHHAdobed            8p"?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?I$VjI$RI$+J5y%az2t~mIpoBI%)$IOI$VjI$RI$+J5y}ccdqMtjri,k*屬}n]zU_.!03*v2 cOLz7SF1%pp"s{7lipr17RI$TI$I$VjI$RI$jݤ$~-^~+^-y>nֻu~ѻפt+ PbG/ʐk4p- ?l3JI. ȝ>oAJI$JI$IyKy7^xJ} %$פt+ PKnW;?s/G*% K椒SK椒S8BIM!UAdobe PhotoshopAdobe Photoshop 6.0ww """8BIMnorm)( Background8BIMluni Background8BIMlnsrbgnd8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMfxrp\8BIMnorm(G(style8BIMlfx2tnullScl UntF#Prc@YmasterFXSwitchboolDrShObjcDrSh enabboolMd enumBlnMMltpClr ObjcRGBCRd doubGrn doubBl doubOpctUntF#Prc@HuglgboollaglUntF#Ang@^DstnUntF#Pxl@CkmtUntF#PxlblurUntF#Pxl@NoseUntF#PrcAntAboolTrnSObjcShpCNm TEXTLinearCrv VlLsObjcCrPtHrzndoubVrtcdoubObjcCrPtHrzndoub@oVrtcdoub@o layerConcealsbool8BIMlrFX8BIMcmnS8BIMdsdw3x8BIMmul z8BIMisdw3x8BIMmul 8BIMoglw*8BIMscrn8BIMiglw+8BIMscrn8BIMbevlNx8BIMscrn8BIMmul 8BIMsofi"8BIMnorm8BIMTyShA??@xp@l@2TxLrTxt TEXTstyleTxtCObjcnullHrzndoubVrtcdoub textGriddingenum textGriddingNoneOrntenumOrntHrznAntAenumAnntAnSt EngineDatatdta@ << /EngineDict << /Editor << /Text (style ) >> /ParagraphRun << /DefaultRunData << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> /RunArray [ << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> ] /RunLengthArray [ 6 ] /IsJoinable 1 >> /StyleRun << /DefaultRunData << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 60.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> /RunArray [ << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 60.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 40.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 1 >> >> >> << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 32.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 1 >> >> >> ] /RunLengthArray [ 1 1 4 ] /IsJoinable 2 >> /GridInfo << /GridIsOn false /ShowGrid false /GridSize 0.0 /GridLeading 0.0 /GridColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /GridLeadingFillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /AlignLineHeightToGridFlags false >> /AntiAlias 2 /UseFractionalGlyphWidths true /Rendered << /Version 1 /Shapes << /WritingDirection 0 /Children [ << /ShapeType 0 /Procession 0 /Lines << /WritingDirection 0 /Children [ << /Procession 0 /LineTop -59.50195 /Leading 72.0 /WordStarts [ 0 6 ] /CharacterCount 6 /Segments << /WritingDirection 0 /Children [ << /Range [ 0.0 30000.0 ] /Words << /WritingDirection 0 /Children [ << /Type 0 /Base << /CharacterCount 6 /Advance 94.68555 /TrailingAdvance 8.0 /Leading 72.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 60.0 60.0 ] /FontSize 60.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 0.0 0.0 ] /GlyphMaps [ 86 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 31.20117 0.0 ] >> << /Font 1 /Direction 0 /GlyphDirection 0 /Scale [ 40.0 40.0 ] /FontSize 40.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 31.20117 0.0 ] /GlyphMaps [ 87 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 44.24805 0.0 ] >> << /Font 1 /Direction 0 /GlyphDirection 0 /Scale [ 32.0 32.0 ] /FontSize 32.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 44.24805 0.0 ] /GlyphMaps [ 92 79 72 3 ] /LigatureMaps [ ] /Flags 68 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 94.68555 0.0 ] >> ] >> >> >> ] >> >> ] >> >> ] >> /Cookie << /Photoshop << /ShapeType 0 /PointBase [ 0.0 0.0 ] /Base << /ShapeType 0 /TransformPoint0 [ 1.0 0.0 ] /TransformPoint1 [ 0.0 1.0 ] /TransformPoint2 [ 0.0 0.0 ] >> >> >> >> ] >> >> >> /ResourceDict << /KinsokuSet [ << /Name (PhotoshopKinsokuHard) /NoStart (!\),.:;?]}    0!! 0000 0 0 0000A0C0E0G0I0c000000000000000000000000 =]) /NoEnd (\([{  00 0 0000 ;[) /Keep (  %) /Hanging (,.00) >> << /Name (PhotoshopKinsokuSoft) /NoStart (  0000 0 0 00000000 =]) /NoEnd (  00 0 000;[) /Keep (  %) /Hanging (,.00) >> ] /MojiKumiSet [ << /InternalName (Photoshop6MojiKumiSet1) >> << /InternalName (Photoshop6MojiKumiSet2) >> << /InternalName (Photoshop6MojiKumiSet3) >> << /InternalName (Photoshop6MojiKumiSet4) >> ] /TheNormalStyleSheet 0 /TheNormalParagraphSheet 0 /ParagraphSheetSet [ << /Name (Default) /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> ] /StyleSheetSet [ << /Name (Normal) /StyleSheetData << /FontSize 18.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 27.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 2 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (BookmanOldStyle) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.31982 /Ascent 0.99170 /Descent 0.31787 /CapHeight 0.70399 /DistanceToBaseline 0.99170 /UnderlinePosition 0.12500 /UnderlineThickness 0.06006 /HCJKProporitional false /VProporitional false >> >> << /Name (BookAntiqua) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.03613 /Descent 0.31104 /CapHeight 0.70099 /DistanceToBaseline 1.03613 /UnderlinePosition 0.13086 /UnderlineThickness 0.05811 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> n9jb?-Vk!AJmBt> nDh2p\F&@@@y@ndYO@E:0%@@@@ @ t j ` U@ K @ 6 ,@ !   @    @   @@{pf[@QG<2@'@@@@vlb@WMB8@.#@@@@}rh@]SI>@4)@ @ @   !@!!!x"n@"d"Y"O#D@#:#0#%$@$$$%@%%%&@&&&'@'''(t@(j(_(U)K@)@)6)+*!@** *+ @+ + + , @, , , - @- - - .z @.p .f .[ /Q @/F /< /2 0' @0 0 0 1 @1 1 1 2 @2 2 2 3 @3 3 3 4 @4v 4l 4a 5W @5M 5B 58 6- @6# 6 6 7 @7 7 7 8 @8 8 8 9 @9 9 9 : @:| :r :h ;] @;S ;H ;> <4 @<) < < = @= = = > @> > > ? @? ? ? @ @@ @x @n Ac @AY AO AD B: @B/ B% B C @C C C D @D D D E @E E E F @F F~ Ft Gj @G_ GU GJ H@ @H6 H+ H! I @I I IJ@JJJK@KKKL@LLLzMp@MeM[MQNF@N<N1N'O@OOOP@PPPQ@QQQR@RRRSv@SlSaSWTL@TBT8T-U#@UUUV@VVVW@WWWX@XXXY|@YrYgY]ZS@ZHZ>Z3[)@[[[ \@\\\]@]]]^@^^^_@_x_n_c`Y@`N`D`:a/@a%aab@bbbc@cccd@ddde@e~eteif_@fUfJf@g5@g+g!gh @hhhi@iiij@jjjk@kkzkple@l[lPlFm<@m1m'mn@nnno@ooop@pppq@qqqvrk@rarWrLsB@s7s-s#t@tttu@uuuv@vvvw@www|xr@xgx]xRyH@y>y3y)z@zz z{@{{{|@|||}@}}}~x@~m~c~YN@D{ p%++++++++++++++++++++++++++++++++++++++++++++++++++++++++s0C@Wwarp warpStyleenum warpStylewarpNone warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrzn8BIMlunistyle8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMfxrp@eA~&&&8BIMnorm(B( The Source8BIMTyShB??@w@n 2TxLrTxt TEXT The SourceTxtCObjcnullHrzndoubVrtcdoub textGriddingenum textGriddingNoneOrntenumOrntHrznAntAenumAnntAnSt EngineDatatdta@ << /EngineDict << /Editor << /Text (The Source ) >> /ParagraphRun << /DefaultRunData << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> /RunArray [ << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> ] /RunLengthArray [ 11 ] /IsJoinable 1 >> /StyleRun << /DefaultRunData << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 10.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> /RunArray [ << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 10.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> ] /RunLengthArray [ 11 ] /IsJoinable 2 >> /GridInfo << /GridIsOn false /ShowGrid false /GridSize 0.0 /GridLeading 0.0 /GridColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /GridLeadingFillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /AlignLineHeightToGridFlags false >> /AntiAlias 2 /UseFractionalGlyphWidths true /Rendered << /Version 1 /Shapes << /WritingDirection 0 /Children [ << /ShapeType 0 /Procession 0 /Lines << /WritingDirection 0 /Children [ << /Procession 0 /LineTop -9.21997 /Leading 12.0 /WordStarts [ 0 4 11 ] /CharacterCount 11 /Segments << /WritingDirection 0 /Children [ << /Range [ 0.0 30000.0 ] /Words << /WritingDirection 0 /Children [ << /Type 0 /Base << /CharacterCount 4 /Advance 20.00992 /TrailingAdvance 2.78000 /Leading 12.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 10.0 10.0 ] /FontSize 10.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 0.0 0.0 ] /GlyphMaps [ 52 72 69 0 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 20.00992 0.0 ] >> ] >> >> >> << /Type 0 /Base << /CharacterCount 7 /Advance 34.45984 /TrailingAdvance 2.78000 /Leading 12.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 10.0 10.0 ] /FontSize 10.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 20.00992 0.0 ] /GlyphMaps [ 51 79 85 82 67 69 229 ] /LigatureMaps [ ] /Flags 68 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 54.46976 0.0 ] >> ] >> >> >> ] >> >> ] >> >> ] >> /Cookie << /Photoshop << /ShapeType 0 /PointBase [ 0.0 0.0 ] /Base << /ShapeType 0 /TransformPoint0 [ 1.0 0.0 ] /TransformPoint1 [ 0.0 1.0 ] /TransformPoint2 [ 0.0 0.0 ] >> >> >> >> ] >> >> >> /ResourceDict << /KinsokuSet [ << /Name (PhotoshopKinsokuHard) /NoStart (!\),.:;?]}    0!! 0000 0 0 0000A0C0E0G0I0c000000000000000000000000 =]) /NoEnd (\([{  00 0 0000 ;[) /Keep (  %) /Hanging (,.00) >> << /Name (PhotoshopKinsokuSoft) /NoStart (  0000 0 0 00000000 =]) /NoEnd (  00 0 000;[) /Keep (  %) /Hanging (,.00) >> ] /MojiKumiSet [ << /InternalName (Photoshop6MojiKumiSet1) >> << /InternalName (Photoshop6MojiKumiSet2) >> << /InternalName (Photoshop6MojiKumiSet3) >> << /InternalName (Photoshop6MojiKumiSet4) >> ] /TheNormalStyleSheet 0 /TheNormalParagraphSheet 0 /ParagraphSheetSet [ << /Name (Default) /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> ] /StyleSheetSet [ << /Name (Normal) /StyleSheetData << /FontSize 18.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 27.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 1 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (ArialMT) /Script 0 /FontType 0 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.27800 /Ascent 0.92200 /Descent 0.25000 /CapHeight 0.72800 /DistanceToBaseline 0.92200 /UnderlinePosition 0.09999 /UnderlineThickness 0.04999 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> alScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 2 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (BookmanOldStyle) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.31982 /Ascent 0.99170 /Descent 0.31787 /CapHeight 0.70399 /DistanceToBaseline 0.99170 /UnderlinePosition 0.12500 /UnderlineThickness 0.06006 /HCJKProporitional false /VProporitional false >> >> << /Name (BookAntiqua) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.03613 /Descent 0.31104 /CapHeight 0.70099 /DistanceToBaseline 1.03613 /UnderlinePosition 0.13086 /UnderlineThickness 0.05811 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> n9jb?-Vk!AJmBt> nDh2p\F&@@@y@ndYO@E:0%@@@@ @ t j ` U@ K @ 6 ,@ !   @    @   @@{pf[@QG<2@'@@@@vlb@WMB8@.#@@@@}rh@]SI>@4)@ @ @   !@!!!x"n@"d"Y"O#D@#:#0#%$@$$$%@%%%&@&&&'@'''(t@(j(_(U)K@)@)6)+*!@** *+ @+ + + , @, , , - @- - - .z @.p .f .[ /Q @/F /< /2 0' @0 0 0 1 @1 1 1 2 @2 2 2 3 @3 3 3 4 @4v 4l 4a 5W @5M 5B 58 6- @6# 6 6 7 @7 7 7 8 @8 8 8 9 @9 9 9 : @:| :r :h ;] @;S ;H ;> <4 @<) < < = @= = = > @> > > ? @? ? ? @ @@ @x @n Ac @AY AO AD B: @B/ B% B C @C C C D @D D D E @E E E F @F F~ Ft Gj @G_ GU GJ H@ @H6 H+ H! I @I I IJ@JJJK@KKKL@LLLzMp@MeM[MQNF@N<N1N'O@OOOP@PPPQ@QQQR@RRRSv@SlSaSWTL@TBT8T-U#@UUUV@VVVW@WWWX@XXXY|@YrYgY]ZS@ZHZ>Z3[)@[[[ \@\\\]@]]]^@^^^_@_x_n_c`Y@`N`D`:a/@a%aab@bbbc@cccd@ddde@e~eteif_@fUfJf@g5@g+g!gh @hhhi@iiij@jjjk@kkzkple@l[lPlFm<@m1m'mn@nnno@ooop@pppq@qqqvrk@rarWrLsB@s7s-s#t@tttu@uuuv@vvvw@www|xr@xgx]xRyH@y>y3y)z@zz z{@{{{|@|||}@}}}~x@~m~c~YN@D{ p%++++++++++++++++++++++++++++++++++++++++++++++++++++++++s0C@Wwarp warpStyleenum warpStylewarpNone warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrzn8BIMluni The Source8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMfxrp@i5c+FFF8BIMnorm(E(KW8BIMlfx2TnullScl UntF#Prc@YmasterFXSwitchboolFrFXObjcFrFXenabboolStylenumFStlOutFPntTenumFrFlSClrMd enumBlnMNrmlOpctUntF#Prc@8Sz UntF#Pxl@Clr ObjcRGBCRd doubGrn doubBl doub8BIMlrFX8BIMcmnS8BIMdsdw3x8BIMmul 8BIMisdw3x8BIMmul 8BIMoglw*8BIMscrn8BIMiglw+8BIMscrn8BIMbevlNx8BIMscrn8BIMmul 8BIMsofi"8BIMnorm8BIMTyShA??@v @l 2TxLrTxt TEXTKWTxtCObjcnullHrzndoubVrtcdoub textGriddingenum textGriddingNoneOrntenumOrntHrznAntAenumAnntAnSm EngineDatatdta@ << /EngineDict << /Editor << /Text (KW ) >> /ParagraphRun << /DefaultRunData << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> /RunArray [ << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> ] /RunLengthArray [ 3 ] /IsJoinable 1 >> /StyleRun << /DefaultRunData << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 23.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> /RunArray [ << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 23.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> ] /RunLengthArray [ 3 ] /IsJoinable 2 >> /GridInfo << /GridIsOn false /ShowGrid false /GridSize 0.0 /GridLeading 0.0 /GridColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /GridLeadingFillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /AlignLineHeightToGridFlags false >> /AntiAlias 3 /UseFractionalGlyphWidths true /Rendered << /Version 1 /Shapes << /WritingDirection 0 /Children [ << /ShapeType 0 /Procession 0 /Lines << /WritingDirection 0 /Children [ << /Procession 0 /LineTop -21.20593 /Leading 27.60000 /WordStarts [ 0 3 ] /CharacterCount 3 /Segments << /WritingDirection 0 /Children [ << /Range [ 0.0 30000.0 ] /Words << /WritingDirection 0 /Children [ << /Type 0 /Base << /CharacterCount 3 /Advance 43.44647 /TrailingAdvance 6.39400 /Leading 27.60000 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 23.0 23.0 ] /FontSize 23.0 /Tracking 0.0 /AntiAlias 3 /Kerning 0.0 /Origin [ 0.0 0.0 ] /GlyphMaps [ 43 55 229 ] /LigatureMaps [ ] /Flags 68 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 43.44647 0.0 ] >> ] >> >> >> ] >> >> ] >> >> ] >> /Cookie << /Photoshop << /ShapeType 0 /PointBase [ 0.0 0.0 ] /Base << /ShapeType 0 /TransformPoint0 [ 1.0 0.0 ] /TransformPoint1 [ 0.0 1.0 ] /TransformPoint2 [ 0.0 0.0 ] >> >> >> >> ] >> >> >> /ResourceDict << /KinsokuSet [ << /Name (PhotoshopKinsokuHard) /NoStart (!\),.:;?]}    0!! 0000 0 0 0000A0C0E0G0I0c000000000000000000000000 =]) /NoEnd (\([{  00 0 0000 ;[) /Keep (  %) /Hanging (,.00) >> << /Name (PhotoshopKinsokuSoft) /NoStart (  0000 0 0 00000000 =]) /NoEnd (  00 0 000;[) /Keep (  %) /Hanging (,.00) >> ] /MojiKumiSet [ << /InternalName (Photoshop6MojiKumiSet1) >> << /InternalName (Photoshop6MojiKumiSet2) >> << /InternalName (Photoshop6MojiKumiSet3) >> << /InternalName (Photoshop6MojiKumiSet4) >> ] /TheNormalStyleSheet 0 /TheNormalParagraphSheet 0 /ParagraphSheetSet [ << /Name (Default) /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> ] /StyleSheetSet [ << /Name (Normal) /StyleSheetData << /FontSize 18.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 27.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 1 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (ArialMT) /Script 0 /FontType 0 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.27800 /Ascent 0.92200 /Descent 0.25000 /CapHeight 0.72800 /DistanceToBaseline 0.92200 /UnderlinePosition 0.09999 /UnderlineThickness 0.04999 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> rics << /FontSize 1.0 /SpaceGlyphWidth 0.27800 /Ascent 0.92200 /Descent 0.25000 /CapHeight 0.72800 /DistanceToBaseline 0.92200 /UnderlinePosition 0.09999 /UnderlineThickness 0.04999 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> alScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 2 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (BookmanOldStyle) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.31982 /Ascent 0.99170 /Descent 0.31787 /CapHeight 0.70399 /DistanceToBaseline 0.99170 /UnderlinePosition 0.12500 /UnderlineThickness 0.06006 /HCJKProporitional false /VProporitional false >> >> << /Name (BookAntiqua) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.03613 /Descent 0.31104 /CapHeight 0.70099 /DistanceToBaseline 1.03613 /UnderlinePosition 0.13086 /UnderlineThickness 0.05811 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> n9jb?-Vk!AJmBt> nDh2p\F&@@@y@ndYO@E:0%@@@@ @ t j ` U@ K @ 6 ,@ !   @    @   @@{pf[@QG<2@'@@@@vlb@WMB8@.#@@@@}rh@]SI>@4)@ @ @   !@!!!x"n@"d"Y"O#D@#:#0#%$@$$$%@%%%&@&&&'@'''(t@(j(_(U)K@)@)6)+*!@** *+ @+ + + , @, , , - @- - - .z @.p .f .[ /Q @/F /< /2 0' @0 0 0 1 @1 1 1 2 @2 2 2 3 @3 3 3 4 @4v 4l 4a 5W @5M 5B 58 6- @6# 6 6 7 @7 7 7 8 @8 8 8 9 @9 9 9 : @:| :r :h ;] @;S ;H ;> <4 @<) < < = @= = = > @> > > ? @? ? ? @ @@ @x @n Ac @AY AO AD B: @B/ B% B C @C C C D @D D D E @E E E F @F F~ Ft Gj @G_ GU GJ H@ @H6 H+ H! I @I I IJ@JJJK@KKKL@LLLzMp@MeM[MQNF@N<N1N'O@OOOP@PPPQ@QQQR@RRRSv@SlSaSWTL@TBT8T-U#@UUUV@VVVW@WWWX@XXXY|@YrYgY]ZS@ZHZ>Z3[)@[[[ \@\\\]@]]]^@^^^_@_x_n_c`Y@`N`D`:a/@a%aab@bbbc@cccd@ddde@e~eteif_@fUfJf@g5@g+g!gh @hhhi@iiij@jjjk@kkzkple@l[lPlFm<@m1m'mn@nnno@ooop@pppq@qqqvrk@rarWrLsB@s7s-s#t@tttu@uuuv@vvvw@www|xr@xgx]xRyH@y>y3y)z@zz z{@{{{|@|||}@}}}~x@~m~c~YN@D{ p%++++++++++++++++++++++++++++++++++++++++++++++++++++++++s0C@Wwarp warpStyleenum warpStylewarpNone warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrzn8BIMluniKW8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMfxrp@h@L&&&8BIMnorm(C( Code Checker8BIMTyShB??@{@n 2TxLrTxt TEXT Code CheckerTxtCObjcnullHrzndoubVrtcdoub textGriddingenum textGriddingNoneOrntenumOrntHrznAntAenumAnntAnSt EngineDatatdta@ << /EngineDict << /Editor << /Text (Code Checker ) >> /ParagraphRun << /DefaultRunData << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> /RunArray [ << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> ] /RunLengthArray [ 13 ] /IsJoinable 1 >> /StyleRun << /DefaultRunData << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 10.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> /RunArray [ << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 10.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> ] /RunLengthArray [ 13 ] /IsJoinable 2 >> /GridInfo << /GridIsOn false /ShowGrid false /GridSize 0.0 /GridLeading 0.0 /GridColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /GridLeadingFillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /AlignLineHeightToGridFlags false >> /AntiAlias 2 /UseFractionalGlyphWidths true /Rendered << /Version 1 /Shapes << /WritingDirection 0 /Children [ << /ShapeType 0 /Procession 0 /Lines << /WritingDirection 0 /Children [ << /Procession 0 /LineTop -9.21997 /Leading 12.0 /WordStarts [ 0 5 13 ] /CharacterCount 13 /Segments << /WritingDirection 0 /Children [ << /Range [ 0.0 30000.0 ] /Words << /WritingDirection 0 /Children [ << /Type 0 /Base << /CharacterCount 5 /Advance 26.67984 /TrailingAdvance 2.78000 /Leading 12.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 10.0 10.0 ] /FontSize 10.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 0.0 0.0 ] /GlyphMaps [ 35 79 68 69 0 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 26.67984 0.0 ] >> ] >> >> >> << /Type 0 /Base << /CharacterCount 8 /Advance 39.60999 /TrailingAdvance 2.78000 /Leading 12.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 10.0 10.0 ] /FontSize 10.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 26.67984 0.0 ] /GlyphMaps [ 35 72 69 67 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 50.01968 0.0 ] >> << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 10.0 10.0 ] /FontSize 10.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 49.81979 0.0 ] /GlyphMaps [ 75 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 54.81979 0.0 ] >> << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 10.0 10.0 ] /FontSize 10.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 54.61990 0.0 ] /GlyphMaps [ 69 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 60.17990 0.0 ] >> << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 10.0 10.0 ] /FontSize 10.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 60.17990 0.0 ] /GlyphMaps [ 82 229 ] /LigatureMaps [ ] /Flags 68 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 66.28983 0.0 ] >> ] >> >> >> ] >> >> ] >> >> ] >> /Cookie << /Photoshop << /ShapeType 0 /PointBase [ 0.0 0.0 ] /Base << /ShapeType 0 /TransformPoint0 [ 1.0 0.0 ] /TransformPoint1 [ 0.0 1.0 ] /TransformPoint2 [ 0.0 0.0 ] >> >> >> >> ] >> >> >> /ResourceDict << /KinsokuSet [ << /Name (PhotoshopKinsokuHard) /NoStart (!\),.:;?]}    0!! 0000 0 0 0000A0C0E0G0I0c000000000000000000000000 =]) /NoEnd (\([{  00 0 0000 ;[) /Keep (  %) /Hanging (,.00) >> << /Name (PhotoshopKinsokuSoft) /NoStart (  0000 0 0 00000000 =]) /NoEnd (  00 0 000;[) /Keep (  %) /Hanging (,.00) >> ] /MojiKumiSet [ << /InternalName (Photoshop6MojiKumiSet1) >> << /InternalName (Photoshop6MojiKumiSet2) >> << /InternalName (Photoshop6MojiKumiSet3) >> << /InternalName (Photoshop6MojiKumiSet4) >> ] /TheNormalStyleSheet 0 /TheNormalParagraphSheet 0 /ParagraphSheetSet [ << /Name (Default) /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> ] /StyleSheetSet [ << /Name (Normal) /StyleSheetData << /FontSize 18.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 27.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 1 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (ArialMT) /Script 0 /FontType 0 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.27800 /Ascent 0.92200 /Descent 0.25000 /CapHeight 0.72800 /DistanceToBaseline 0.92200 /UnderlinePosition 0.09999 /UnderlineThickness 0.04999 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> tMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.03613 /Descent 0.31104 /CapHeight 0.70099 /DistanceToBaseline 1.03613 /UnderlinePosition 0.13086 /UnderlineThickness 0.05811 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> n9jb?-Vk!AJmBt> nDh2p\F&@@@y@ndYO@E:0%@@@@ @ t j ` U@ K @ 6 ,@ !   @    @   @@{pf[@QG<2@'@@@@vlb@WMB8@.#@@@@}rh@]SI>@4)@ @ @   !@!!!x"n@"d"Y"O#D@#:#0#%$@$$$%@%%%&@&&&'@'''(t@(j(_(U)K@)@)6)+*!@** *+ @+ + + , @, , , - @- - - .z @.p .f .[ /Q @/F /< /2 0' @0 0 0 1 @1 1 1 2 @2 2 2 3 @3 3 3 4 @4v 4l 4a 5W @5M 5B 58 6- @6# 6 6 7 @7 7 7 8 @8 8 8 9 @9 9 9 : @:| :r :h ;] @;S ;H ;> <4 @<) < < = @= = = > @> > > ? @? ? ? @ @@ @x @n Ac @AY AO AD B: @B/ B% B C @C C C D @D D D E @E E E F @F F~ Ft Gj @G_ GU GJ H@ @H6 H+ H! I @I I IJ@JJJK@KKKL@LLLzMp@MeM[MQNF@N<N1N'O@OOOP@PPPQ@QQQR@RRRSv@SlSaSWTL@TBT8T-U#@UUUV@VVVW@WWWX@XXXY|@YrYgY]ZS@ZHZ>Z3[)@[[[ \@\\\]@]]]^@^^^_@_x_n_c`Y@`N`D`:a/@a%aab@bbbc@cccd@ddde@e~eteif_@fUfJf@g5@g+g!gh @hhhi@iiij@jjjk@kkzkple@l[lPlFm<@m1m'mn@nnno@ooop@pppq@qqqvrk@rarWrLsB@s7s-s#t@tttu@uuuv@vvvw@www|xr@xgx]xRyH@y>y3y)z@zz z{@{{{|@|||}@}}}~x@~m~c~YN@D{ p%++++++++++++++++++++++++++++++++++++++++++++++++++++++++s0C@Wwarp warpStyleenum warpStylewarpNone warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrzn8BIMluni Code Checker8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMfxrp@j5뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,," 6<4267792212972. pP @p` 0p` `P@0 @p@`0@P@@@@p 0@`@@P @ @  @`@` `p0p@P @ 0P`P pp@0`0P 0@p`P`@P0pP@@@P0`p` @p@0 P @ ` @`@`0@ p0P@@pАp@P`@0`@`@0P`@Ѐ@ @@@`@P@@0 pp@ P0 P0`0p@` 454355@0`0@@ `@0p@Pp@@@0 ` p0 p`@0Pp@@X @ @@@P@@0pPP @@`@@@@@@`@@p`@Pp0 @@p 0@@@``PP@ @ 0@ 00@0@!" !! `0P0` @@P@00pp@ 0@0@0pߟP0@0`@`p@0 P`@000@00` p0@P`@p@0@ @@`@@0P0p @@` `p@0  @pP@ pP@ 0@P @A=?A@.0p`0@P 0 0@@0@pP`@`p p@@` 00P00P0 p @@`0`@PЀP@@Ѐ`@0@P0@@`P@@@`@@P@Ppp@ `$PP0`@00@P@`0P0#@@ а``@@@  00@0@ 0@@0 @ 8BIMPatt%/7;??@A9;JQUX[\\^^^^]\RL^^^^]^]_YwwssusY!&/:AEhg\pijzqiihhgoga!%/5<>cc[nggxrhfadabX__ߡ.~>Ӆ OŻ%O# >ᅬ_=W; źA48 =ȣL5 <Hɻ3 ;\ʽ : j "-/37 : W \d;==>?o?;/_ }ZҴ+_~;/O^T3XUM;HW(;:q)5WS`w:Иlq8o 5Yޥ ;9Syەcq5[zu97876566( ü \6]x/e:6643456Cie?u6^ W:6l"6/ORDŽ;5N&6/ '6;]" 'I<͟hlnl -Pe<5pk J _d&"bmT T°*ZP0JVL46799eɻ՝^7X~H꾻ɥg\atLɾļüLýŸ:6˾Ľ¿LľCÿ]L7v-ɍ -(ܳwl.S9, = .=.~?<썽ߟߏߏަMO? _/?ϯ_?_O#/m7/??o?/_?/_?o_^ZY[]:󁀁xqt|xqqvxqt|xqqxxqv~w RVX\`S8 󁀁wdaoubaowdassaq ?Y`fļ>26 :󁀁da|uauda}a~= 8eʿH3 9󁀁 |aaU1"%$&(* ++ #% , ,,+ !!$&)+,&,,,,Ԭ+ Ak6AkA`AųU+&()*++*!$ +,,&+ !!$&)#,,,, Ԭ+ A Lv6k˽zQ'()*+*  #%$*+ * +* !!$&!+*(++,,,, Ԭ+ Aղ  Ǻ ()*+) "$%! ())*+(*)* !"$&++**)) **++,,,,Ԭ+ ⿬Ak L` ԌSǻ()*++*)4 "$%&&'()*(''(() !"$**)((' ()*++,,,,Ԭ ͬvAkV+`V |ȿ()*++)(!$%&&$$&() %&%%&'( !"$)('&&')*+,,,,ԬA6 ެ6 6ž!%')*+*& #%'('&#$'#'&$$%&( !"$  $%')*+,,,,ԬAkյ 6 p$#" #%(*%!$&())'!$&%'%$$%'( !"$  "#%(*+,,,,Ԭ L ìLv6` V6&(&%$#!   #&)** "%(*($#%('%$$&'( !"$ $# $%%$#!!"$')+,,,,Ԭ+ ȬVVk 6k`5$*)('&%#"!%(** "%(*++)' "#('%&() !"$ "!!#$%%$#!!"$&)*,,,,Ԭ+A ++ Lۄ ++**)(' $')* "%(*++*(" '&%&()* !"#! !"$%#"!"$&)*,,,,Ԭ+`v+ A  L+*#&)* "%(*,,+)' & ')*+ !"# !#%$#%')+,,,, Ԭ++ `LͬvAI'!#&)* *,,+*(#$%&&'(*++ !"#$  !#%&#%%'(*+,,,,Ԭ+ ެvԢL #&)* *+,++)%"#$%&()*+ "#$# "'((*++,,,,ܰ⵬  M "! $'**&')*+ *(!"#%&(* #%%" (())*+,,,,Ϭ {W @%%# "%(*+*% "%')*++*) !"$')*(! #$%$#"(()*++,,,,Ϲ ҼϹϹǷ"#$%$#!!$')++*($!!$&()*++) "%')++,+)'$" !#$%%$" !#%'()*++,,,,ο !""#"! 0!#&(*++*(%"  "$&(*++* #! !#%(*+,++)&$"!!#%&&%#! #$&&'(()**+,,,, Ǻ ! 3 !#&(*+,+*)&#!  !$&()++&$"!!#&(*+,+*)&$"!"#%&'&%#" #$%&&'()*+,,,,Ż"!)#$&()++,,+*(%#"!!"$&(*++(%#"#%')+,,+*)'%#$&'((&%$#$%%&'()*+,,,, $$#"#$&'(*++,+*)(&$ &')*+$(&$&(*+,,++)('&%%&'())((&%&'()*++,,,, '&&%&'()*++,+*)('&&'(#'('%%&')+,+*)(('(()*)('()*++,,,,Է ̇k"))()**++,+*)* *('&'+,+*&!**+*)**&&,$&,,,,8 888 )*+,+*)'& #,+ +,+( (, ,,,,q88ƍq ,,( +)!,,!)$&&&$,,&),+&'*)('& )* ,,!),,! ,)&, ),)!!,&,,&&, ,$$,$,)$$,,,,q8 8b*qT),,!,,! &#),,++*)'&&% ()*(,) & ,&,,&,, !! $!,,,,q8 *b%F ,!,!,,! ) ,$,,+*)'&% )*+,,,,, !!,,,!$! , $,!!,,,, q888!!,,!!,,! ,, ,,+*('%$$%)++!,!,!  ,,,!!  , , !,,,,q88 bFAq !,$&!! ,,&,$ !,,+*)'&%%&(() ,,, !)&,",$,!$$),! ),! ,,,,q88* , , ! ,))),,+*)('()$,)  ,$,! ,,!,!& ,! ,,,,Ʃ&,$,$,!$,!,+*)*+(!!,&,&$,$!),$!&,$!),,)!$,&!&,,,,,+*+,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,KWStyle-master/Documentation/logo.bmp000066400000000000000000035230701265471724600202120ustar00rootroot00000000000000BM86(   ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,pPq@q@q@q@HhpXq@q@q@q@q@H`,,,,,,&yyyy!,,,,,,,,,,,,,,)yyy&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,!yyyy&,,,,,,,,,,,,,&yyyy&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8 `8 q@`h8 *Xxq@ T0p,,,,! ,,,,,,,,,,,+*)&$!hl x}!  #&(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`bJ*NB&Q. {vyE,yE}GILNNMsB  ?B #%()++,,,,,,,,,,,,,,,,,,,,,,,,,,,,+)'$&pu #&(*+,,,,,,,,,,,,,,,,,,,,,+*(LOae"%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,!yy[_ |wba6xDyDyET/ 7: #%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,*# $#$%')+,,,,,,,,,,,,,,,,,,,,,+*(x~#&)*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,hmms!%(*+,,,,,,,,,,,,+*)&# IM!),,,,,,$y {F'~{uS/;!wCp?4ot #&(*+,,,,,,,,,,,,,,,,,,,,,,,,,,*RV%&'()*+,,,,,,,,,,,,,,,,,,,,,+*'%' ?B!$(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, !%(*,,,,,,,,,,,,,+*'$ 9<+,,,,,,,,,,,,,,)KO)())*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`z;"{F'5v}yr  `6 gl!$')*+,,,,,,,,,,,,,,,,,,,,,,,,+* *,)))*++,,,,,,,,,,,,,,,,,,,,,+)  #&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#!%(*,,,,,,,,,,,,+*)&! ! 69"++,,,,,,,,,,,,,,,,,,&y :=***+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`f:jB&v~N|vLW[!%(*+,,,,,,,,,,,,,,,,,,,,,,,,+" AD'+,,)[_u{++++,,,,,,,,,,,,,,,,,,,,,+*(LOfk!%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+"#!%(*,,,,,,,,,,,,+*($-/ *+,,,,,,,,,,,,,,,,,,,,,,)y&+++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`ZZ VVQ.~zt;!E'p?X`x,!jo-/OS#&(*+,,,,,,,,,,,,,,,,,,,,,,,+')+,,,,,,)jo$,,,,,,,,,,,,,,,,,,,,,,,,,+)%  " $')+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+"#!%(*,,,,,,,,,,,,+)&`e%'")++,,,,,,,,,,,,,,,,,,,,,,,,&KO,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`jf:fQ._6}xiS/Ww,,,,,) f~{ul= R/f,,,,,,,,&[_gl"%(*+,,,,,,,,,,,,,,,,,,,,,,+ HK "&(*,,,,,,,,,,),,,,,,,,,,,,,,,,,,,,,,,,,,+*'%' ! EI!$'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ DG!%(*,,,,,,,,,,,+*' 13"##(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`Rb5fn{F}yr"5N~,,,,,,,,,,!-/x~ #')+,,,,,,,,,,,,,,,,,,,,,,+ 9< LO#&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+)#&)*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++- DG"%(*,,,,,,,,,,,+)!&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`bR~{FNB&|wZ5]~,,,,,,,,,,,,y 7:"%(*+,,,,,,,,,,,,,,,,,,,,,+ 9<#&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*(LOjo# AD]a!$(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9< DH"%(*,,,,,,,,,,,*( 35$(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`'X2V5B&~~ztG(5\},,,,,,,,,,,,,_d $')+,,,,,,,,,,,,,,,,,,,,,+ 9<+.#')+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+)%  $  #&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9< DH"&(*,,,,,,,,,,+* IM"&(*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`tBz_6~ ^}xq  L|~,,,,,,,,,,,,,,$x~"&(*+,,,,,,,,,,,,,,,,,,,,+ 9< FJ$')+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*(SW"%(+-rx!%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9< DH"&)+,,,,,,,,,,+*PT #')+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`Zb'Vf_6{vzE[4s},,,,,,,,,,,,,,,$ ?B!$(*+,,,,,,,,,,,,,,,,,,,,+ 9<jo $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*'%'#')#% $')+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9< EH"&)+,,,,,,,,,,+) PT $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`zRv_6m>'~zs.Z{~,,,,,,,,,,,,,,,,!x~ #')+,,,,,,,,,,,,,,,,,,,,+ 9<jp $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+) =@!%(*+"%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9< EH#&)+,,,,,,,,,,+ !%(*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`X2J*N'n|wb@$q|~,,,,,,,,,,,,,,,,,y @C"&)+,,,,,,,,,,,,,,,,,,,,+ 9<| $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*(LO#&)+,y FJ!$'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9< EH#&)+,,,,,,,,,,*bf 8;"&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@-Z rQ.nvN~{u`6tAy|~,,,,,,,,,,,,,,,,,,z!%(*+,,,,,,,,,,,,,,,,,,,+ 9< $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+)%  $'*+,)#&)*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9< EH#&)+,,,,,,,,,,* 7:in#&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@-jZ*NVQ.}yr Wy|~,,,,,,,,,,,,,,,,,,!PT $(*+,,,,,,,,,,,,,,,,,,,+ :< $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*(in"%(*+,,[_]a!$(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<_d#&)+,,,,,,,,,,*  $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@-J*Jn_6B&Q.5 |wS ^y},,,,,,,,,,,,,,,,,,, $'*+,,,,,,,,,,,,,,,,,,,+ :< $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*'%' $')+,,,$  #&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,+",. $')*++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@-R;"{FV m>f~ztG(#ly|~,,,,,,,,,,,,,,,,,,,sy#')+,,,,,,,,,,,,,,,,,,,+ :< $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+) =@!%(*+,,,, {FF(~5{uxD"kx|~,,,,,,,,,,,,,,,,,,,* 13#&)+,,,,,,,,,,,,,,,,,,,, :=!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+)% (*!$'*+,,,,,,"%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,+tz!##$$$$$$$$$$$$$$$$$$$$$$$%%%%%%&&&''(()**+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@tBtBfQ.v'B&{F5~~ys""iw{~,,,,,,,,,,,,,,,,,,+*#&)+,,,,,,,,,,,,,,,,,,,, :=!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*(in"&(*+,,,,,,y FI $')+,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,+ej !!!!!!!!!!!!!!"""##$$%&()*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@'m>H5v~fb8V|wa Zvz~,,,,,,,,,,,,,,,,,,+)#&)+,,,,,,,,,,,,,,,,,,,, :=!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*'%' $')+,,,,,,,)"%(*+,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,+ :< ! !"$%()++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@b5f{FN^V_6~zuS/ Xuz},,,,,,,,,,,,,,,,,+*(hm#&)+,,,,,,,,,,,,,,,,,,,,ek!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+) HK!%(*+,,,,,,,,[_PT $')+,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,, := ! #&(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@R~ fQ._6Q.v}yr vCsy},,,,,,,,,,,,,,,,+*)$hm#&)+,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*(LO#&)+,,,,,,,,,! "&(*+,,,,,,,,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,, := 02!$')+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@f:VB& 'N'n|vL]4qx|~,,,,,,,,,,,,,,,+*)'jo#')+,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+)$ (* $'*+,,,,,,,,,,-/Y^!$'*+,,,,,,,,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,, := AD !!!!!!! #&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@z_6q@Q.fnn_6N~{u;!8 ov{~,,,,,,,,,,,,,,+*)'$QTjp $'*+,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*(in"%(*+,,,,,,,,,,#&)*+,,,,,,,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,, := 24 24 24 24 24 24 24 24 24 24 24 14 14 IM`d\`V[PTpuhmsz"&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@b'^N{FN'VB&~ze!fuz},,,,,,,,,,,,++*)'$"mr $(*+,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*'$& #')+,,,,,,,,,,,)ms!$(*+,,,,,,,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,Y]! /2 GKjn"&)*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@Rv~v5Q._6v ~ztB Vry},,,,,,,,,,++*)(&$!kpot!%(*+,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*) GJ!%(*+,,,,,,,,,,,,[_#&)+,,,,,,,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,w}gl"&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@X2N5'v ^'f~{rApw|~,,,,,,,,++**('%#!rw"&)+,,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*(KO#&)+,,,,,,,,,,,,,$!%(*+,,,,,,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,x~gm"&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@ rQ.m>m>Vf _6m>eC&nuz~,,,,,,++**)'&$"  CF $')+,,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+)$ ') $'*+,,,,,,,,,,,,,,-/,. #&)+,,,,,,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,, B&V5S/ esy},,,,++*)('&$#!^b!%(*+,,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*(hl"%(*+,,,,,,,,,,,,,,}!%(*+,,,,,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,!insy#&)+,,,,,,,,,,,,,,,,,,,,,,(W[ FI#')+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@Rnv 5Nvvx Xrx|~,++**)('&$#!v{ #&)*,,,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,+)' #&)+,,,,,,,,,,,,,,,) @D #&)+,,,,,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,, "#&)+,,,,,,,,,,,,,,,,,,,,,,+sy GJ $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@R{F'Q.nvn'VPb7sw{~~}+*)((&%$"!X\ _6^~{F`T0*~}|zxuspliea]mr 13%(*+,,,,,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,+)&#&)+,,,,,,,,,,,,,,,,,,,& "%(*+,,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,-/bg!%(*+,,,,,,,,,,,,,,,,,,,+) 58!$(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`Rf:5F(^_6B&Q.B&xHh~}|zxvtqmjfb^ZWSch "$')++,,,,,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,,+*( 14 $'*+,,,,,,,,,,,,,,,,,,,,KOOS $')+,,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,RU #&)+,,,,,,,,,,,,,,,,,,+*)"&(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`Rf:~{F '{FN ~|{ywtqnkgc_[XTQNL} JMz&)*+,,,,,,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,,+)' 13qw!%(*+,,,,,,,,,,,,,,,,,,,, "%(*+,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,) 9=!%(*+,,,,,,,,,,,,,,,,,+*% ;> $')+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`Rf:VfB&nn^~}{ywurolhd`\YUROLJH}G[_(* 02&(*+,,,,,,,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,+*( #&)+,,,,,,,,,,,,,,,,,,,,,,_d $')+,,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,,[_ #&(*+,,,,,,,,,,,,,,,+*(in"%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`Rf:_6 Nm>~}|zxuspliea]YVSPMKI~G\4-(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,,,,,,,,+)' JM DH $')+,,,,,,,,,,,,,,,,,,,,,,Z_"%(*+,,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,,&y!$&)*+,,,,,,,,,,,,,+*)&UZ$')+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`R-'8 nQ.Q.'~}|zxvtqmjfb^ZWSPNKI~Gl=5hm(*++,,,,,,,,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,,,,,,++*(# $'*+,,,,,,,,,,,,,,,,,,,,,,#Y^ #&)*+,,,,,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,,,[_ IM!$&(*++,,,,,,,,,++*(&$"# "#&(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`R-vm>'VNv~|{ywtqnkgc_[XTQNLJHtBD' '((*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,,,+++*)(&lr $')*+++++,,,,,,,,,,,,,+++**!$&(**+++,,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,,,)!$&()**+++++++**)(&$uz%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`R-N^_6vnN~}|zxurolhd`\YUROLJH}GL+% %*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,,++**)('&#PT#%'()))**++,,,,,,,,,,+**)((]bRW!$&())*++,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,,,,fk!#%&())****))((&%#! IL "')++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`R-Q.~V5Q.~}{yvspmiea]YVSPMKI~G\4- !*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,tz!# $(*+,,,,,,,,,,,,,,,,++*)('&$#{z #$&&''()*+,,,,,,,,,+*)('&%!#$&'()*+,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,,,,,[_ "#%&&'''''&&$#!  ch&)*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`R-*~{FQ.~|zxurokgc^ZWSPNKI~Gl=5 !*+,,,,,,,,,,,,,,,,,,,,,,,,,+++,,,+ty!# $(*+,,,,,,,,,,,,,,,,+*)'%$#! )+ !"#$$&')*+,,,,,,,++)(&$#! RV !#$&()++,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,,,,,,[_ FI  !"#$$$$$#"!.0$)*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`R-n_6B&fNf~|zwtqmid`\XTQNLJHtBD' "++,,,,,,,,,,,,,,,,,,,,,,+++********pv!# $')+,,,,,,,,,,,,,,,++)(%#"  EI !"$&(*+,,,,,,,+*)&$"  GJ!"$')*+,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,,,,,,,[_z!  [_)*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`R-r{FV{Fn{F~|zwtplhc^ZVROMJH}GL+% 8;'++,,,,,,,,,,,,,,,,,,,,,,++*))(((((((kp!# #&(***************+**)'%#!)*qv !#%(*+,,,,,,,+*(&#!Z_ LO !$&(*+,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,,,,,,,,[_#! [_^c)*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`R bB&vnQ.B&~|zwtpkgb]YUQNKI~G\4-ty++,,,,,,,,,,,,,,,,,,,,,,,,+*)(&&%%%%%%di!""$&((((((((((((((()))('%#! `fhm !#&(*+,,,,,,,+*(&$"  57 !"$&(*+,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,,,,,,,,,\a%#"  BERV)*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`Rb VF(~~}{xuplgb]XSPMJHl=5*,"+,,,,,,,,,,,,,,,,,,,,,,,,,,+)(%$#!!!!!!Z^!" "$%%%%%%%%%%%%%%&&''''%$#kp """"""""#%&)*+,,,,,,,+*)'%$!.0 #""""#$%')*+,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,,,,,,,,,,&-/%$#! ch)+'++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`RbfQ._6v{FV~|yvqmgb]XSOLIvCM, tz++,,,,,,,,,,,,,,,,,,,,,,,,,,,*)'$" PT " !!!!!!!!!!!!!""#$ 47 36 &'(*++,,,,,,,) pv 69') 46$&()*+,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,,,,,,,,,,,,y%$#"!! LPVZ*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`Rbm>NV'f_6}{wsnic]XSOLIe:-W[&+,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*)'$! IM ! ! 02ot))*++,,,,,,,,!))*++,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,,,,,,,,,,,,,)[_(* 47 36 35++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`Rb5nvm> '~|zvqke_YTPLIN, := +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+)'$"  EI !.0tz*+++,,,,,,,,,!++++,,,,,,,,,,+ 9<gm#&)+,,,,,,,,,,,,,,,,,,,,,,,,,,&[_ :=#+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`R 5fB&n~|ytoib\VQMyD?# := +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*(&$"  EI!,.x~,,,,,,,,,,,,,!!,,,,,,,,,,,,,,+ 9<gm"&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,&jo ;>,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,q@`RB&{F {FN~{xsmf_YSN{E?$ IM ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ;> := 9< 7:jpfkaf]aX]TXPTMQ%&!LP 03]brwv|y!!!!!!!!!!!yyyyyyy[_ ),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,![_#$%')*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<fk"%(*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,JZR J*tB'bf:J*}ztmd\I",.&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)!'()*++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<fk!%(*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~^q@q@q@q@q@q@q@q@^^q@q@q@q@q@q@q@q@q@q@q@Xv^q@q@q@q@q@q@q@q@q@^vXq@q@q@q@q@q@q@q@q@q@^nPq@q@q@q@q@q@q@q@^~{vof]p@hm&,,,,,,,,,,,,,,,,,,,,,,++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, v,,,,,,,,,,,,,,,,,+*(%.0 /2W[ $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<#&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9< BF $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~ye9M},,,,,,,,,,,,,,,,+*)& 02]a!%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<"&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 8;!# $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}x xD|~,,,,,,,,,,,,,,,,+)'$-/%'"&(*,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<gl"&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+++++++* 79!" $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}aX2q|~,,,,,,,,,,,,,,,+*(% CG#&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<gl"&)*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++**))))( 47!" $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}i; Uw|~,,,,,,,,,,,,,,+*(&# "w} $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<gl"%(*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++*)('&&&% !" $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,|4 fu{~,,,,,,,,,,,,,+*)&$pv !%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<fk"%(*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*(&%$##"!!"$')+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,| apx},,,,,,,,,,,,++)'$ /2#&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9<fk!%(*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+)'%#! !"#')+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,} Yjsz~,,,,,,,,,,,++)(%" 57ch $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ 9;ej!%(*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*)&$! #')+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,er@alu{,,,,,,,,,,++*(%#w}!%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,+LP!%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+*)'$! #&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,^3Wbmu{,,,,,,,,,++*(%# "&)*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ CF!%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+)(%#! ]b#&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,^yDWbmu{,,,,,,,,++*(&# (*MQ#')+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ CF $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,  FI#&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,^ NValu{,,,,,,,++)(%# QU!$(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ BF $(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, #&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,_?#MT_jsz~,,,,,,+*)'%# ou"%(*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,+ CF $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,!$')+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,oU0KR\fpw|,,,,++*)'%"  9<#&)+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 36 $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"#%(*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,[4IOXbltz~,,,++*(&$" lr $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,$& $'*+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, |w}MyvQ'w#XJ*m/Eyy2qGl=ś&a1(rG;*#\9E]W_b:G367E]+pKȒ2:0* GI~g^Ϸ,-l4n>wLmO]4$`=̡pOsXZO߇xC} 3ހɯkԃ ]Rv?CrIٳ+Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@QE!EPEPEPEPEPEPEPEPEPEPr^Lwc3jr=eezK ?=U'xUe?֮U%as:;xigh[&CWī$$IIZz69>7-U kezsJ8MvXd#)0*pkbФ#&wᴙ6 J=AYk]Ky (?Uwn蚛M2iD\p}r8߁!`hNê÷\|/[Pfбϗ 9_Q_3epl62)^=aO:/mX>8AGBiᮯPWq; Wx{T?Ym61s0EP[ᾭF6zvΤ.go-Rls VE_9ƞ%oc,kV|m`? ,r+9GRfr-Q^YQEQ\> 77uM8ɏ.&%qdF`WAVj}7VIpAcMTZG̛b(QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE|uEW*4Q@Q@Q@Q@Q@Q@Q@Q@Q@aj7q[ g5\Ř |W6?M\YO VQEGf]Ҍr_QE~4~zm*({Rkl#0כ|#m;&,xʽLtJxX|@(OWxrC>#ҧx$؃++B#"|sRvg^uOqᮧY\i=\`qcP8*1]+ pŅ)AWg/7wЉ|`J#9^#mG$w]#J?>kI㸯}cyD|Lt-йlp>BZI~+O^wcf(ௐiߏ^<v1Z qqpwG̗Y^Mip%8 z@NQ^hWȏp3˪`+8Kn?_x qߪ7xY#vGSe8 ^J&!0$߳~Z+,?=[~aZ7ף>мQAEM).vH?lˠr85h5!i_eqszba_ g5'k+Z>*XM=^KVeOG_t7񍰟>!1qJ<Fp_xߊ|яK;_# |:=+/M-sb}^O) e#$<}lP4N2òʮ[">5R.,о jJwڎ[B~>%!c!6'֯/Y'5i|H%SQOƎSwE(L AA#)_gC_Dk\|ۇ|ǖ_$]xNxc8`d!7p3|?c!8~۾ t}NG~±XƋB BԲPrW8<%R hM}oexƌ!3Wv̈́ m3Z+k&1j# O>?>ݖhr\_ UԾ]F~tf~)\X]p @rs_f.?(,((((((((((((Ti>}'Vv,Dr}?A\V/u_cڪgK+GZ&cP H*~ xÖD&ԥ_ {z|U,-VG0qU*J[rȃdڔooA޼:KimrIKimrI-Qd=vmU̪e9M,{أydXFwrUFI'#6Cײ=<&SeuX3z3X}ſjQ^B?Y l.bj+;'0qx熥lo+\{ӵ[[eQ]eaGq_/П<NNXB"o\3^b-:_TݣqYtm}ɛR7A :ǺA)?M}qƽn+,[#<7GoO0M}v͈o\Kgq%7QI "BE~{<5xU_e~ìM i4};EAasp}<-ic71s_XDH :_H^3\K58[tɟm(_4x2Zr?ؔQjNbOm]T_Wb0?>#r(Զ1-'*}AQQ\M&ھ~,wi]=p Z>l}I|إhĜ {zFu7~x҂A 1s>KRhfG^|iq>#K%,@sz@x~/;/."eX20`GPAȳ䬯Q\]'Ý[Dְt}Vc ^?, QOe/dPT&iQ-?SV|~Κ׾*ӥf-!X|pNkiVa+޶[J*| Z~x|4ԼMk=E.$ Wi*_ SP`kkqztZܰ>rk q_xOW73Z_g_?]u~i-4dm$ I`G8QЊT5+:#ͬ z WuN4d\aZj.r~5LZx??κ^)o e_P7-x&kֵEi60߀{G=pM*̎8#k?R IۭRKI` 漧ƛm}\IG+uC£#+4-TITl )a|;&3lq]v6'lɋ g yU䟵^Iӵ +ȶգg$㱬U˳d܌㫕<pr3W!c{.g=׬s4ߊme\鋧Gus&m^FEyu"Ȑ$(q½&0Cu~o,{^}(W|]_ Ӥ?_ wb|'#N_bayX㿑?qһZ>1~gKHUrI'd/|3y-~[XZ&\rxTQ݉_|hߊz2KeiVpL~x|ۋ妷wu2%};BK!6# ޼R.n4Vqqҵ|0м3c֡[!CH;cljx\0+ѵ%q+e /$h{K}JIZ# ֩xFax)WkZ5-%ڽ?ǯBNI$lo!Nڼ/YM:Cg`)-x}y5ek3]^LQ8(z>WC"2}gץZGz,[cgs1=Iȯ3<[~>h)U#̅+((((((((Sw?V o|BU 1U?3/O[sJ6MKc7^'{uq{w%4v9$]ws%̭,7Rj*sjK"_ɔ4vZOB[KycF %{o~TSu_c|5ݪm2zm+kk& qғ۲'YԖq߻y?[\`: uu H`lrY8:=V>w+[NgUo|MASאWsZ,{V?-ջ(0W=97Oa_QuZ.z~PXWI'$ױ|m>}=[w6HDk+Oƒ+zV<{<$rd쥻qH,5>QfffCqכWK RۍXpxgV1[Pw`2Z;@޸꿡}/FNOGnj׺k P)oҧ};LVӸY;n_[?P=2O]GUem?_טW/dp?8[ ohE}o&#&yR(e*MI^'+|R{嵙XNr+|lͭ e0{>]/=+IX_$o;AG|+feon4o$1 F=WC^״! 9D(y}NJkku_C=jRm~ H@=E-͕洆Qʊ˼#pvܢSF),k6Woi{&[>L˗?z#"P+Kö7Ar}vtN{/%6~VW~^[|,4뷴3T*5^sI&[e*d# |G >5ޅ&WD<b?\|C͢t~%K}J%<3T!ZMf?sp{W,#xPZ;ck=˩f]y5ؚ59: :+y27N+bAN,WkM}_]A5h xA]/¯cEuK<}7_|(&O5όqsZP:?kp_h # eeG-+Os7?v~H_y\ᡊ=ԴO W+_߈@i˞L|\)p'4׽&g)(o\|E}iyI#$3gй}τ^O19lucNI5ᆼԮQsa6֤߂?f} ==dex `(vKo'7-EP0=*z([mݞ+A>_ Ui W_P?1WʾI1_iS|Ywx]KƖ^="5@xk+]ѩ|D,Z)KOjI[B?~ktx]KRH< X|O#ֿu%c_sw9#s2e<נ$h |ݠ՟ cGJakvJ]>"$.3 *rt%+K=h# |jxz @Er|MY|/ H3gO%|PQ~(I4 -J+VA}#3?. ʳ<bZmFNr5;WAB%J3VO`H?~hb$N+&AM,q'"1_ 2H ]"aJpѣ+ ( ( ( ( ( ( (>:+?O!s`/u_cSO?h 5vp$ `xZj8 5iQ {a:`[NظE$br ] t18ׇJˣq.-bFОOU?Ҿu+]_KPpL{):;O`$'Y7@NWÙܗGd\/~?_q4RAK_9OFdjP2S<+{M>,W\N&Ni*naՐ_ʼ )<>qٕ2g3˨}ſeVY±qqI"ƊYw&k9v>>i>31{~55g,rT:=v% z6|ض^X6q3 'VWF_-b_:.,q_#8O:rk7ٞ+ӮmE+[?5smۼk09H\@".$S$r}I95%xn߅xHRnK=mc߸cێ+h"H lqU /s/<&&Gukw" /<73^0i  P 2ׄWZP_z%wGn&4T#^GlWyvXvP`W!L75Wfb+XQ^I+A>_ Ui W_P?1W^.3&ǮWCOҙbG'//һ#Ҹ߆? _vG=x|(H$[Cqvt Ğ#yAz|qdn5)eqG!u|֢%77 y>)'i+IV˝J/Wz_CŠJs+x\ʷmkWI^m26+KV*nc\?=ec{X2KR~XAeg?5-T%|0^F 1[ ״x+KNXX"^yڶ1ZfQEyfEPEPEPEPEPEPEPTQEI/u_#]_cުgZ__>H*msY$d({NH*dQRNN3: LJl П HXױjǾz+@V,7p}O[ydh半H=ʞ_~ m_/S!Va8jt BQĿǗA?Q^_1Z5w64SDt5>#і*qa.c{8g8WGo5k>[T-?ɧ&W/g2ɞOG^%_KkVK \B$`ξktdvGYN=y<_²K_=~E?)Pڎ-goᖟe$grwh+o_Xcp[ͥk٧P_'>mwKhɚU{)_fXoa*R帟:ʹRA I_;Ot[E s0O(?ŏ^Y /.?oRk^bʰVӥ-}^?q?YTѽ= (+yv&#Z }7G|3,5iʌ?RXb|837⧃~QTHXYkY)VFG  MIy~'l w FGi^)K]BUtnY~OİE|aqdJ_JS+Nk=æЙ&ُ`+߂ IӭrK&9V?CÛM&-X#ΝyOL\݊(UZ>ʞߟ݆Vmmh E=m[Ym=j06v0 }_9~ o<]Bմ،R>-iIb}Yu]^~(Ξĵ'Dt MPZah%p0Q韽93,<3JUԆR:CL׳o3QJS'/ Ϩkj%aI5|'WZiV=hITt2+CuVL2Ptԓ5]Z4Z>ynL~2B$3~eXWQΫK$ibeV[YKQ[0)nk;L_V%𮥡.{gLu㨯/7z߮۫vܬFGE~_~>ihvk영0>Mɯ<>*xI=&WSTCtj_ 5DY_^GpOe_L~Ͼ:7'w\rڧF=s_02п!񕕓Ǿθ㍋~̢U}(*jϚ^oeza"@-#r ZrRrwgQ^o>Qu d6/H0y=Ev`2NaQCI^m"u#M^LࡓmU_9@?oҾRѝcoO0A>-|Xlo$c;hke,'j^h H#E~y}\UO ]ZJogW%_𸓦һzJvτuPk[9;xχ.4m330H88ꦿϲLn^vNLhքբϚnŧ * Ԃ?{IrPT&mS]BC4e7\) +VΥ=m}|A?k/)KXZQ[|yX;߲ki ~ J  ;`98[yC,mYHFcW? [Ghz|,Z^q0Dj>Ib+:%}\_OĪ8U32If~%">|f#STƯEߪ]v6-R?& \O8ӊݷFgۚ?k^=Z> Lm AJAH8wet7WP]oR$cpO|ZoMw{UgExɆRZ79N7(cP((((((((S_|9u-6Enx,N0p@9/:A{X~s ;>=P+ *uevﻱRL}*JdQB"(tB/}wP]GL, tly=+q*8^ʲ:X*֋׬Q^9^=ĹԖֽ ( (H5z;M1ek+ЍeiPNLML9 yE:fJjq%5%>{qsE/ƹX?\\תQLhcn+dj+=,>w">}Wy7>NA<__.d_x^\>罴y-^ڻ7#/ |.ӝN[?O1b^|?!zv~0tWX_Vϸ;M>01Z``R^,)ɛ%`*@*][N24SMt|FCk swHL>=7 ּO>N<>u"(5 YUX^&ࠦ%|oVlt&<3G Gu?{?|9n7H'ݍGRŎb&\)(l``REy&^rod!xdJ2X<0}H|?jj4Tٶ[;@?D QkG *'{FdsjmwХ3xRHĺ,DJH[?|/bzlj+>6o";[XW?!^@37AQE|x7'II-02H]m!ִkJ&l6*F?³f'&/+ܶ'GFR9x+DŞ1mI!Mcm"uR?Q]4H K(0G 6GJG@a_3^<*4vՕhڔ%d@Ij+τxڹ4Ir3i6GI,> oSU[*P Fְ^q#ʤ%|ϣ&dVƟH} f3ڌ kU*/P*1"8Њ9?FĬ2ֺ":WgyT(aEPEPEPEPEPEPEPTQEHQEQEQEQEQEQEVī|3ϛ>:k9ohF*|V_3ʵ=O↛c-qEo69@IM5_iHW  ?"5Efaj,aSmXo/xtw _ kw T gЁQpu_ oÍ{ʲL.2/.8Zzxڼ^,_GmJdLpX};~|DT5ݷӿDaCV, $zg:ʹ>#).1#qR9]5h3H?@kj¤9>%-/V:qSS\uO֢Lo"ӃQmb>V8&[Z"L(ouPc1YSiJQ愣hZ>tKTɪ2e(z5[Gq4V\L" @5%QPcmqn R}ը7wcʦ)'es?)ofO [-Gi3q`2)//>%~x^̀8QvU/x? Gqu_IA8+liϧ5}{aT2ݵߛ'Ao=oC&o95r)r L^#->i~#|Uk%awg7k/|#񞊦xg`r\F'aH8_:zQ Ƥ4]}k?@e'fo'[SMww6ڏ$  c o^.kGks'ˡ'O={f;8[\0"4g'|2wZU{%O$ 7Oq񥍓@@$+aB?yݏ8:W? |5oind ZD# Yϻ1'ʕF]en[/ױ?u0.YZm7f5% lX坏 =di>QRRwe^%SӢ>>n$acmcUIh1&;M|ui/ ϋ<r" 9Mř2X9z T"2 7JVk?Xә۹ʼnx"ɴMgZfKYCQyu)N~tLFB; *9p<.K+YRQmo[.Vb?xn  t;y;:}[_GWMث7Q_)o.  lr01^JREt"Ї$*.xSYrIySTΗƕd)>4KZ!@dyB=]xVϋcF&ˆ΀,8l`r^.'%pak*j;5FѬds+=#>6{`D4sܟdW_P-BEw'ɸ<>H`3^Z`rW2knyw^~u=+xwU![H'-jo/7w^ӧeˌ3=+;q㫏ڣƺG۸u]VkrɞvF@'HYrAE؊9w}E|;φ~WŽkY{^̅T:ʡ`8W|&#!kxGla]@ƿ(0=nrEGN.]MK{Y면+^\VgQ_#xNONV-o'ap#/,p OşQߌ'qr ''ic$éG9#]5o܏i{Z^mk⮝9B(!eeܛb?##x߀|[CO|U41GYZ FܫGDE#2Eqa2_iAq5('vmI-t˕kK*q|Ymw?=3Yu +O;:B( NONj#x/L |ys IW6GQ*Cdtŝ_WIy[ .RxQ+NZ9in(w>Z|U'3W#m.O.[,3z 99'i_ )xs5׈1pMđƸS!ݒ1 z`BR)'V{zmi^q+EE|ɦ|i ku ~e9xn q\;|I|~>>|Jn5<3Z L(HvPV;siȡjT׍WOY$iwWZՠUҔmsJ+_9cG>n|d-2#,nOG1JSZ ySaQ}.`[7 m=5fJ8r)_p6_/SS:U:W{5j}M<?SY:}2t'A_P7ͭLzj:%2֡ˌ8  y? hp\jlP#zݱz䓓$[|q}ocTwk(Gm6 . p4Q˖E>^goT+oGJSj+Ok k-2B`}s-$eRь}}Ua/7 J"F:*G={_+}2\d"*Tsq_O(Q4RPSMvݛ>֢q\Iac#3ђ_]<9^."\#$@T0:w]âS4->a]NZb2ndz9|>Żs-nWbgmO]ӗ:fh?R$qwgbOI5&~̃H4GȰdy&ʴ{bL1k J Y`6ᕀ kU"5vw:"w+%#b )Vdiۆ>Yi,okK.#](BJ:Wew3ږ^]ij!H. qq1 -\#MFirWv{ܘMR_+tkPV;Ғ%71Xs^G v Wv&+$2Lc-`G#K)#WŐE`j73˜qq|?>(~w7|}/ p]YeRx, LmΒe ӌԗ>\;]֚g49]+tI/?&]D;O*{teC( f}+M4o5 [\(pd@޾iOt <'K4׷; 2<|.JqnãhvEKv9w`'85 ZQT+rA|=5|kւNNJ͟8~^) bT]G!.\Q Ixuk!/u[Xl:2 ?Ni7ykVgbxДhS Ki6ngbkyǦ{/Z鶪Y~r+KN,ƹզq^iTI6I@/ۋYȷn.9XOڱ<\Ʉ+ ?ཷ>Q.bK`m$Ȏd| $0 <ך&<%j=׃|B!P\'fQUoֽ]YUUj*2-{߯cEhe&,oiyfFoPOsW|Wo]^j1V B/T;VL 1eEbhe-#dWye5-`=: ;ž1Ŀ-mM O?a U C73 c cV=qey ⏂SLh[3ilalr2GBӾo ]R++aG @6Nka`(*U#rN2wM_>&h,MܛRvǦ}\_č+iעY>{1*>¼e_ ~.L o,3M}-D兲wo8fې1]'w[fwii,(y~xFV<+'pA#Qp\5V..ͣe(7o{i,O5R |[|Iյ6WXݙh xHȏᝬZ+Gh 1'I]ovkM Lq]37,zp1ГÍWդi7.q-.Os(vW|MoEg<ֲxϷ_SV<-w2Y^ǵ]OfROJ|1Yn>&J/_FtV ; _غN6 #_A*18z/h?6 KoxzIK'k'LEDca#Ԟ*_KOO xnZm y$CO!w+pA׭SγU?bK;vf +8gmz\[idxxI2FVqm<ט7?-  υ:]Qa.yo`(rp=\1ixVϡpݭb0N"qV<ҷˠ¾X8Z7z^]ؗ{)$'oWx5nE|*p]e_MO Gj/,v#@~~Դ?V -]EwjfIW~7#ʷc޹u,6Urh˖%۷K89U>#C4](ʆ̻@~mB2F^WIσ5O.hRi/*[H˃c4>5 OžنK&e .T3x>9v:g4[of5ԑc-#XFM}M\dxu-sZ<뭭s Cs@<78?no5h$rv9i=~PGkd_MhpA K+ WcvGͷs[?mǨoPWwߴgx=| k}>I7L+PYC1Ӕ3 U!9I)_KӡN֍/U4ZxSQ-mG҇fU2Js? ߉̿3'ۂ(S((((((((((((((((((((((((KWStyle-master/Documentation/logo.psd000066400000000000000000006073461265471724600202300ustar00rootroot000000000000008BPS  <8BIMHH8BIM x8BIM8BIM 8BIM 8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIM8BIM 8BIM@@8BIM8BIMi logo 8BIM8BIM 8BIM p8PIJFIFHHAdobed            8p"?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?I$VjI$RI$+J5yP^B;a1t`?5\Ga$;_{~mIpo@I%)$IOI$VjQo>lv"v/Uꏧ͏ ;j>Iccl1$\]*:K/m!?ZGUUj⺝Kv 7~o,\v>&VBWgO{\ gclYQ_Ud2c.7q˕4%. V/DodI#sk?sfߡ>t*O[/ z'Kʬ#mޯϡǧ?1nFV { _z3#gGڪ-k^X7v?OEpt/1 qsg'W\d$z`o2z<_K '!æ]MhDzi>[N3v^koZ询̖u Wc@ue.7fܹ:7NJ:u 1Y,qL2fƻ?3eUŬ-x:2Fo4MtW9^rc=Y/8pߔ}>uԏղ_OHˍ}9\ίf[Χlvyt54#_u[gt[qؽz&ݟ޳~ׁӺ6GRn&gNcӾ̊RZ?MݿֺJ\%35F7/WpG ׋)$yIg2I$VjJRI%/%We pkGgBBi1t[Quu~6qo ]I_OvzEeg[6ү'"#X_^O9_'C_LAkkm mv9weIgJp'ʲHgO5:PC!h'1_=.%Ďb E{hmtc!ĵOvC~(d{E_^G.-Oھ7oVI}P}zU\>%}[[sT ƹmVeT~g?ƻiC[_kaEj~gߥq$=+®IyKy7^xJ} %$פt+ PKnW;?s/G*% K椒SK椒S8BIM!UAdobe PhotoshopAdobe Photoshop 6.0Ő| """8BIMnorm)( Background8BIMluni Background8BIMlnsrbgnd8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMfxrplW 8BIMnorm(G(style8BIMlfx2tnullScl UntF#Prc@YmasterFXSwitchboolDrShObjcDrSh enabboolMd enumBlnMMltpClr ObjcRGBCRd doubGrn doubBl doubOpctUntF#Prc@HuglgboollaglUntF#Ang@^DstnUntF#Pxl@CkmtUntF#PxlblurUntF#Pxl@NoseUntF#PrcAntAboolTrnSObjcShpCNm TEXTLinearCrv VlLsObjcCrPtHrzndoubVrtcdoubObjcCrPtHrzndoub@oVrtcdoub@o layerConcealsbool8BIMlrFX8BIMcmnS8BIMdsdw3x8BIMmul z8BIMisdw3x8BIMmul 8BIMoglw*8BIMscrn8BIMiglw+8BIMscrn8BIMbevlNx8BIMscrn8BIMmul 8BIMsofi"8BIMnorm8BIMTyShA??@t@l2TxLrTxt TEXTstyleTxtCObjcnullHrzndoubVrtcdoub textGriddingenum textGriddingNoneOrntenumOrntHrznAntAenumAnntAnSt EngineDatatdta@ << /EngineDict << /Editor << /Text (style ) >> /ParagraphRun << /DefaultRunData << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> /RunArray [ << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> ] /RunLengthArray [ 6 ] /IsJoinable 1 >> /StyleRun << /DefaultRunData << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 240.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> /RunArray [ << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 240.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 159.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 1 >> >> >> << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 130.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 1 >> >> >> ] /RunLengthArray [ 1 1 4 ] /IsJoinable 2 >> /GridInfo << /GridIsOn false /ShowGrid false /GridSize 0.0 /GridLeading 0.0 /GridColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /GridLeadingFillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /AlignLineHeightToGridFlags false >> /AntiAlias 2 /UseFractionalGlyphWidths true /Rendered << /Version 1 /Shapes << /WritingDirection 0 /Children [ << /ShapeType 0 /Procession 0 /Lines << /WritingDirection 0 /Children [ << /Procession 0 /LineTop -238.00781 /Leading 288.0 /WordStarts [ 0 6 ] /CharacterCount 6 /Segments << /WritingDirection 0 /Children [ << /Range [ 0.0 30000.0 ] /Words << /WritingDirection 0 /Children [ << /Type 0 /Base << /CharacterCount 6 /Advance 381.56836 /TrailingAdvance 32.50000 /Leading 288.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 240.0 240.0 ] /FontSize 240.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 0.0 0.0 ] /GlyphMaps [ 86 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 124.80469 0.0 ] >> << /Font 1 /Direction 0 /GlyphDirection 0 /Scale [ 159.0 159.0 ] /FontSize 159.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 124.80469 0.0 ] /GlyphMaps [ 87 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 176.66602 0.0 ] >> << /Font 1 /Direction 0 /GlyphDirection 0 /Scale [ 130.0 130.0 ] /FontSize 130.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 176.66602 0.0 ] /GlyphMaps [ 92 79 72 3 ] /LigatureMaps [ ] /Flags 68 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 381.56836 0.0 ] >> ] >> >> >> ] >> >> ] >> >> ] >> /Cookie << /Photoshop << /ShapeType 0 /PointBase [ 0.0 0.0 ] /Base << /ShapeType 0 /TransformPoint0 [ 1.0 0.0 ] /TransformPoint1 [ 0.0 1.0 ] /TransformPoint2 [ 0.0 0.0 ] >> >> >> >> ] >> >> >> /ResourceDict << /KinsokuSet [ << /Name (PhotoshopKinsokuHard) /NoStart (!\),.:;?]}    0!! 0000 0 0 0000A0C0E0G0I0c000000000000000000000000 =]) /NoEnd (\([{  00 0 0000 ;[) /Keep (  %) /Hanging (,.00) >> << /Name (PhotoshopKinsokuSoft) /NoStart (  0000 0 0 00000000 =]) /NoEnd (  00 0 000;[) /Keep (  %) /Hanging (,.00) >> ] /MojiKumiSet [ << /InternalName (Photoshop6MojiKumiSet1) >> << /InternalName (Photoshop6MojiKumiSet2) >> << /InternalName (Photoshop6MojiKumiSet3) >> << /InternalName (Photoshop6MojiKumiSet4) >> ] /TheNormalStyleSheet 0 /TheNormalParagraphSheet 0 /ParagraphSheetSet [ << /Name (Default) /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> ] /StyleSheetSet [ << /Name (Normal) /StyleSheetData << /FontSize 18.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 27.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 2 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (BookmanOldStyle) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.31982 /Ascent 0.99170 /Descent 0.31787 /CapHeight 0.70399 /DistanceToBaseline 0.99170 /UnderlinePosition 0.12500 /UnderlineThickness 0.06006 /HCJKProporitional false /VProporitional false >> >> << /Name (BookAntiqua) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.03613 /Descent 0.31104 /CapHeight 0.70099 /DistanceToBaseline 1.03613 /UnderlinePosition 0.13086 /UnderlineThickness 0.05811 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> warp warpStyleenum warpStylewarpNone warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrzn8BIMlunistyle8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMfxrp@\B* 8BIMnorm(B( The Source8BIMTyShB??@r@p2TxLrTxt TEXT The SourceTxtCObjcnullHrzndoubVrtcdoub textGriddingenum textGriddingNoneOrntenumOrntHrznAntAenumAnntAnSt EngineDatatdta@ << /EngineDict << /Editor << /Text (The Source ) >> /ParagraphRun << /DefaultRunData << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> /RunArray [ << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> ] /RunLengthArray [ 11 ] /IsJoinable 1 >> /StyleRun << /DefaultRunData << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 40.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> /RunArray [ << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 40.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> ] /RunLengthArray [ 11 ] /IsJoinable 2 >> /GridInfo << /GridIsOn false /ShowGrid false /GridSize 0.0 /GridLeading 0.0 /GridColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /GridLeadingFillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /AlignLineHeightToGridFlags false >> /AntiAlias 2 /UseFractionalGlyphWidths true /Rendered << /Version 1 /Shapes << /WritingDirection 0 /Children [ << /ShapeType 0 /Procession 0 /Lines << /WritingDirection 0 /Children [ << /Procession 0 /LineTop -36.87988 /Leading 48.0 /WordStarts [ 0 4 11 ] /CharacterCount 11 /Segments << /WritingDirection 0 /Children [ << /Range [ 0.0 30000.0 ] /Words << /WritingDirection 0 /Children [ << /Type 0 /Base << /CharacterCount 4 /Advance 80.03967 /TrailingAdvance 11.12000 /Leading 48.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 40.0 40.0 ] /FontSize 40.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 0.0 0.0 ] /GlyphMaps [ 52 72 69 0 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 80.03967 0.0 ] >> ] >> >> >> << /Type 0 /Base << /CharacterCount 7 /Advance 137.83936 /TrailingAdvance 11.12000 /Leading 48.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 40.0 40.0 ] /FontSize 40.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 80.03967 0.0 ] /GlyphMaps [ 51 79 85 82 67 69 229 ] /LigatureMaps [ ] /Flags 68 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 217.87903 0.0 ] >> ] >> >> >> ] >> >> ] >> >> ] >> /Cookie << /Photoshop << /ShapeType 0 /PointBase [ 0.0 0.0 ] /Base << /ShapeType 0 /TransformPoint0 [ 1.0 0.0 ] /TransformPoint1 [ 0.0 1.0 ] /TransformPoint2 [ 0.0 0.0 ] >> >> >> >> ] >> >> >> /ResourceDict << /KinsokuSet [ << /Name (PhotoshopKinsokuHard) /NoStart (!\),.:;?]}    0!! 0000 0 0 0000A0C0E0G0I0c000000000000000000000000 =]) /NoEnd (\([{  00 0 0000 ;[) /Keep (  %) /Hanging (,.00) >> << /Name (PhotoshopKinsokuSoft) /NoStart (  0000 0 0 00000000 =]) /NoEnd (  00 0 000;[) /Keep (  %) /Hanging (,.00) >> ] /MojiKumiSet [ << /InternalName (Photoshop6MojiKumiSet1) >> << /InternalName (Photoshop6MojiKumiSet2) >> << /InternalName (Photoshop6MojiKumiSet3) >> << /InternalName (Photoshop6MojiKumiSet4) >> ] /TheNormalStyleSheet 0 /TheNormalParagraphSheet 0 /ParagraphSheetSet [ << /Name (Default) /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> ] /StyleSheetSet [ << /Name (Normal) /StyleSheetData << /FontSize 18.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 27.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 1 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (ArialMT) /Script 0 /FontType 0 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.27800 /Ascent 0.92200 /Descent 0.25000 /CapHeight 0.72800 /DistanceToBaseline 0.92200 /UnderlinePosition 0.09999 /UnderlineThickness 0.04999 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> warp warpStyleenum warpStylewarpNone warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrzn8BIMluni The Source8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMfxrp@^@"L 8BIMnorm(E(KW8BIMlfx2TnullScl UntF#Prc@YmasterFXSwitchboolFrFXObjcFrFXenabboolStylenumFStlOutFPntTenumFrFlSClrMd enumBlnMNrmlOpctUntF#Prc@YSz UntF#Pxl@Clr ObjcRGBCRd doubGrn doubBl doub8BIMlrFX8BIMcmnS8BIMdsdw3x8BIMmul 8BIMisdw3x8BIMmul 8BIMoglw*8BIMscrn8BIMiglw+8BIMscrn8BIMbevlNx8BIMscrn8BIMmul 8BIMsofi"8BIMnorm8BIMTyShA??@g@l@2TxLrTxt TEXTKWTxtCObjcnullHrzndoubVrtcdoub textGriddingenum textGriddingNoneOrntenumOrntHrznAntAenumAnntAnSt EngineDatatdta@ << /EngineDict << /Editor << /Text (KW ) >> /ParagraphRun << /DefaultRunData << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> /RunArray [ << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> ] /RunLengthArray [ 3 ] /IsJoinable 1 >> /StyleRun << /DefaultRunData << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 90.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> /RunArray [ << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 90.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> ] /RunLengthArray [ 3 ] /IsJoinable 2 >> /GridInfo << /GridIsOn false /ShowGrid false /GridSize 0.0 /GridLeading 0.0 /GridColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /GridLeadingFillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /AlignLineHeightToGridFlags false >> /AntiAlias 2 /UseFractionalGlyphWidths true /Rendered << /Version 1 /Shapes << /WritingDirection 0 /Children [ << /ShapeType 0 /Procession 0 /Lines << /WritingDirection 0 /Children [ << /Procession 0 /LineTop -82.97974 /Leading 108.00001 /WordStarts [ 0 3 ] /CharacterCount 3 /Segments << /WritingDirection 0 /Children [ << /Range [ 0.0 30000.0 ] /Words << /WritingDirection 0 /Children [ << /Type 0 /Base << /CharacterCount 3 /Advance 170.00793 /TrailingAdvance 25.01999 /Leading 108.00001 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 90.0 90.0 ] /FontSize 90.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 0.0 0.0 ] /GlyphMaps [ 43 55 229 ] /LigatureMaps [ ] /Flags 68 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 170.00793 0.0 ] >> ] >> >> >> ] >> >> ] >> >> ] >> /Cookie << /Photoshop << /ShapeType 0 /PointBase [ 0.0 0.0 ] /Base << /ShapeType 0 /TransformPoint0 [ 1.0 0.0 ] /TransformPoint1 [ 0.0 1.0 ] /TransformPoint2 [ 0.0 0.0 ] >> >> >> >> ] >> >> >> /ResourceDict << /KinsokuSet [ << /Name (PhotoshopKinsokuHard) /NoStart (!\),.:;?]}    0!! 0000 0 0 0000A0C0E0G0I0c000000000000000000000000 =]) /NoEnd (\([{  00 0 0000 ;[) /Keep (  %) /Hanging (,.00) >> << /Name (PhotoshopKinsokuSoft) /NoStart (  0000 0 0 00000000 =]) /NoEnd (  00 0 000;[) /Keep (  %) /Hanging (,.00) >> ] /MojiKumiSet [ << /InternalName (Photoshop6MojiKumiSet1) >> << /InternalName (Photoshop6MojiKumiSet2) >> << /InternalName (Photoshop6MojiKumiSet3) >> << /InternalName (Photoshop6MojiKumiSet4) >> ] /TheNormalStyleSheet 0 /TheNormalParagraphSheet 0 /ParagraphSheetSet [ << /Name (Default) /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> ] /StyleSheetSet [ << /Name (Normal) /StyleSheetData << /FontSize 18.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 27.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 1 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (ArialMT) /Script 0 /FontType 0 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.27800 /Ascent 0.92200 /Descent 0.25000 /CapHeight 0.72800 /DistanceToBaseline 0.92200 /UnderlinePosition 0.09999 /UnderlineThickness 0.04999 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> warp warpStyleenum warpStylewarpNone warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrzn8BIMluniKW8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMfxrp@:@Mo8BIMnorm(C( Code Checker8BIMTyShB??@@p2TxLrTxt TEXT Code CheckerTxtCObjcnullHrzndoubVrtcdoub textGriddingenum textGriddingNoneOrntenumOrntHrznAntAenumAnntAnSt EngineDatatdta@ << /EngineDict << /Editor << /Text (Code Checker ) >> /ParagraphRun << /DefaultRunData << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> /RunArray [ << /ParagraphSheet << /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> /Adjustments << /Axis [ 1.0 0.0 1.0 ] /XY [ 0.0 0.0 ] >> >> ] /RunLengthArray [ 13 ] /IsJoinable 1 >> /StyleRun << /DefaultRunData << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 40.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> /RunArray [ << /StyleSheet << /StyleSheetData << /AutoKerning true /FontSize 40.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 0.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst false /Font 0 >> >> >> ] /RunLengthArray [ 13 ] /IsJoinable 2 >> /GridInfo << /GridIsOn false /ShowGrid false /GridSize 0.0 /GridLeading 0.0 /GridColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /GridLeadingFillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /AlignLineHeightToGridFlags false >> /AntiAlias 2 /UseFractionalGlyphWidths true /Rendered << /Version 1 /Shapes << /WritingDirection 0 /Children [ << /ShapeType 0 /Procession 0 /Lines << /WritingDirection 0 /Children [ << /Procession 0 /LineTop -36.87988 /Leading 48.0 /WordStarts [ 0 5 13 ] /CharacterCount 13 /Segments << /WritingDirection 0 /Children [ << /Range [ 0.0 30000.0 ] /Words << /WritingDirection 0 /Children [ << /Type 0 /Base << /CharacterCount 5 /Advance 106.71936 /TrailingAdvance 11.12000 /Leading 48.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 40.0 40.0 ] /FontSize 40.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 0.0 0.0 ] /GlyphMaps [ 35 79 68 69 0 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 106.71936 0.0 ] >> ] >> >> >> << /Type 0 /Base << /CharacterCount 8 /Advance 158.43994 /TrailingAdvance 11.12000 /Leading 48.0 /TrailingCharacterCount 1 /StyleRunAlignment 2 /Language 0 /IsBrokenWord 0 /BreakType 0 /StartHang 0.0 /EndHang 0.0 /MojiKumiFirst 0.0 /MojiKumiMiddle 0.0 /MojiKumiEnd 0.0 /Strikes << /WritingDirection 0 /Children [ << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 40.0 40.0 ] /FontSize 40.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 106.71936 0.0 ] /GlyphMaps [ 35 72 69 67 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 200.07874 0.0 ] >> << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 40.0 40.0 ] /FontSize 40.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 199.27917 0.0 ] /GlyphMaps [ 75 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 219.27917 0.0 ] >> << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 40.0 40.0 ] /FontSize 40.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 218.47961 0.0 ] /GlyphMaps [ 69 ] /LigatureMaps [ ] /Flags 4 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 240.71960 0.0 ] >> << /Font 0 /Direction 0 /GlyphDirection 0 /Scale [ 40.0 40.0 ] /FontSize 40.0 /Tracking 0.0 /AntiAlias 2 /Kerning 0.0 /Origin [ 240.71960 0.0 ] /GlyphMaps [ 82 229 ] /LigatureMaps [ ] /Flags 68 /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /OriginEnd [ 265.15930 0.0 ] >> ] >> >> >> ] >> >> ] >> >> ] >> /Cookie << /Photoshop << /ShapeType 0 /PointBase [ 0.0 0.0 ] /Base << /ShapeType 0 /TransformPoint0 [ 1.0 0.0 ] /TransformPoint1 [ 0.0 1.0 ] /TransformPoint2 [ 0.0 0.0 ] >> >> >> >> ] >> >> >> /ResourceDict << /KinsokuSet [ << /Name (PhotoshopKinsokuHard) /NoStart (!\),.:;?]}    0!! 0000 0 0 0000A0C0E0G0I0c000000000000000000000000 =]) /NoEnd (\([{  00 0 0000 ;[) /Keep (  %) /Hanging (,.00) >> << /Name (PhotoshopKinsokuSoft) /NoStart (  0000 0 0 00000000 =]) /NoEnd (  00 0 000;[) /Keep (  %) /Hanging (,.00) >> ] /MojiKumiSet [ << /InternalName (Photoshop6MojiKumiSet1) >> << /InternalName (Photoshop6MojiKumiSet2) >> << /InternalName (Photoshop6MojiKumiSet3) >> << /InternalName (Photoshop6MojiKumiSet4) >> ] /TheNormalStyleSheet 0 /TheNormalParagraphSheet 0 /ParagraphSheetSet [ << /Name (Default) /Properties << /Justification 0 /FirstLineIndent 0.0 /StartIndent 0.0 /EndIndent 0.0 /SpaceBefore 0.0 /SpaceAfter 0.0 /AutoHyphenate true /HyphenatedWordSize 8 /PreHyphen 3 /PostHyphen 3 /ConsecutiveHyphens 2 /Zone 36.0 /HyphenateCapitalized true /WordSpacing [ 0.80000 1.0 1.33000 ] /LetterSpacing [ 0.0 0.0 0.0 ] /GlyphSpacing [ 1.0 1.0 1.0 ] /AutoLeading 1.20000 /LeadingType 0 /Hanging false /Burasagari false /KinsokuOrder 0 /EveryLineComposer false >> >> ] /StyleSheetSet [ << /Name (Normal) /StyleSheetData << /FontSize 18.0 /FauxBold false /FauxItalic false /AutoLeading true /Leading 27.0 /Tracking 0 /HorizontalScale 1.0 /VerticalScale 1.0 /AutoKerning true /Kerning 0 /BaselineShift 0.0 /FontCaps 0 /FontBaseline 0 /Underline false /YUnderline 1 /Strikethrough false /Ligatures true /OldStyleFigures false /ProportionalNumbers true /BaselineDirection 1 /Tsume 0.0 /StyleRunAlignment 2 /Language 0 /WariChuLineCount 1 /WariChuScale 1.0 /WariChuWidowPercentage 25 /WariChuOrphanPercentage 25 /NoBreak false /FillColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /StrokeColor << /Type 1 /Values [ 1.0 0.0 0.0 0.0 ] >> /FillFlag true /StrokeFlag false /FillFirst true /Font 1 >> >> << /StyleSheetData << >> >> ] /FontSet [ << /Name (ArialMT) /Script 0 /FontType 0 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.27800 /Ascent 0.92200 /Descent 0.25000 /CapHeight 0.72800 /DistanceToBaseline 0.92200 /UnderlinePosition 0.09999 /UnderlineThickness 0.04999 /HCJKProporitional false /VProporitional false >> >> << /Name (TimesNewRomanPSMT) /Script 0 /FontType 1 /Synthetic 0 /FontMetrics << /FontSize 1.0 /SpaceGlyphWidth 0.25000 /Ascent 1.00684 /Descent 0.30664 /CapHeight 0.67799 /DistanceToBaseline 1.00684 /UnderlinePosition 0.10889 /UnderlineThickness 0.04883 /HCJKProporitional false /VProporitional false >> >> ] /SuperscriptSize 0.58300 /SuperscriptPosition 0.33300 /SubscriptSize 0.58300 /SubscriptPosition 0.33300 /SmallCapSize 0.70000 >> >> warp warpStyleenum warpStylewarpNone warpValuedoubwarpPerspectivedoubwarpPerspectiveOtherdoub warpRotateenumOrntHrzn8BIMluni Code Checker8BIMlnsrrend8BIMlyid8BIMclbl8BIMinfx8BIMknko8BIMlspf8BIMlclr8BIMfxrp@sp@ 뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"# ')+*,&%$"'%$$'&(((()'$ !)#"$%!#!9X;9BZJB?@BCBBA@?AEGFEECEGC>>CI@@><>=@>?<?@BAB@<?BIRJDCK?G<=?A:  @`@ `0p@@ @pp@0`0@p@0p@`йPP0@ p0 `p  0`00@0p0`0P0@@` 0 @@`0p`PpP@P@@@ @p@@0P@ P0@@P@0@ @P@p0@Pp`@@`@@@@0@@p@`@P P @P `@@0 p P```@`@`P `0 P@ P@` p p @`@@0@@`p@ `@@p`0@p@``0@`0@`0@@@@ P`@@@@ 00 @@@p`0@@@``@ @p`@@pp0@ 0pPP@ @`@p`0@``@p@``p0 @``@ 0`@@0P 0@`p`@``pp@0` 00`@@0@  P0`@@`p`P`@p0@`@``@0P @@p pp@0@0@@`@@`0@@@``@ @00@````@@@@@00@Pp`@ 0@@@p0`@0@@ @`@p0@```@@ P@@@`@ @@0@0@ 0 @``@`@@0`0`@@p 0`@@p@00@0@@```Pp P  @@@@0@@`0@ ``0``@P@@00@`@`@0 @p0 0 PP`00@`@ PఀP@@```@0  pPP0PP`P 00000  @ P`` 0P 0` @0p@0P@@` ` `@@``0P`@@P`  pP@``Ppp  pp ``@``P` @P0pp  @p@@`p@ P` ` @``@ 0 P `@@P0`` @  p p0@`Pp     !$""HtaozsoiZVf^o|z\f>@00P@@@0`@P@p@p@`@@@@@@@@0@0 @@0 `@0p``00`00  @@p`0`@@@@ ``@@ 0 ` @@@PP@P `p0Ѐ@0`@@@@@0@ P @`0@`P0@@@00p0 @@@@P0 p@@@P@@ p@00P`@0@@@pp@@`@ p@@@@0@@@`0ppP@@@@@@P@@@@@@@`p@@@@@@@`p`@@@@0@@@@P@@@@@P @0@P@`` @@p `p@@@`0p@@0 00``@@PP@@@p @@`@@@ @pP 0```0  @`p `   @@А@@ࠀ``@@ppp00@``@@0P @ @`@@0 `p0 Pp@ `@`p @p  `` ")**()+++//11//33331223220/10.,.-0034002330042000,./-+)'"#"#"#"#!@ 0PP`@0@P@0p 0@0@pp`@00@0 p@0p`P0@00p@@0P@0 @0`P`0 p@0  ` @0p@0@`P@0P@  P@0`P`@0`@0```0@0`@0 0@0`p``@0`0`@0`p@ `@0@0 @ @00`P@00``P@00` P@00 `@0P0pP@0@pP0p@0P00@0pp@Pp`P00`@`  P`0pP@P0pp @0p0PpP 0 @p `P 0 `pp`P@@ @`@P@@P@p@@@0@00@@0@ p@`@p`@pp @p@ 0p @`0@@@P@@`P@@ `@ pp@0 @0P0@P@`P@ `@`@ @@@@01-,@>=9q{eowS @ 0@p` @0`P 0@0``@0p@``@@PP@ @P``@P0  `@``@`  @@0@0@0 pp@@@@ @0 @@000P``   p` @````@0@`P00000`p `` @`P000`@P @`` P``` @@ P0P `p@P @ Ѐ@ 0`0`@``0`@0P@0@ @@`P`@@` P@00pp```0@`@ P@@0```@0@@p`@@000@00@@`@0P@@00@@@@@@@@@@P@p @@0p`@p@000P 0p P@@p@P`P @@p@@@@P pp PP@`@P`@ @` 0 `p`@0@@``p@`@`0`` p0@@` @PPP0@  00p00P@ @p  @p   ``0Ѐ𰀀@0@`А0@```0`p@`00@`P` @  ` @ @ ` @P00pPPP ``0pP@@Pp0`P `` 8BIMPatt"## !',08=EFHEDBCMNKNNMMLKHIJIHGFFN>>=4242Q|fiv{x~znnnnnmmjkqs|uwypxt}mM("""!2JGDXUTQ , 6"##'((%" (,6:=BHOTWYY][ZTTQR[\X[\[ZYYVUWVVVVU]OKrc^ba~  }X,"""!2P`[mstn<C7" 9KVfH J"#!#%&$" (,59=AGOQUWVXXYQONNWXWXXXWSPRSUSTUTSXI>i`]_^z~K<)!!!!1P`[mstn<C7" 5GQbBJ߮o}|?L3^iq? Qgu2Q ys@Gʿ^__ȼ~ O_ ¶\%o Ȼ'-? )߿? ĵ r&? Ƿ <6ȹuFʺUFʺ*QF Iɬ F b}P ¸7h;j ӵ 2<k ȿ"v <k ""}<l "הG<l 7"/'<l 9"ݘ 2a<;#0 2[<<F 9b<<Fٔ<<FѾ[<Fʸy<GǺy<Gz"<Gz"<G~<G _<Gm?<Y.<k>_<k] <l(<l]!"4GHIIJIH\<l_??oϖM >=<:pkfa]XTQ&!P3bw|_??O_?<lOoΙ= źI!.~<mo>= ŹI!0z<m_=[ M!2t<m_*765zĺT"ѯ76v9) 6<m PZ, ^"p ϻ0 <m/h+y i"fm Ļ7 <maļEV;p#Ƚ*v _O<m_ ¹_cv#úI ĻJ<m_¸_y#ȿ+ V<m_I ž0 z#ȁԧ<m_· h z#TbW<mk ʽL (z#r <m Ϝzmz# ^<m_M #"z#MH_ <mZ_*2z#  d<m_nMz#3w <m=>h"z#4O S<mUr3z# <m/g8 }"9z#j` V<m9 ƾlz# <muv ú6pz#N B<m_!wtƽ\?z#?_ <m/"xLȾ{ z#  D<m"yJȽbz#l <mny[I ŹFz# )/ .<m?R ˾wz#O <m~m ptz#J_ <m}lrz#&  s<m] !2KnTpz#n <m=4Md`[Tumzoz# */ ^<m=D mz#O <m=2mk#K_ T<m=! =#' <m<! =#n I<mj3=# * <mzU=O %<mzoy<@? x<mT<' <m.T<n_ a<d  <  <H:n C<O J<Hf; ~<p@ <H  B<o' %<H T ~<JW- x<HT  d<.  Щ <HM :<OoD a<H5/ ~<O -G_ lK '! IG3#? ly 5%Oo/ So "#e'O [ D_{O k#/  l, ܻ!9=tV' Bӧ <O:  ~ms˕Mϯ?d` * iŧ]B& uO e_?/8 νl }:tٸ7 1 K= ̼J?S}κs z : ˼H$lKt Ƴ^< 2}{xtqn}tmgdeinvyehj ;a<Cp!:[} uN*!2KtB u µ(zfC2!""#$%&&'PZy!2BKdt !ȿ Ȼõ UŻ ȼ ȿ ļǾ h J  ¼   @  ?   0 o   {/ eO M߰_ ?O?oo/_o?? 4????_ _?? _/o?oo?_ ~?? =?/_?/e?_?o ??/??߿OKO//O?o_o_?_O//?/o?_o??oO???____z///?/o??/?/_o?oo?ok? J=o/???_?//?//?/_?_?_?/O_??_oZ{}/ /O??_??/?/?o_/?////__?/// k___?_?_/_?/?_?/_/_/ H/?o???///O?_?? #???_O??O?__/?oo/?o/N "o__???o?_?/??o_??? L????oO_?o/z??/???oO??/w _????????????ۈX'$"!!3Mz??O?????/_??/?oo??????Ű??/??/?O/O?ȵO_o??O?_?o??/_/Ͼ ___?/O??????_?_O_??_/o_O__?/?/O??_?/O??/?o?/???OO?__/_?___o__/___o//?//?o//o_o?///_OO/?O/?OO/_/??/o?/O/_?/oO???O_???_?/_/?/O___??O_???O?O_?o/?O__O___??_O_?__?/???o?????ϏߟϏߟߟ뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁뀗󁀁`P@(  8@`p󁀁xP0?h󁀁xH/_ծ󁀁`(i󁀁` w󁀁h v󁀁x8<y󁀁`H1󁀁HY󁀁x0dk󁀁x<󁀁x! 󁀁x.?CCCD@. 󁀁2CDEEFFGGHGFE<& M󁀁0 6CCDDEFGHJKLMMNNMMLLKJHHF<󁀁P &CCDEFGIKMOQRSUUV UTSRQOMLJHC"󁀁p 6CCDFHJMPSUXZ\^_`a `_^\ZXVSQNLJCb󁀁 6CDEGJMQTY\`cehijklkjigec`]ZWTQNKo/󁀁`6CDFHKPTY^cgjmoqsttutsrqonkhea^ZVRM y󁀁*CDFIMRX^cimpsuwxyzz{zyxwvtrolhd`[smy󁀁`CDFINSZagmquxz{|}~~}|{zywurnje=Cy󁀁(2DFINT[cjpux{}~~}|zyvsoZ[y[󁀁x DEHMS[ckqwz}~~}{ywɿxK[y󁀁P DGKRZckrx{~ }|Ź{W#j󁀁/ /FIOWajrx|~ ˿&+y<󁀁 3GLS]gow{~ ķ'նy<󁀁 4IOXbltz~ Ȼ l$<󁀁o0KR\fpw| ˾ 93󁀁_#MT_jsz~ͿoC󁀁^ NValu{QB󁀁^DWbmu{(MC 򲯩F󁀁^Wbmu{ C ]󁀁e@alu{οwL ƹ󁀁} Yjsz~̼5c9e Ÿ󁀁|apx}ɬ /9f ʿ!󁀁|fu{~p 9f !󁀁}; Uw|~ w9g !󁀁}a2q|~͍C9g 4!󁀁}xD|~-%9g 7!󁀁~y9M}ӑ 0]98!󁀁~ze>v. /W99B󁀁{u).nՔ 6]99C󁀁|waOwώ99C󁀁}yr4/^ǵV9C󁀁~{ul7gt9C󁀁|wpZGo̾t9C󁀁~ztkCOw¾t!9D󁀁|wpf:'Ot!yy9D󁀁}ztlc7/Wxy9D󁀁|xqi_67g [9D~^@^^@Xv^@@^vX@^nP@^~{vof]@h<9UJZR*Bb:*}ztmd\I,9f€~RJbZ^|xskc[S&;[9f€^pR~.v&. ~|xrkc[T?Y 9g€@`R`N ~{wrkc\UO. &9g€@`RFf.f. ~{wrld]VQG$Y 2DEEFEX9g[<<jŖ€@`R&FFN ~{xsmf_YSNE$I ;:97jfa]XTPM%L0]rvyy[<~|zvqke_YTPLI, : ɼE .t9g[:€@`Rb>NVf6}{wsnic]XSOLI:W ƸI 0o9g[(433€@`Rbf.6vFV~|yvqmgb]XSOLIC, tȻP ǧ43Ⲃp6' 49g yLV€@`RbV(~~}{xuplgb]XSPMJH=* ſZ!k ų. 9g-ſc)€@`R b&vn.&~|zwtpkgb]YUQNKIG4t d!`h Ż5 9g\»BR€@`RrFVFnF~|zwtplhc^ZVROMJHG+8k!ʿ)q ·ZL9g[ [^€@`Rn6&fNf~|zwtqmid`\XTQNLJHB' p!ºE ƻG9g[z[€@`R~F.݀ ~|zxurokgc^ZWSPNKIG= t!ƿ) ƿR9g[F .€@`R.~V.ۀ ~}{yvspmiea] YVSPMKIG4 t!ȿ{zʟ9g[ c€@`RN^6vnN؀ ~}|zxurolh d`\YUROLJHG+ t!P]R9gf I €@`Rv>VNvր~|{ywtqnkgc_[XTQNLJHB' 't!l 9g ŕu€@`R n..Ҁ~}|zxvtqmjfb^ZWSPNKIG=ht! Y9g[I " €@`R:6N>Ѐ~}|zxuspliea]YVSPMKIG4t!JDZ 9gyU€@`R:Vf&nn^̀~}{ywurolhd`\YUROLJHG[(0t!ߩ  _9g[ޜi€@`R:~FFNˀ~|{ywtqnkgc_[XTQNL}Jzt!1q 9g9;€@`R:(^6&.&xHh~}|zxvtqmjfb^ZWSc t!ހ1K O9gR€@`R:>6^~F`0~}|zxuspliea]m1t! 9g-b5€@`R:fn~VpnxH?~~~}{ywurolhw!6t!e\ R9g6€@`R:Nn&66V`0c{|~~|{ywtqĽgt!9gpq€@RJ&0NFV6.`vx{}~}|zx3kt!K ?9gZ qo€@RF.nvnVP7sw{~~}ŽX<t!ߜ<Z 9g, rH€@RnvNvvxXrx|~ȿvt!  @9g sG€@ZXf6>&V/ esy}ɿ^t!݀h }9gisWF€@ r.>>Vf6>e&nuz~ ǼCt! '- ,9g<N€@2Nv^f~{Apw|~ rt!K 9gxg€@Rv~v.6v~zBVry} ƹkot!G[ 9gwg€@b^NFNV&~zefuz}ɺmt!$  m9gY /Gj€@z6@.fnn6N~{u! ov{~Qjt!ހi 9g:21I`\VPphs€@:V&Nn|vL4qx|~Քjt! (- Y9g:A €@R~f.6.v}yrCsy}ht!L 9g:0€@bfFN^V6~zu/Xuz}he!H[ P9g:  €@>Hv~f8V|waZvz~:!% 9g:  €@BBf.v&F~~ysiw{~:!ށiy F9ge€@bZV>F(~{uDkx|~1:! ( 9gt€@jbj&p.^f^F}xjlx|~R:L #9gtj€@R"FV>f~zt(ly|~s:=< r9gP€@*Jn6&.|wS ^y}:% 9g,€@jZNV.}yr Wy|~P:ށi[ ]9_€@Z r.nvN~{u6Ay|~ z9  9E7i€@`2*Nn|wb$q|~y @9|Ly F9Eb8€@`zRv6>~zsZ{~ x9j= 9E €@`ZbVf6{vE4s} ?9j% #9E P€@`Bz6~^}xqL|~ x9FށS+ r9DP €@`2V&~~zt(\} _9+  ơ 9DI€@`bR~FN&|wZ]~y 79LjA ]9D3€@`RbfnF}yrN~- x9L +D€@`*>f~{u=/f[ gH % ED1"€@`j:f.6}xi/Ww< gtށ 3ݳ#K€@`ZZVV.~zt!'?X`xj- Oj "`%K€@`:j&v~N|vL W A[uL f"- y€@`z"Fv}yr  6 g * ҳ 6y:€@`ZBn>F~{u/!C?oR% ?ɟ 9K€@`JZff>|wb6DDE/7 ށ xhmIŧy< €@` r.^~zsDEFHHC_[ )y dͼX€@`b*N&.߀{vE EGILNNMB?$ pL ayy[<-69hyȷ9 €@`RJvNN&߀}xj *FIMRUUTQM7/wٻ! H ; Ĵh x€@`*bnvFހ~zt( @HLRY]^]ZUPL?7oϯ4 / H: ³G<€@`r z6nހ|wS EIOW_ehgc^XSNKC, Owım t y7 D#g€@`ZFV66݀ }yri^TMGDCFKR[elopmga[VRNKH='Go νZ9| 0wusokiwogc`_adipys`ce õ]9@k€@`:(~^^6܀~{umcYQKGFEFIOV`jquwupke`ZVRNKIGF4"7Ww ɸoJ(/Go? p½ ƹ(sa@0 !!"#$%%LVs€^~zF~V܀|xqh_VPLKJKOT\enuz{zwsojd_[V SOMJHGFE@3*!/?G_oƷ ʿ ʿ*JZzSJR"ڀ~zume^XTRRSV[bjrx|~~|yvrnjea \XUROMKIHGFEEDCǺ QȼŻ SSZ&FzSSSSـ|xslfa^\[]_cipvz~~}{yvsok gc_[XURPNMKJIHG˿ ʿ  Ļ󁀁~{xsolihhijmqvz}~}{yvtpmjfb_\YWUSQPONMMLǾ c G ¾ 󁀁}{yvtrrqrsuwz|~~}|zxuspmjgdb_][YXWVUT½  ÿ󁀁~|{zyz|}~~|{ywusqomjigecba`_^ = 󁀁~}~~~|{zxwusrponmlkj <  󁀁 ~}|{zyxwvuutts  .󁀁~}||{{zj 󁀁~ 󁀁뀗 v󁀁뀗- 󁀁뀗 `󁀁뀗K 󁀁뀗 Iհ󁀁`x[ <K<jj-[j<<󁀁׀h 8 8ʀh00X 1y<<<<y󁀁׀` ˀx(`[ [<<y󁀁׀` ̀hP [y-j<jj<y󁀁׀` ̀ @0X[ xy<y<y󁀁̀ ` ̀@@xH :<-[<y󁀁̀ ` ̀H`P-`ُ<[y<y󁀁̀ ` ΀x00yj <<-<<yն󁀁̀ ` x`x`` ` KH׺Ky--yK<j[j[<[K--<-yj<y[j<ҕ-9 \l5ϊҕjp1UcFfƹ*ʧWok◇#r(DXX"RVbY䑳$]gϞgS kVc$ 1#8l,>%xbI%զ{5>.ڟ!k%]emˏ|270?s?ZjOA2E|yi"Xikwij5>_>u3YIt˴Xk`"+jcf[ uOi&̿0ꤕc3?;]ϫ "N`X'BmZOk6#1ۃyݍrWeB|ε:QrJg6]6RP܌2VkiٝAER(((((((((*hyf `Y@x5K4W4{wgEu1zu))=?):q[htTW0Yuu*C Kݎǿ ^2sRcfi߻Ħݑ\jv0<3Jcf= ~vZ>%T'$,n7RN+w}B F85'+᫛sŅ܂q]UݽחR QCEʔK}v ,FJ5`{i=x/%vvz}Woaw,14^H'x)q6;P>m=W^.p`&Ridyf>Z[{=d}i*y{E9n+>n|4RA+E4mp5jY^@?儿:~1_)/׍ז}fw/iBv~{?oe.6<_K}RhY?Y'K)vǫn_#Jtb-uy#/BIߦz<>cSZ]޴>i]~3:q`y}&VGZCm:Qm@% 08JСxaWIUNއvwh¤U>7:mZǑ2xѥgf޽'pǵ}w+^(m}*H2\HXk  &k&9o幅&:1 0 ֆk(5䓶{w?TW?B>j]x{N  Qt@8<Kx[ÚzBndE 0cPq]}_E M =6M;ǵO"6F6? L#%*/~gF%EfUI-t˫KF+upg H@O''֬AW [_gucᗽW6{sqBz>׈umpIEP@Q^3RF9 5uI8AV1,nJ0Nekn '%]ŻFR/JZ ( ( ( ( ( (?>>9Ƚc_#W>x|Q (sTW|szF#f+͸nr>:߈>1WFؼ:lM'C!Aڹ >.$Kh0"FȢFeLFH8}'Fi*eu'Vp-ۥgV1V{I%0ЧJ|k41\Dq$NO"+F:vge.gOߕywKĐHѿN5< ~ʽ+ϡ [_F&#/ 6׾K!-$r}(YB 2=q*׳K[ػ=7KX/~+X q5hbWbdž,[S Өb:X@Ҡt*Ex=?%)iw~ߊy-7Rٔ-'W>rucʐxZlG,Ety+hL [3,=wH's|MV3#Hu׶>׬;iHPr= |wo-̖Ӯ#b= >6+X${+sg5o7C<:tw}+xW@ z= -s2x4.?3_"s1I|QK I/ }O*:WQKt/= G x##v Mʃ]ղML_ gKFҍ$|_/Tl7S 5ukjzpL&`z0j6uY7Euʜ qV qXJq9 )s+|qrSzen,"F® s]sNgOH0^ډ-mM 1KOG|ߍPFn[_i_k>ǡC^*in 1۞+)唡*qU$QWWZT\9Fv<_ ={MEO?ࠩGr{*DƯJ_JQ9v=/|8Cp1mm /Ğ~/5|LG4[I}\6(mE}{'lϮ|o&FXe.$\= %Hme]k)KEa=aO" .KUqQZ4linz-#5;[o4زI,FHw|%k-C6VHdH>7Apkǿ KUt__jgʒPE' ?k\iso6U^8c"U?(3(2T}X;?wi.U{>ˢ \wc(((("}^YXOY̞Pc/q^0Im  Q~#9wcww9I)ڪ99=;>fWRdKQE\w.5C.{i3][oQrf5K46|⫐N3\YSkY-weC䟳o:~)\րt xv! 90y\m{*MW0I<%fd]­n idcFKg]'OA׃i~HڙV"l9i^nozMn}Goc_1*ϧͲ&cRO^G5 ϐ$h 31Ԛ o*65Scg#Br 0Q*vpgogKqjT{ [A$Iwtp?s'n%fWʏ?3}}^?fӰ* ljTVmuKI}.[赯o4eߏcNER=t>^ ]xW6rr"bLKf+tEQ+L)vyq,pBP0}F4.dhM8U' gbqV/:EF'P?1V"&\F5yeCY`| km0}~cH#۷mlkw`M]O^" n@dھx:tZj^G}%h4K [;_H73hڍtKnbYcfa4f֟ohZv11Ed AG(/vk-\\$cm'`zYOF8I~In/%cUlϫDjº,% %'Zf9hHcS"Zz?k:f*cW^Ï7 '^oZ*!B¤}`In[|2?IhoO7cߺvֈcD=@i-|wgHQEQEQEQEQ_QEʪYU$x^T8ˆkI>8G :Q\X_uF{jiO{:{_F]:-Tf"P1X^5扫j oƪ A?ZθVhqlj*BʻaЂgq}4[kHw$_ kPxCMVةזxc=ԗLO=ɫZƱu-mXER̘l#j{V^ѭ|%5mJm6 2cK)t!YN8'cRtw9;]]&M謯wt~酜V Kg"Զ~Q)bbZx^7ӴXu[&k[VæG^Fzqh|9aqkjOs 7GsnlW9sֆ;ۚvoۿcdv=W(I]R4Rp¾[ ߌSJXȶo mb_ YZǟ|^> njWpdĄaF# r H5~ Ь+Kml`.qݎX^<|=-tz3C%muLD2D($֎i:O\$N+'it-RYGmtf/#q)9*A>oj9t/ [?TIe.A ⼪L5,EV5̴K[]ۢvcE)}:Wѫ#W6>j >wxŚ%͟>}{IpZU^'z'|4y/nI&s>Զc$r 'p6 K[]]]]]9ku{c[w \CDHHWZY7&{_ 0lԙuIшi`y<^.>dדi$u`;kMW26+V4c[sU .XL RִK gOb@pZ92v𿂾)ͯGΟswi[^~+X s힤疏R!N{-Zz4olO۽Bz {GVjhexRhdIbC#dGQ^-?SjxO,gDrq'į^cgUv 0o<B38MRWI^nzY]yv>|S{TwI4HmN[xH(flu=+2܂~zbP9oͻ(+[iuuͪm_Dַ{u^'\M =ıjY*=:)XX^7Prg#'[R8n9uqo40]~W =>@S^^mzUI" Bb_Ƿd$4n5k-o~[{/l{%p_񶹦,=q]:YV4Ԛ+F8HT)Uս{j~ӾxzUSZ!nTLvPq\.evZL=isSkVZjR@u2oH#PIN IM4}uKsVj_ګf<+GNs-cJk; ԍ4/U zgW,rP\Zkg}tcYYiE_[=t׹ދg-W3I ٸUUI3r躜[mac$W'S^yv4Q ZnmKIJw_pO5$҂Wqzo'ŒC'Oi+[FH@(O >98ogt-;^Zal'(´0byr0}$_ k[5UghUjFRk[ogE<4 =_g4[;6/9[ۂAʢ$?ڵwz|Ē"du ==jq1uUYIjm<<3ukvEk 6J@]4DN_l_ʝS_RlƠ+|uL5[4!}hĶs²$g{`j? :6Zw߶WXF"9<3a饛J8QV/gk];}ĺW{xk߆~,z_^6R O(dr 0s/އ0j/5߈/*J.$G!xT\KutVϫEB7vz'=l'خ >;ox{k^iy '̨̫=k>:?tcpAks)cRPGˎHҾĕ%A(omwnϰ/V#/Z_'#˵E -2bH\^I?Q-rA{xZ&gKءN^"r1 +IN*q{=iSIA;[K"#Ǻ K}[^H-bIq0Yׂ|O7\Ңύv4>W7qqkhpa%$vVVK{۽r}? Ӿ-W 扮s\XΫR2yжoae~д_i%]-dYI*dO08:(#/vj[&ܟ?tgOюuY^\[<܉P!vh+?u k [i4cOP)w έ89=5VK< ^Ɲ8wV[;;Y$WMݽOtτڇ4=C3v+^dKi՝YJg c^4_~m2+ '6XH۶"3o+y+(qNBJիXj՚UKxyCNs}{ݺp՛\޽sٹaǐQW.[s -dÆ1cl̚]tiզ5NZiڱ[߆}zaDfMƑ+yX.:%+*TEŽO^vd„ yVuءI2ba ^r *f-xCO>8>r%b$wy,ֈ"3.,^#h48K53T=I$!B.y28IdEo&D2`d5NU>CN7$yIb'gl'/J^`2yF Fbآ&|#Ma$@=sJ3Y槎h.(vj:]* )b(@cڪ=Xd3n6K(.Zh*w2Jkj2QDҬFpHC(ebLwʒl0v^iZh$\( 7ppQ }r b + .9:*y ʾ>mԫhK5R>;4PSbktGo2.8qkŸ mDi@cK*3ʍ:暎:]̱,?X&W| !Bb1 312; +L{,t gHv![2z<NRu`n( h΀.TN+ T0n7@lq?[N^,`ˆ8&e0E0F5 =0`}SButEuVA uȐ@!*t. x,PpbL?npF(fѯ(YǺc /Lh=c>t@I$(N1mA1Pit[R &yuS='6๟z&(jcC Z</NdʿQ..D {t&2i҆xY|r4H>؁ 8g aTCI,ܤubJu MhU(w8Ë&kRɦJB-߀f jԃ@#T@Apj[#! o tD&*3)JQ)u Y#l%iX\B~@$.VSHmF2^bhP|K+# Gpj0lA0-j%:Qi+9㪙>Ɔ`$d RV1̺Wu\$P@7(%,Wr  %1[`$,Z͕@"! νYD:D X`^Lpr LXPB8`.3l D`b_.KWxys0z17% !`;E-1)N> csȠ8=! e0,,ɇBrdB}C&˃r NUL,SP,J \m>u i+=\UbL@@Np]iNNr`a1 A;- +\ǐu@`n(yD;ډŔ9+Ep!K> lr l=XU2x'mKv͗lIp@'i\AhidxauHXE1 `P !δ3 @5/") kU `hmt |DE']I|@dVy< p p"4bOs)% ݀Zj U[/s1\4lvUNwFaȄXg`XB0mX\3]9N >EA2 lF%1f>p /y'4 hFKpP7Xi`L`\v6iEQr@4EӀ >)/ra O؈.[ v3#gRK{7i\X苿|8mm l iBlmVeU))U) ^n6b+G ]CJ1%&IT`fHŘXZU T tKa5a3l,'AwB'n F/K2{2As 6I'rP"wu2 |'v pV5 Xp˶X 'Jpd| N&xpV?mKp UZDyf0i=f@F!gIE2C=@hpwIUN7)eXtnsYІX%NeX9qeat!D/B>B ' g ` (V5bIբ7P HaLdʦp ǒuPsB|24Z`EU:r .ofw{Pi|)qLIw@`p {ڧ|ʧ |}J 2@\Wd-\׆NaRMo( F9%Vu d=sx hN&\APN\?Y `@@ڬ0z:`  tD|K'a^`h UeBcj#u^Z?C`"3# @ Q~pTƇ 8:p  !PIuXɶ|HxX>pugPo@ ǀ RH^Z> '`b{ WPk ` @ f{hԐ jg˶f+ `*b)iXl/֒Tape sΣ'`@_Da;θ -dD do6*Ap@ ڱ p ,`3pyx=t)tVE+;AIs p@391r2#P <t1 [ilPPڀ qb IPi;ݠ J d 8@1w*It,x\Z@ /0JB ](~Γ z4>r >)]IHiTQ, u/5]c ʹ3@ %+=_À5d{I0p PE3 7=u:|,c` /uM&aldL@x˕t^G26&J"WI% g 'ȓB` % ЈՀq@K?t`P2 `b"D[u&Hj Fx5ً&EQ\ ψc{uU"byFq%_yd,pp\Uݏ4I0; V^&\TG | btGQl_ fe*^0FD*QvFI'qlO×XJt`!_%,XPS: ` a(z$W()`cf}0 {DnxBLG7 R0#'=5LSG"[1 %TLsk`cZ4S,! Rm%` <85VB-/]]VlR-e0 p2cFMOv04P ,eFJlQL j0naA(V"cCbhLR$0WlB (`)'Pow +^@t ag-_X> -2epjC-I(^KhiB@-- C7 Dy ݃PEIt؜չ@gR)3/I-2T70Bb# M>'܆0u &H5@?wDDw&) ]LiA0Q).ל3 *Tp ,B2hOb"-^~ƾ7iE 5[H4.@3Et 1|lqBlE@#䀓BEbZJ s\Rp#J\NŒ- œ:TGJ_51G># 0Jؖq>ذ#tyb<^LC[Ѹ=5W+%OmKhFLÖbLU>;:>! B|rAhaI7LhfO1[Ba+`$T R:(J*R[F#pUMm^ O`x-! @G 75B<1 `>?$n>tW[L' ZVeBu HNBjQHJx)bŋ F\J&J$h*bp(RA P2%B&,01۩r z.\ YN߿NO_o0]j @#YXkj8j|("̛. d +ӪHVZ!TB8Ʋ'b qeT0JBŌܾ%K@ٳP/:rU\uYtoFlV*/:좳Ani!ك4= !Z)EB_e!\K Vik'jJ9ZED ||FUdÅ>#+Z+*ފiB`xA$EBQ |(&1O$:\I%V``-*Y +,6RGTbA§Jz1Kds6Df Xb :@XELfaxš/"'zh>J3 K0)U T@4(ishѣ :uIsM} &ޫ:j+&6; 0`2hZsJT"!ύSYqii> 'Wr5¯bkm6>Dog~jp$cw,|&Ribdq2T\K] 0 T&p^rPruz'~v(INfY⣦Φn0 t91/DŽt[kDzX) *Ȯ]#z/{R]a''v!8SV|D ¥Y0Zmtvh#c#*s[LϜW3.`.@ (Z-,L_vL![-aƘHH"1*Q-0PTq҂1|HkXW~S 'Xi.N FOeH,rqg#rVG0FAL_Gt | r ^8iA}b"gqC%bт3BdhAa~D-DwTaX4h#j4 E-bB:uxA.xQ qdbnOv0<ÿć*630s5Ds[[Yr2F{k۟dkPb63"A.e_ Y)FJp=ep0`5b$vqHpjCa,(0qn~($(8 #6rtqs[ VЊɅ`llr~Mq,Va t7($ź3Na6,oA0PSY7;Rrϛ|*YH*`C 5ʃIO&V -պ5j14RU:,.8!f*vݴcOH!E5x@7%'X:%=IӪo7s3 *\"*X,( ElMUt"l JXe@j# 73gS`C‡5b r,*BL:h.! `hb0?r$JXΎqs 2 d`7hDC!QE=F@UҤwuZ%$mŶe&o@`F B^Vq)$_8 бLgW&c@'`(?V"@\D,cZHXxWjԦjC-.O5(Ÿ( @Y[RϴeBU<؁ 0e@bwFH20p*#+*#J3`/@ƢHp!l&KI"8zt\C?C P+;dP`R\zE(n*(^'d<;a}-'QfV&2ѣH"=;WR {"B_DV! Vʇ XL+nȘnU0U<0#,R bu$[!xh@(!ZzKsv"j &{MP1 g"ftFb)5[)a]td2H֔qs@.V YP5X3>O+L`#3WE*:@ 'ͳOABdC= :TP&Dqy!OWBqd֑s䃊a BQxs<=/b*HiҚ%!(#1V4u1;&帅39",M8 ~Qc3_+Żԩo0ؐ@c?'+;\@Ġ"9Y5<9+"-pZ5* qطJ)-1+8soXQʦ)+@i #3Ԧ/T(C.sIA=`-;;UjP:?} y\aX  * ;gX Ĉ.09!18_X0?>[9 b:ÄQ:ccn1vT*rPhІU@B=.6sۥId9- ɮ:D {L40b3~Y̓#$4hЊcA\kԔEo50&J`E;< QSI8FТ=qD!+q#5VHG9M`JT˓ C8Q4(/jb܎* !S(JXD)DXz *h9d:XMwPr3/3 Ae9@ 0i9Eh1 ˘љ 킆δbo T82r簌"@ >r ( h `F[&S'k=TȅӁ:(& ]1N`\<>R?,{Gp85PTr@R]R9)T F\ȅH#Ѓ6Ђ%@#aE_@ xgrGPupT&ʀT "%8YRS3Iȥm="=/"Pޞ=ٶøד9z3ҁ {#aCIFX$Ç f)ed*Uhh LS}ߎuە炛g{gg|gYph :@pa1D #A@S^䀎\ZEGf 1}{1Se0qvCQc ?klj.j>&qHN8Dɂ#0  bhXXY߰Gɨ0;~4c(8Jc4 (lNl^lnl^l7ڹ*Q &ph@[0 8f8>L PCyd bɹ%xD؁Hnh~nn?؃;`.ڵ1 k(]AYC xk\w;I8x[i(L&Hm")(7p<Ðfv|vSJf^4 )ZkAMv VIp¡60 .B\4yw(ГExw"S(`"ws u(*K3-0 0 MUj!(QP @p#SL,(1FB Egs"A_m"a)~:ǬҖy M'^CY 5/ ,E JHkBT@ԥUX@QE85tJ}(Fsk`tAb"67J t Jr 0(@ >]OuV-)]c~dx@D!jEhjTm\$˂5$H.,A$52&vzXsw?cT'> 3& bdftuS$:@f#Lh\ThFr݇2Qts_aT>AM#~_r\pq!Bv.E,@&)@ PHK$Q jYĠ%&L N1BՈEyfg:ׇ'-L-"q[,j8-F!?um:X6 Ӭ9qq #ȅ3!4.^d`,!mMQLxn.^2}Bz&hdAΑGj$WR# p10>Mb6@ JƬ!JI ,> l0\ZBCc9W3-G>_&na,ydy39K51 d"F0A [0֍!fGF0.vZgFun d\Y܍_귈- QO{ƃ8qu@<3sG7@/ɛ!SJ>bӾ=s]/Ω> ;KWStyle-master/Documentation/logosmall.jpg000066400000000000000000000074551265471724600212460ustar00rootroot00000000000000JFIFC  !"$"$C1" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?(oiKch$.NIQנZ=.Ǡz_Fd՟ Zq-Erv-IeB! `"+(qҧt NS9N}cu9_n'SKY~(֭t ]F HE5[VZ~׳aUd g0=XlGeF ?gƸѩ5WHRO+6ci98}xP؟,=VU'ѡ]>G8pҾ8 p8y8?홠Q|iZuzTh0!fQMۏZڧ?Juh4O7,gӮoOC_mZnAG*ÐEywo^-ռI4k|%$)QC"^=o- vqD!DY@w+i-]]M^!Hv=V&*R|rWZ褵^#YY(ՏCQMľ=i˨=!3`Opz5zw푮ɌgE׳xK<5HEl) '$k5O 'w:zZu&r$CT@V+Jdeҿ Թsx@ԥz ~MS 4߃zfcχ>GuW[}kOqlN0.!Z/u_ 3$ r;<r1^'n4Ú76mmo'> F(?\Wn#%:0r(Y˓mo|I؈ݻ7gX]%"D9YZ5F9Z֢JM-AQPz]p1)hRM,Q*XҢ" "*auYɇ[VF@ m32IG]Esڮ{p|CH8p ~:tzNirY1GdSNs^\x1mMukK+0zITiO[[ɛZ6V ˨-32Oak 2mCNI"wE<G_PG]JK\m2m2]+s^<-*1y^ +G7InY >~0RPWjۭm}?w=/G qtw6st`mqW_uO[kmnZ>EDi3BpʏC7<+o7v"KӵAK3l(F37<jI9b#}z$zZ#Nw COdg;(2rýs:-x|'ifbInvG̍]G7K]n=J+g͌cء<鶫0cpXSľִk6E?ό$5PBiSn:Yc2*v=CbK뻈]K!¢J4w"D+h -B5Z[h%LrY72H5]_-e7i]#2`!L )9E4Ky6{Fxt K ^쨶:uH#skg=n]VKY{YѤGHc~ |Ij[i!ou Z5A$-27A L8MuTՓѥ۵|ͫǥZ\GqlUpp~_=j> XhYy{syfJe < )`Ni7 YZZKI>l8mmk%u1> s1Eܸ9aሎ[K{~;kdq=L"Ӯnh22U/ly4_iO d_8=O'1]]w QTxRXάT6ϨEc$âqw6Fk<^UNu!KVun8ԓi8#EWQEQE-W󧏿//ÿ?ࢊ+,CL_EQE(((KWStyle-master/KWStyleConfigure.h.in000066400000000000000000000015151265471724600177130ustar00rootroot00000000000000/*========================================================================= Program: KWStyle - Kitware Style Checker Module: KWStyleConfigure.h.in Copyright (c) Kitware, Inc. All rights reserved. See Copyright.txt or http://www.kitware.com/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #define KWSTYLE_MAJOR_VERSION "@KWStyle_MAJOR_VERSION@" #define KWSTYLE_MINOR_VERSION "@KWStyle_MINOR_VERSION@" #define KWSTYLE_PATCH_VERSION "@KWStyle_PATCH_VERSION@" #define KWSTYLE_VERSION_STRING "@KWStyle_MAJOR_VERSION@.@KWStyle_MINOR_VERSION@.@KWStyle_PATCH_VERSION@" KWStyle-master/README.md000066400000000000000000000013441265471724600152100ustar00rootroot00000000000000KWStyle ======= [![Circle CI]( https://circleci.com/gh/Kitware/KWStyle.svg?style=svg)](https://circleci.com/gh/Kitware/KWStyle ) Overview -------- KWStyle is a style checker for source code which is integrated in the software process to ensure that the code written by several users is consistent and can be viewed/printed as it was written by one person. Features -------- Among the fearures provided by KWStyle: - Several Indentation checking - Copyright Header correctness - Maximum line length - Encapsulation preservation - Internal variable checking via regular expressions - New line at the end of file A complete list of the features is available [here][fl]. [fl]: https://kitware.github.io/KWStyle/resources/features.html KWStyle-master/Testing/000077500000000000000000000000001265471724600153445ustar00rootroot00000000000000KWStyle-master/Testing/CMakeLists.txt000066400000000000000000000046671265471724600201210ustar00rootroot00000000000000INCLUDE_DIRECTORIES(${KWStyle_SOURCE_DIR}) SET(KWSTYLE_TESTS ${CXX_TEST_PATH}/KWStyleTests) SET( KWStyleTests_SRCS kwsSemiColonSpaceTest.cxx kwsStatementPerLineTest.cxx kwsVariablePerLineTest.cxx kwsSwitchCaseTest.cxx kwsBadCharactersTest.cxx ) FOREACH(TestFiles ${KWStyleTests_SRCS}) GET_FILENAME_COMPONENT(TestProgram ${TestFiles} NAME_WE) ADD_TEST(${TestProgram} ${KWSTYLE_TESTS} ${TestProgram}) ENDFOREACH(TestFiles) SET(KWStyleTests_SRCS ${KWStyleTests_SRCS} kwsRunKWStyleTest.cxx ) ADD_EXECUTABLE( KWStyleTests KWStyleTests.cxx ${KWStyleTests_SRCS}) TARGET_LINK_LIBRARIES(KWStyleTests KWStyleLib kwssys) MACRO(ADD_TEST_FROM_BUG_TRACKER BUG_NUMBER FILENAME) ADD_TEST(Test${BUG_NUMBER} ${KWSTYLE_TESTS} --compare ${KWStyle_SOURCE_DIR}/Testing/Data/${BUG_NUMBER}-output.xml ${KWStyle_BINARY_DIR}/${BUG_NUMBER}-output.xml kwsRunKWStyleTest ${KWStyle_BINARY_DIR}/KWStyle -xml ${KWStyle_SOURCE_DIR}/Testing/Data/${BUG_NUMBER}-KWStyleConfiguration.kws.xml -exportxml ${KWStyle_BINARY_DIR}/${BUG_NUMBER}-output.xml ${KWStyle_SOURCE_DIR}/Testing/Data/${BUG_NUMBER}-${FILENAME}) ENDMACRO(ADD_TEST_FROM_BUG_TRACKER BUG_NUMBER FILENAME) ADD_TEST_FROM_BUG_TRACKER(kwsTabsTest test.cxx) ADD_TEST_FROM_BUG_TRACKER(0001 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4204 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4227 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4259 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4260 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4262 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4296 test.h) ADD_TEST_FROM_BUG_TRACKER(4297 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4301 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4302 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4303 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4316 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4317 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4318 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4319 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4327 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4344 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4345 test.cpp) ADD_TEST_FROM_BUG_TRACKER(4518 test.h) ADD_TEST_FROM_BUG_TRACKER(4531 test.h) ADD_TEST_FROM_BUG_TRACKER(4549 test.h) ADD_TEST_FROM_BUG_TRACKER(5031 test.cpp) ADD_TEST_FROM_BUG_TRACKER(5032 test.h) ADD_TEST_FROM_BUG_TRACKER(5059 test.h) ADD_TEST_FROM_BUG_TRACKER(5086 test.h) ADD_TEST_FROM_BUG_TRACKER(9934 test.h) ADD_TEST_FROM_BUG_TRACKER(9935 test.cxx) ADD_TEST_FROM_BUG_TRACKER(9937 test.cxx) ADD_TEST_FROM_BUG_TRACKER(9938 test.cxx) ADD_TEST_FROM_BUG_TRACKER(9939 test.cxx) ADD_TEST_FROM_BUG_TRACKER(10872 test.cxx) KWStyle-master/Testing/Data/000077500000000000000000000000001265471724600162155ustar00rootroot00000000000000KWStyle-master/Testing/Data/0001-KWStyleConfiguration.kws.xml000066400000000000000000000011041265471724600242060ustar00rootroot00000000000000 120 0 1 2 [sm]_[a-z] [sm]_[a-z] 0 1 3 /**, *, */,true 4 1 true 1 SPACE,2,true,true KWStyle-master/Testing/Data/0001-output.xml000066400000000000000000000000001265471724600206430ustar00rootroot00000000000000KWStyle-master/Testing/Data/0001-test.cpp000066400000000000000000000003761265471724600202640ustar00rootroot00000000000000// Second, redirect to the optimized version if necessary #ifdef ITK_USE_OPTIMIZED_REGISTRATION_METHODS #include "itkOptBSplineInterpolateImageFunction.txx" #else void test() { test; #ifdef ITK_USE_ORIENTED_IMAGE_DIRECTION #endif return; } #endif KWStyle-master/Testing/Data/10872-KWStyleConfiguration.kws.xml000066400000000000000000000012021265471724600243060ustar00rootroot00000000000000 120 0,1,2 ^[A-Z](\w|\d)* ^~?(\w|\d)* ^[A-Z](\w|\d)* 0 1 1 3 /**, *, */,true SPACE,2,true,true [NameOfClass],qZ __[NameOfClass]_[Extension] 2 1,1 KWStyle-master/Testing/Data/10872-output.xml000066400000000000000000000000001265471724600207440ustar00rootroot00000000000000KWStyle-master/Testing/Data/10872-test.cxx000066400000000000000000000000601265471724600203730ustar00rootroot00000000000000A() { f("//"); } B() { g("//"); } C() { } KWStyle-master/Testing/Data/4204-KWStyleConfiguration.kws.xml000066400000000000000000000010361265471724600242230ustar00rootroot00000000000000 120 0 1 2 [sm]_[a-z] [sm]_[a-z] 0 1 3 /**, *, */,true 4 1 true 1 KWStyle-master/Testing/Data/4204-output.xml000066400000000000000000000006151265471724600206700ustar00rootroot00000000000000 21 21 0 5 5 26 1 1 27 KWStyle-master/Testing/Data/4204-test.cpp000066400000000000000000000005001265471724600202620ustar00rootroot00000000000000// motrhead void foo() { int i,j; int m=0; int n(6); int x[45]; sin(15); return; } if (state()==Busy) { m_timer.start(); return; } Foo g_foo; Sensor g_sensor; // long line ------------------------------------------------------------------------------------------- Bar g_bar; KWStyle-master/Testing/Data/4227-KWStyleConfiguration.kws.xml000066400000000000000000000010361265471724600242300ustar00rootroot00000000000000 120 0 1 2 [sm]_[a-z] [sm]_[a-z] 0 1 3 /**, *, */,true 4 1 true 1 KWStyle-master/Testing/Data/4227-output.xml000066400000000000000000000006121265471724600206720ustar00rootroot00000000000000 1 1 0 3 3 0 1 1 25 KWStyle-master/Testing/Data/4227-test.cpp000066400000000000000000000007511265471724600202770ustar00rootroot00000000000000 Type currentFileType() const {if (m_currentFile==0) return File::Type_Dummy; return m_currentFile->type();} FileInfo* m_currentFileInfo; ///< ------------------------------------------------------------------------------------ FileInfo m_tmpFileInfo; ///< ---------------------------------------------------, ---- FileManager m_fileManager; int m_currentFileIndex; ///< ---------------------------------------------- KWStyle-master/Testing/Data/4259-KWStyleConfiguration.kws.xml000066400000000000000000000010361265471724600242350ustar00rootroot00000000000000 120 0 1 2 [sm]_[a-z] [sm]_[a-z] 0 1 3 /**, *, */,true 4 1 true 1 KWStyle-master/Testing/Data/4259-output.xml000066400000000000000000000002061265471724600206760ustar00rootroot00000000000000 10 10 20 KWStyle-master/Testing/Data/4259-test.cpp000066400000000000000000000003101265471724600202730ustar00rootroot00000000000000struct Event { CON_COMMAND* GetMsg() {return helper()->pMsg; } protected: Helper* helper(void) {return (Helper*)data;} }; class Thread { public: Thread(Imprint& Data); }; KWStyle-master/Testing/Data/4260-KWStyleConfiguration.kws.xml000066400000000000000000000010361265471724600242250ustar00rootroot00000000000000 120 0 1 2 [sm]_[a-z] [sm]_[a-z] 0 1 3 /**, *, */,true 4 1 true 1 KWStyle-master/Testing/Data/4260-output.xml000066400000000000000000000004071265471724600206710ustar00rootroot00000000000000 2 2 0 2 2 25 KWStyle-master/Testing/Data/4260-test.cpp000066400000000000000000000003321265471724600202670ustar00rootroot00000000000000 void FreeMyMsg(COMMAND* pMsg) { cyg_scheduler_lock();if(pMsg!=NULL)m_MyMsgPool.free(pMsg);cyg_scheduler_unlock(); } // m_MyMsgPool.alloc() in dsr //---------------------------------- KWStyle-master/Testing/Data/4262-KWStyleConfiguration.kws.xml000066400000000000000000000010361265471724600242270ustar00rootroot00000000000000 120 0 1 2 [sm]_[a-z] [sm]_[a-z] 0 1 3 /**, *, */,true 4 1 true 1 KWStyle-master/Testing/Data/4262-output.xml000066400000000000000000000000001265471724600206600ustar00rootroot00000000000000KWStyle-master/Testing/Data/4262-test.cpp000066400000000000000000000001441265471724600202720ustar00rootroot00000000000000for (ezxml_t fileIt=ezxml_child(xmlComponent, "file"); fileIt!=0; fileIt=fileIt->next) { } KWStyle-master/Testing/Data/4296-KWStyleConfiguration.kws.xml000066400000000000000000000016231265471724600242400ustar00rootroot00000000000000 Logo.gif LogoKWStyle.jpg 5 120 0 1 2 [sm]_[a-z] [sm]_[a-z] 0 ^[a-z][^_]*$ 1 3 /** * */ false false false 4 1 true 1 KWStyle-master/Testing/Data/4296-output.xml000066400000000000000000000000001265471724600206670ustar00rootroot00000000000000KWStyle-master/Testing/Data/4296-test.h000066400000000000000000000002721265471724600177500ustar00rootroot00000000000000#ifndef TEST_H #define TEST_H struct Event { protected: }; class CommThread { public: CommThread(); protected: Data * const m_data; Comm m_comm; }; #endif KWStyle-master/Testing/Data/4297-KWStyleConfiguration.kws.xml000066400000000000000000000016041265471724600242400ustar00rootroot00000000000000 tools/checks/LogoKWStyle.jpg 5 120 0 1 2 ^[sm]_[a-z] 0 1 ^[a-z] 1 3 /** * */ false false false 4 1 true 1 KWStyle-master/Testing/Data/4297-output.xml000066400000000000000000000000001265471724600206700ustar00rootroot00000000000000KWStyle-master/Testing/Data/4297-test.cpp000066400000000000000000000002151265471724600203010ustar00rootroot00000000000000 struct Test { protected: }; class Thread { public: protected: Foo * const m_foo; Bar m_bar; char m_buf[256]; }; KWStyle-master/Testing/Data/4301-KWStyleConfiguration.kws.xml000066400000000000000000000016041265471724600242220ustar00rootroot00000000000000 tools/checks/LogoKWStyle.jpg 5 120 0 1 2 ^[sm]_[a-z] 0 1 ^[a-z] 1 3 /** * */ false false false 4 1 true 1 KWStyle-master/Testing/Data/4301-output.xml000066400000000000000000000000001265471724600206520ustar00rootroot00000000000000KWStyle-master/Testing/Data/4301-test.cpp000066400000000000000000000001441265471724600202640ustar00rootroot00000000000000class Test { private: char m_buffer[1024] __attribute__ ((aligned(4))); int m_i; }; KWStyle-master/Testing/Data/4302-KWStyleConfiguration.kws.xml000066400000000000000000000015661265471724600242320ustar00rootroot00000000000000 tools/checks/LogoKWStyle.jpg 5 120 0 1 2 [sm]_[a-z] ^[sm]_[a-z] 0 ^[a-z] 1 3 /** * */ false false false 4 1 true 1 KWStyle-master/Testing/Data/4302-output.xml000066400000000000000000000000001265471724600206530ustar00rootroot00000000000000KWStyle-master/Testing/Data/4302-test.cpp000066400000000000000000000001121265471724600202600ustar00rootroot00000000000000class Test { char m_buffer[1024] __attribute__ ((aligned(16))); }; KWStyle-master/Testing/Data/4303-KWStyleConfiguration.kws.xml000066400000000000000000000015661265471724600242330ustar00rootroot00000000000000 tools/checks/LogoKWStyle.jpg 5 120 0 1 2 [sm]_[a-z] ^[sm]_[a-z] 0 ^[a-z] 1 3 /** * */ false false false 4 1 true 1 KWStyle-master/Testing/Data/4303-output.xml000066400000000000000000000000001265471724600206540ustar00rootroot00000000000000KWStyle-master/Testing/Data/4303-test.cpp000066400000000000000000000000631265471724600202660ustar00rootroot00000000000000class Test { protected: int *m_dummy; }; KWStyle-master/Testing/Data/4316-KWStyleConfiguration.kws.xml000066400000000000000000000016041265471724600242300ustar00rootroot00000000000000 tools/checks/LogoKWStyle.jpg 5 120 0 1 2 ^[sm]_[a-z] 0 1 ^[a-z] 1 3 /** * */ false false false 4 1 true 1 KWStyle-master/Testing/Data/4316-output.xml000066400000000000000000000002041265471724600206660ustar00rootroot00000000000000 4 4 26 KWStyle-master/Testing/Data/4316-test.cpp000066400000000000000000000000641265471724600202730ustar00rootroot00000000000000class Test { protected: void m_i, m_a; }; KWStyle-master/Testing/Data/4317-KWStyleConfiguration.kws.xml000066400000000000000000000016041265471724600242310ustar00rootroot00000000000000 tools/checks/LogoKWStyle.jpg 5 120 0 1 2 ^[sm]_[a-z] 0 1 ^[a-z] 1 3 /** * */ false false false 4 1 true 1 KWStyle-master/Testing/Data/4317-output.xml000066400000000000000000000000001265471724600206610ustar00rootroot00000000000000KWStyle-master/Testing/Data/4317-test.cpp000066400000000000000000000001561265471724600202760ustar00rootroot00000000000000void foo() { unsigned int data[3]={0, 0, 0}; int more_data[12]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; } KWStyle-master/Testing/Data/4318-KWStyleConfiguration.kws.xml000066400000000000000000000016041265471724600242320ustar00rootroot00000000000000 tools/checks/LogoKWStyle.jpg 5 120 0 1 2 ^[sm]_[a-z] 0 1 ^[a-z] 1 3 /** * */ false false false 4 1 true 1 KWStyle-master/Testing/Data/4318-output.xml000066400000000000000000000000001265471724600206620ustar00rootroot00000000000000KWStyle-master/Testing/Data/4318-test.cpp000066400000000000000000000000771265471724600203010ustar00rootroot00000000000000void foo() { const char *a="hallo; welt"; printf(";"); } KWStyle-master/Testing/Data/4319-KWStyleConfiguration.kws.xml000066400000000000000000000016041265471724600242330ustar00rootroot00000000000000 tools/checks/LogoKWStyle.jpg 5 120 0 1 2 ^[sm]_[a-z] 0 1 ^[a-z] 1 3 /** * */ false false false 4 1 true 1 KWStyle-master/Testing/Data/4319-output.xml000066400000000000000000000000001265471724600206630ustar00rootroot00000000000000KWStyle-master/Testing/Data/4319-test.cpp000066400000000000000000000001121265471724600202700ustar00rootroot00000000000000class Test { #define CODE (int)0x1234 int i; }; KWStyle-master/Testing/Data/4327-KWStyleConfiguration.kws.xml000066400000000000000000000016041265471724600242320ustar00rootroot00000000000000 tools/checks/LogoKWStyle.jpg 5 120 0 1 2 ^[sm]_[a-z] 0 1 ^[a-z] 1 3 /** * */ false false false 4 1 true 1 KWStyle-master/Testing/Data/4327-output.xml000066400000000000000000000000001265471724600206620ustar00rootroot00000000000000KWStyle-master/Testing/Data/4327-test.cpp000066400000000000000000000000611265471724600202720ustar00rootroot00000000000000typedef int (Test::* Handler)(); class Test { }; KWStyle-master/Testing/Data/4344-KWStyleConfiguration.kws.xml000066400000000000000000000016051265471724600242320ustar00rootroot00000000000000 tools/checks/LogoKWStyle.jpg 5 120 0 1 2 ^[sm]_[a-z] 0 1 ^[_a-z] 1 3 /** * */ false false false 4 1 true 1 KWStyle-master/Testing/Data/4344-output.xml000066400000000000000000000000001265471724600206610ustar00rootroot00000000000000KWStyle-master/Testing/Data/4344-test.cpp000066400000000000000000000001051265471724600202700ustar00rootroot00000000000000void blub() {} ///************* a one line comment void foo() { } KWStyle-master/Testing/Data/4345-KWStyleConfiguration.kws.xml000066400000000000000000000016051265471724600242330ustar00rootroot00000000000000 tools/checks/LogoKWStyle.jpg 5 120 0 1 2 ^[sm]_[a-z] 0 1 ^[_a-z] 1 3 /** * */ false false false 4 1 true 1 KWStyle-master/Testing/Data/4345-output.xml000066400000000000000000000004121265471724600206710ustar00rootroot00000000000000 13 13 1 13 13 2 KWStyle-master/Testing/Data/4345-test.cpp000066400000000000000000000002221265471724600202710ustar00rootroot00000000000000class Test { public: struct Intern { int a; }; union InternToo { int b; }; int c; protected: int m_e; }; KWStyle-master/Testing/Data/4518-KWStyleConfiguration.kws.xml000066400000000000000000000016051265471724600242350ustar00rootroot00000000000000 tools/checks/LogoKWStyle.jpg 5 120 0 1 2 ^[sm]_[a-z] 0 1 ^[_a-z] 1 3 /** * */ false false false 4 1 true 1 KWStyle-master/Testing/Data/4518-output.xml000066400000000000000000000000001265471724600206640ustar00rootroot00000000000000KWStyle-master/Testing/Data/4518-test.h000066400000000000000000000002731265471724600177460ustar00rootroot00000000000000class Base { public: void blub();a }; class Test:public Base { public: Test():Base(5),m_i(0) {} Base &getBase(); friend Base::blub(); void bar(); }; KWStyle-master/Testing/Data/4531-KWStyleConfiguration.kws.xml000066400000000000000000000016051265471724600242300ustar00rootroot00000000000000 tools/checks/LogoKWStyle.jpg 5 120 0 1 2 ^[sm]_[a-z] 0 1 ^[_a-z] 1 3 /** * */ false false false 4 1 true 1 KWStyle-master/Testing/Data/4531-output.xml000066400000000000000000000000001265471724600206570ustar00rootroot00000000000000KWStyle-master/Testing/Data/4531-test.h000066400000000000000000000003451265471724600177410ustar00rootroot00000000000000class Test : public Base { public: Test(); Test():Base() {} Test() {m_foo=0;} Test():Base() {m_foo=0;} ~Test(); ~Test() {m_foo=1;} }; KWStyle-master/Testing/Data/4549-KWStyleConfiguration.kws.xml000066400000000000000000000016051265471724600242410ustar00rootroot00000000000000 tools/checks/LogoKWStyle.jpg 5 120 0 1 2 ^[sm]_[a-z] 0 1 ^[_a-z] 1 3 /** * */ false false false 4 1 true 1 KWStyle-master/Testing/Data/4549-output.xml000066400000000000000000000010141265471724600206760ustar00rootroot00000000000000 5 5 1 5 5 2 6 6 1 6 6 2 KWStyle-master/Testing/Data/4549-test.h000066400000000000000000000001261265471724600177470ustar00rootroot00000000000000class Helper { public: Helper() {} bool m_Busy; bool m_Ready; }; KWStyle-master/Testing/Data/5031-KWStyleConfiguration.kws.xml000066400000000000000000000017141265471724600242250ustar00rootroot00000000000000 Test 1 5 180 0 1 2 ^\*?[sm]p?[A-Z] 0 1 1 ^s?[A-Z] 100 1 3 /** * */ false true false 4 1 true 2 KWStyle-master/Testing/Data/5031-output.xml000066400000000000000000000002041265471724600206610ustar00rootroot00000000000000 9 9 26 KWStyle-master/Testing/Data/5031-test.cpp000066400000000000000000000015771265471724600203000ustar00rootroot00000000000000#include "Test.h" template Test::Test ( T & iObject , void (T::* iAlloc)( HCBuffer & ) , void (T::* iFree )( HCBuffer & ) , size_t iSize , test, int iIsLocked , int iSeverity , int iIsFIFO , TestRestoreIF * iMemoryRestore ) : Test( kTypeAlienMemory , iIsLocked , iSeverity , iIsFIFO , 0 , iMemoryRestore ) , mObject ( iObject ) , mAlloc ( iAlloc ) , mFree ( iFree ) , mIsOwner( 1 ) { // optional allocate buffer if( iSize ) Alloc( iSize ); } KWStyle-master/Testing/Data/5032-KWStyleConfiguration.kws.xml000066400000000000000000000017141265471724600242260ustar00rootroot00000000000000 Test 1 5 180 0 1 2 ^\*?[sm]p?[A-Z] 0 1 1 ^s?[A-Z] 100 1 3 /** * */ false true false 4 1 true 2 KWStyle-master/Testing/Data/5032-output.xml000066400000000000000000000000001265471724600206540ustar00rootroot00000000000000KWStyle-master/Testing/Data/5032-test.h000066400000000000000000000033371265471724600177420ustar00rootroot00000000000000/* */ #ifndef _Test_H_ #define _Test_H_ class Test { public : enum { eNoJob = 0 , eValidJob = 1 , eJobRunning = 2 , eJobStopped = 3 , eJobAborted = 4 , eJobDone = 5 , eJobFailed = 6 }; enum { eAllSubActions = 0 , ePendingSubActions = 1 , eSubActionsDone = 2 }; //! operator functions virtual Test & operator +=( TKType iSubAction ) = 0; virtual Test & operator -=( TKType iSubAction ) = 0; //! job state virtual const void * GetData ( void ) const = 0; virtual int GetState( void ) const = 0; virtual int SetState( int iState ) = 0; //! jobs subactions list virtual TKList GetSubActions( int iSelector = ePendingSubActions ) const = 0; virtual unsigned Count ( TKType iSubAction = 0 ) const = 0; virtual TKType Get ( unsigned iIndex = 0 ) const = 0; virtual Test & Append ( TKType iSubAction ) = 0; virtual Test & Prepend ( TKType iSubAction ) = 0; virtual Test & Insert ( TKType iSubAction , unsigned iIndex ) = 0; virtual Test & Delete ( unsigned iIndex = 0 ) = 0; virtual Test & Delete ( TKType iSubAction , unsigned iIndex = (unsigned)-1 ) = 0; //! set completed virtual void Completed( void ) = 0; protected : //! dtor virtual ~Test( void ) {}; private : };//class Test #endif//_Test_H_ KWStyle-master/Testing/Data/5059-KWStyleConfiguration.kws.xml000066400000000000000000000011371265471724600242360ustar00rootroot00000000000000 200 0,1,2 [A-Z] m_[A-Z] 0 1 1 3 /**, *, */,true SPACE,2,true,true itk [NameOfClass],itk __[NameOfClass]_[Extension] 2 1,1 KWStyle-master/Testing/Data/5059-output.xml000066400000000000000000000012321265471724600206750ustar00rootroot00000000000000 43 43 2 44 44 2 25 25 12 25 25 12 0 2 14 KWStyle-master/Testing/Data/5059-test.h000066400000000000000000000354631265471724600177600ustar00rootroot00000000000000#ifndef __itkMeasurementVectorTraits_h #define __itkMeasurementVectorTraits_h #include "itkMacro.h" #include "itkArray.h" #include "itkVariableLengthVector.h" #include "itkVector.h" #include "itkFixedArray.h" #include "vnl/vnl_vector_fixed.h" #include "itkPoint.h" #include "itkRGBPixel.h" #include "itkMatrix.h" #include "itkVariableSizeMatrix.h" #include "itkNumericTraits.h" #include "itkSize.h" #include /** THIS DECLARATION OF NUMERICTRAITS IS HERE TEMPORARILY * * It should be moved to the Insight/Code/Common/itkNumericTraits.h file * when the new framework is integrated into ITK */ #ifdef _WIN64 namespace itk { /** \class NumericTraits * \brief Define traits for type unsigned long. * \ingroup DataRepresentation */ template <> class NumericTraits< std::vector::size_type > : public vcl_numeric_limits< std::vector::size_type > { public: typedef std::vector::size_type SelfType; typedef SelfType ValueType; typedef SelfType PrintType; typedef SelfType AbsType; typedef SelfType AccumulateType; typedef long double RealType; typedef RealType ScalarRealType; typedef long double FloatType; static const SelfType ITKCommon_EXPORT Zero; static const SelfType ITKCommon_EXPORT One; static SelfType NonpositiveMin() { return min(); } static bool IsPositive(SelfType val) { return val != Zero; } static bool IsNonpositive(SelfType val) { return val == Zero; } static bool IsNegative(SelfType) { return false; } static bool IsNonnegative(SelfType) {return true; } static SelfType ZeroValue() { return Zero; } }; } #endif namespace itk { namespace Statistics { /** \class MeasurementVectorTraits * \brief * \ingroup Statistics */ class MeasurementVectorTraits { public: /** In the old framework, the FrequencyType is set to float. The problem is for large histograms the total frequency can be more than 1e+7, than increasing the frequency by one does not change the total frequency (because of lack of precision). Using double type will also ultimately fall into the same problem. Hence in the new statistics framework, InstanceIdentifier/FrequencyTypes are set to the the largest possible integer on the machine */ typedef std::vector::size_type InstanceIdentifier; /** Type defined for representing the frequency of measurement vectors */ typedef InstanceIdentifier AbsoluteFrequencyType; typedef NumericTraits< AbsoluteFrequencyType >::RealType RelativeFrequencyType; typedef NumericTraits< AbsoluteFrequencyType >::AccumulateType TotalAbsoluteFrequencyType; typedef NumericTraits< RelativeFrequencyType >::AccumulateType TotalRelativeFrequencyType; typedef unsigned int MeasurementVectorLength; template static void SetLength( FixedArray< TValueType, VLength > &m, const unsigned int s ) { if( s != VLength ) { itkGenericExceptionMacro( << "Cannot set the size of a FixedArray of length " << VLength << " to " << s ); } m.Fill( NumericTraits< TValueType >::Zero ); } template static void SetLength( FixedArray< TValueType, VLength > *m, const unsigned int s ) { if( s != VLength ) { itkGenericExceptionMacro( << "Cannot set the size of a FixedArray of length " << VLength << " to " << s ); } m->Fill( NumericTraits< TValueType >::Zero ); } template< class TValueType > static void SetLength( Array< TValueType > & m, const unsigned int s ) { m.SetSize( s ); m.Fill( NumericTraits< TValueType >::Zero ); } template< class TValueType > static void SetLength( Array< TValueType > * m, const unsigned int s ) { m->SetSize( s ); m->Fill( NumericTraits< TValueType >::Zero ); } template< class TValueType > static void SetLength( VariableLengthVector< TValueType > & m, const unsigned int s ) { m.SetSize( s ); m.Fill( NumericTraits< TValueType >::Zero ); } template< class TValueType > static void SetLength( VariableLengthVector< TValueType > * m, const unsigned int s ) { m->SetSize( s ); m->Fill( NumericTraits< TValueType >::Zero ); } template< class TValueType > static void SetLength( std::vector< TValueType > & m, const unsigned int s ) { m.resize( s ); } template< class TValueType > static void SetLength( std::vector< TValueType > * m, const unsigned int s ) { m->resize( s ); } template< class TValueType, unsigned int VLength > static MeasurementVectorLength GetLength( const FixedArray< TValueType, VLength > &) { return VLength; } template< class TValueType, unsigned int VLength > static MeasurementVectorLength GetLength( const FixedArray< TValueType, VLength > *) { return VLength; } template< class TValueType > static MeasurementVectorLength GetLength( const Array< TValueType > &m ) {return m.GetSize(); } template< class TValueType > static MeasurementVectorLength GetLength( const Array< TValueType > *m ) {return m->GetSize(); } template< class TValueType > static MeasurementVectorLength GetLength( const VariableLengthVector< TValueType > &m ) {return m.GetSize(); } template< class TValueType > static MeasurementVectorLength GetLength( const VariableLengthVector< TValueType > *m ) {return m->GetSize(); } template< class TValueType > static MeasurementVectorLength GetLength( const std::vector< TValueType > &m ) {return m.size(); } template< class TValueType > static MeasurementVectorLength GetLength( const std::vector< TValueType > *m ) {return m->size(); } template< class TVectorType > static bool IsResizable( const TVectorType & ) { // Test whether the vector type is resizable or not // // If the default constructor creates a vector of // length zero, we assume that it is resizable, // otherwise that is a pretty useless measurement vector. TVectorType m; MeasurementVectorLength len = GetLength( m ); return ( len == 0 ); } template< class TValueType1, unsigned int VLength, class TValueType2 > static MeasurementVectorLength Assert( const FixedArray< TValueType1, VLength > &, const Array< TValueType2 > &b, const char *errMsg="Length Mismatch") { if( b.Size() == 0 ) { return VLength; } if( b.Size() != 0 ) { if (b.Size() != VLength) { itkGenericExceptionMacro( << errMsg ); return 0; } } return 0; } template< class TValueType1, unsigned int VLength, class TValueType2 > static MeasurementVectorLength Assert( const FixedArray< TValueType1, VLength > *, const Array< TValueType2 > *b, const char *errMsg="Length Mismatch") { if( b->Size() == 0 ) { return VLength; } else if (b->Size() != VLength) { itkGenericExceptionMacro( << errMsg ); return 0; } return 0; } template< class TValueType1, unsigned int VLength, class TValueType2 > static MeasurementVectorLength Assert( const FixedArray< TValueType1, VLength > &, const VariableLengthVector< TValueType2 > &b, const char *errMsg="Length Mismatch") { if( b.Size() == 0 ) { return VLength; } if( b.Size() != 0 ) { if (b.Size() != VLength) { itkGenericExceptionMacro( << errMsg ); return 0; } } return 0; } template< class TValueType1, unsigned int VLength, class TValueType2 > static MeasurementVectorLength Assert( const FixedArray< TValueType1, VLength > *, const VariableLengthVector< TValueType2 > *b, const char *errMsg="Length Mismatch") { if( b->Size() == 0 ) { return VLength; } else if (b->Size() != VLength) { itkGenericExceptionMacro( << errMsg ); return 0; } return 0; } template< class TValueType1, unsigned int VLength, class TValueType2 > static MeasurementVectorLength Assert( const FixedArray< TValueType1, VLength > &, const std::vector< TValueType2 > &b, const char *errMsg="Length Mismatch") { if( b.size() == 0 ) { return VLength; } if( b.size() != 0 ) { if (b.size() != VLength) { itkGenericExceptionMacro( << errMsg ); return 0; } } return 0; } template< class TValueType1, unsigned int VLength, class TValueType2 > static MeasurementVectorLength Assert( const FixedArray< TValueType1, VLength > *, const std::vector< TValueType2 > *b, const char *errMsg="Length Mismatch") { if( b->size() == 0 ) { return VLength; } else if (b->size() != VLength) { itkGenericExceptionMacro( << errMsg ); return 0; } return 0; } template< class TValueType1, unsigned int VLength> static MeasurementVectorLength Assert( const FixedArray< TValueType1, VLength > &, const MeasurementVectorLength l, const char *errMsg="Length Mismatch") { if( l == 0 ) { return VLength; } else if( l != VLength ) { itkGenericExceptionMacro( << errMsg ); return 0; } return 0; } template< class TValueType1, unsigned int VLength> static MeasurementVectorLength Assert( const FixedArray< TValueType1, VLength > *, const MeasurementVectorLength l, const char *errMsg="Length Mismatch") { if( l == 0 ) { return VLength; } else if( l != VLength ) { itkGenericExceptionMacro( << errMsg ); return 0; } return 0; } template< class TValueType > static MeasurementVectorLength Assert( const Array< TValueType > &a, const MeasurementVectorLength l, const char *errMsg="Length Mismatch") { if( ( ( l != 0 ) && ( a.Size() != l ) ) || ( a.Size() == 0 ) ) { itkGenericExceptionMacro( << errMsg ); } else if( l == 0 ) { return a.Size(); } return 0; } template< class TValueType > static MeasurementVectorLength Assert( const Array< TValueType > *a, const MeasurementVectorLength l, const char *errMsg="Length Mismatch") { if( ( ( l != 0 ) && ( a->Size() != l )) || ( a->Size() == 0 ) ) { itkGenericExceptionMacro( << errMsg ); } else if( l == 0 ) { return a->Size(); } return 0; } template< class TValueType > static MeasurementVectorLength Assert( const VariableLengthVector< TValueType > &a, const MeasurementVectorLength l, const char *errMsg="Length Mismatch") { if( ( ( l != 0 ) && ( a.Size() != l ) ) || ( a.Size() == 0 ) ) { itkGenericExceptionMacro( << errMsg ); } else if( l == 0 ) { return a.Size(); } return 0; } template< class TValueType > static MeasurementVectorLength Assert( const VariableLengthVector< TValueType > *a, const MeasurementVectorLength l, const char *errMsg="Length Mismatch") { if( ( ( l != 0 ) && ( a->Size() != l ) ) || ( a->Size() == 0 ) ) { itkGenericExceptionMacro( << errMsg ); } else if( l == 0 ) { return a->Size(); } return 0; } template< class TValueType > static MeasurementVectorLength Assert( const std::vector< TValueType > &a, const MeasurementVectorLength l, const char *errMsg="Length Mismatch") { if( ( ( l != 0 ) && ( a.size() != l ) ) || ( a.size() == 0 ) ) { itkGenericExceptionMacro( << errMsg ); } else if( l == 0 ) { return a.size(); } return 0; } template< class TValueType > static MeasurementVectorLength Assert( const std::vector< TValueType > *a, const MeasurementVectorLength l, const char *errMsg="Length Mismatch") { if( ( ( l != 0 ) && ( a->size() != l ) ) || ( a->size() == 0 ) ) { itkGenericExceptionMacro( << errMsg ); } else if( l == 0 ) { return a->size(); } return 0; } template< class TArrayType > static void Assign( TArrayType & m, const TArrayType & v ) { m = v; } template< class TValueType, unsigned int VLength > static void Assign( FixedArray< TValueType, VLength > & m, const TValueType & v ) { m[0] = v; } }; /** \class MeasurementVectorTraitsTypes * \brief * \ingroup Statistics */ template < class TMeasurementVector > class MeasurementVectorTraitsTypes { public: typedef typename TMeasurementVector::ValueType ValueType; }; template< class T > class MeasurementVectorTraitsTypes< std::vector< T > > { public: typedef T ValueType; }; /** Traits for generating the MeasurementVectorType that best matches a * particular pixel type. */ template class MeasurementVectorPixelTraits { public: /* type of the vector that matches this pixel type */ typedef TPixelType MeasurementVectorType; }; template<> class MeasurementVectorPixelTraits { public: typedef FixedArray< char, 1 > MeasurementVectorType; }; template<> class MeasurementVectorPixelTraits { public: typedef FixedArray< unsigned char, 1 > MeasurementVectorType; }; template<> class MeasurementVectorPixelTraits { public: typedef FixedArray< signed char, 1 > MeasurementVectorType; }; template<> class MeasurementVectorPixelTraits { public: typedef FixedArray< unsigned short, 1 > MeasurementVectorType; }; template<> class MeasurementVectorPixelTraits { public: typedef FixedArray< signed short, 1 > MeasurementVectorType; }; template<> class MeasurementVectorPixelTraits { public: typedef FixedArray< unsigned int, 1 > MeasurementVectorType; }; template<> class MeasurementVectorPixelTraits { public: typedef FixedArray< signed int, 1 > MeasurementVectorType; }; template<> class MeasurementVectorPixelTraits { public: typedef FixedArray< unsigned long, 1 > MeasurementVectorType; }; template<> class MeasurementVectorPixelTraits { public: typedef FixedArray< signed long, 1 > MeasurementVectorType; }; template<> class MeasurementVectorPixelTraits { public: typedef FixedArray< float, 1 > MeasurementVectorType; }; template<> class MeasurementVectorPixelTraits { public: typedef FixedArray< double, 1 > MeasurementVectorType; }; } // namespace Statistics } // namespace itk #endif // __itkMeasurementVectorTraits_h KWStyle-master/Testing/Data/5086-KWStyleConfiguration.kws.xml000066400000000000000000000015671265471724600242450ustar00rootroot00000000000000 180 0 1 2 ^\*?[sm]p?[A-Z] 0 1 1 ^s?[A-Z] 100 1 3 /** * */ false true false 4 1 true 2 KWStyle-master/Testing/Data/5086-output.xml000066400000000000000000000000001265471724600206650ustar00rootroot00000000000000KWStyle-master/Testing/Data/5086-test.h000066400000000000000000000020331265471724600177430ustar00rootroot00000000000000#ifndef _HCDEBUG_H_ #define _HCDEBUG_H_ class HCDebug { public : //! ctor/dtor HCDebug( const TKString & iClass , const TKString & iName = TKString() ); virtual ~HCDebug( void ); protected : struct Global { TKString mCommand; TKString mHelp; void (* tProc)( const TKList & iList ); }; template struct Command { TKString mCommand; TKString mHelp; void (T::*mProc)( const TKList & iList ); }; //! static class vars static TKList sGlobals; static TKList > sCommands; static TKList sInstances; static TKCriticalSection sInstancesCS; //! data members TKString mClass; TKString mName; //! objects TSM-Handler virtual int DoHandleTSM( const TKList & iList ); template int FindCommand( const TKList & iList , const TKList > & iCommands ); };//class HCDebug #endif//_HCDEBUG_H_ KWStyle-master/Testing/Data/9934-KWStyleConfiguration.kws.xml000066400000000000000000000012121265471724600242360ustar00rootroot00000000000000 100 0,1,2 [A-Z] :[a-z] [a-z] 0 1 1 3 /**, *, */,true SPACE,2,true,true [NameOfClass],qZ __[NameOfClass]_[Extension] 2 1,1 KWStyle-master/Testing/Data/9934-output.xml000066400000000000000000000000001265471724600206730ustar00rootroot00000000000000KWStyle-master/Testing/Data/9934-test.h000066400000000000000000000003171265471724600177540ustar00rootroot00000000000000#ifndef __9934-test_h #define __9934-test_h /** \class Test */ class MyAwesomeBug : public QObject { public: void switchToMyAwesomeBug(const QString& myAwesomeBugName) { return; } }; #endif KWStyle-master/Testing/Data/9935-KWStyleConfiguration.kws.xml000066400000000000000000000012121265471724600242370ustar00rootroot00000000000000 100 0,1,2 [A-Z] :[a-z] [a-z] 0 1 1 3 /**, *, */,true SPACE,2,true,true [NameOfClass],qZ __[NameOfClass]_[Extension] 2 1,1 KWStyle-master/Testing/Data/9935-output.xml000066400000000000000000000000001265471724600206740ustar00rootroot00000000000000KWStyle-master/Testing/Data/9935-test.cxx000066400000000000000000000023221265471724600203260ustar00rootroot00000000000000/*========================================================================= Program: Array2InitInRowBug =========================================================================*/ #include "Array2InitInRowBug.h" //---------------------------------------------------------------------------- Array2InitInRowBug::Array2InitInRowBug(QObject *parent) { } //----------------------------------------------------------------------------- Array2InitInRowBug::~Array2InitInRowBug() { } //----------------------------------------------------------------------------- QString Array2InitInRowBug::decodeXml(const QString & xmlEncoded) { QString encoded[8] = { "&", // ampersand & "'", // simple quote ' "<", // smaller than < ">", // greater than > """, // double quote " " ", // carriage return \r " ", // line feed, new line \n " ", // horizontal tab \t }; QString decoded[8] = { "&", // ampersand & "\'", // simple quote ' "<", // smaller than < ">", // greater than > "\"", // double quote "\r", // carriage return \r "\n", // line feed, new line \n "\t", // horizontal tab \t }; return QString(); } KWStyle-master/Testing/Data/9937-KWStyleConfiguration.kws.xml000066400000000000000000000012121265471724600242410ustar00rootroot00000000000000 100 0,1,2 [A-Z] :[a-z] [a-z] 0 1 1 3 /**, *, */,true SPACE,2,true,true [NameOfClass],qZ __[NameOfClass]_[Extension] 2 1,1 KWStyle-master/Testing/Data/9937-output.xml000066400000000000000000000000001265471724600206760ustar00rootroot00000000000000KWStyle-master/Testing/Data/9937-test.cxx000066400000000000000000000004321265471724600203300ustar00rootroot00000000000000/*========================================================================= Program: ArrayStaticInitContainingOperatorBug =========================================================================*/ int main( int argc, char *argv[] ) { double b[1] = { 1/2.0 }; return 1; } KWStyle-master/Testing/Data/9938-KWStyleConfiguration.kws.xml000066400000000000000000000012121265471724600242420ustar00rootroot00000000000000 100 0,1,2 [A-Z] :[a-z] [a-z] 0 1 1 3 /**, *, */,true SPACE,2,true,true [NameOfClass],qZ __[NameOfClass]_[Extension] 2 1,1 KWStyle-master/Testing/Data/9938-output.xml000066400000000000000000000000001265471724600206770ustar00rootroot00000000000000KWStyle-master/Testing/Data/9938-test.cxx000066400000000000000000000005111265471724600203270ustar00rootroot00000000000000/*========================================================================= Program: Weird Bug =========================================================================*/ int main(int argc, char** argv) { // Comment with only one parenthesis ( for (i = begin(); i < 10; i++) { // blah blah } } KWStyle-master/Testing/Data/9939-KWStyleConfiguration.kws.xml000066400000000000000000000012121265471724600242430ustar00rootroot00000000000000 100 0,1,2 [A-Z] :[a-z] [a-z] 0 1 1 3 /**, *, */,true SPACE,2,true,true [NameOfClass],qZ __[NameOfClass]_[Extension] 2 1,1 KWStyle-master/Testing/Data/9939-output.xml000066400000000000000000000002051265471724600207070ustar00rootroot00000000000000 10 10 7 KWStyle-master/Testing/Data/9939-test.cxx000066400000000000000000000005101265471724600203270ustar00rootroot00000000000000/*========================================================================= Program: Semicolon Bug =========================================================================*/ namespace { // Blah blah }; // Unnecessary semicolon should be reported at line 10 not line 9 int main( int argc, char *argv[] ) { return 0; } KWStyle-master/Testing/Data/kwsTabsTest-KWStyleConfiguration.kws.xml000066400000000000000000000001651265471724600261120ustar00rootroot00000000000000 120 1 KWStyle-master/Testing/Data/kwsTabsTest-output.xml000066400000000000000000000010201265471724600225440ustar00rootroot00000000000000 3 3 10 4 4 10 5 5 10 6 6 10 KWStyle-master/Testing/Data/kwsTabsTest-test.cxx000066400000000000000000000003551265471724600221770ustar00rootroot00000000000000if (1) // this line has no tabs { // this line has no tabs // this line has a leading tab // this line has a tab in the middle // this line has a tab at the end // this line has lots of tabs } // this line has no tabs KWStyle-master/Testing/Docker/000077500000000000000000000000001265471724600165535ustar00rootroot00000000000000KWStyle-master/Testing/Docker/Dockerfile000066400000000000000000000003421265471724600205440ustar00rootroot00000000000000FROM debian:8 MAINTAINER Insight Software Consortium RUN apt-get update && apt-get install -y \ build-essential \ cmake \ ninja-build \ git RUN mkdir -p /usr/src/KWStyle-build WORKDIR /usr/src KWStyle-master/Testing/Docker/build.sh000077500000000000000000000001451265471724600202110ustar00rootroot00000000000000#!/bin/sh script_dir="`cd $(dirname $0); pwd`" docker build -t kitware/kwstyle-testing $script_dir KWStyle-master/Testing/Docker/run.sh000077500000000000000000000002751265471724600177220ustar00rootroot00000000000000#!/bin/sh script_dir="`cd $(dirname $0); pwd`" docker run \ --rm \ -v $script_dir/../..:/usr/src/KWStyle \ kitware/kwstyle-testing \ /usr/src/KWStyle/Testing/Docker/test.sh KWStyle-master/Testing/Docker/test.sh000077500000000000000000000006111265471724600200670ustar00rootroot00000000000000#!/bin/bash # This is a script to build the modules and run the test suite in the base # Docker container. die() { echo "Error: $@" 1>&2 exit 1; } cd /usr/src/KWStyle-build || die "Could not cd into the build directory" cmake \ -G Ninja \ -DCMAKE_BUILD_TYPE:STRING=Release \ /usr/src/KWStyle || die "CMake configuration failed" ctest -VV -D Experimental || die "ctest failed" KWStyle-master/Testing/KWStyleTests.cxx000066400000000000000000000015261265471724600204610ustar00rootroot00000000000000/*========================================================================= Program: KWStyle - Kitware Style Checker Module: KWStyleTests.cxx Copyright (c) Kitware, Inc. All rights reserved. See Copyright.txt or http://www.kitware.com/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #include "kwsTestMain.h" void RegisterTests() { REGISTER_TEST(kwsSemiColonSpaceTest); REGISTER_TEST(kwsStatementPerLineTest); REGISTER_TEST(kwsVariablePerLineTest); REGISTER_TEST(kwsSwitchCaseTest); REGISTER_TEST(kwsBadCharactersTest); REGISTER_TEST(kwsRunKWStyleTest); } KWStyle-master/Testing/kwsBadCharactersTest.cxx000066400000000000000000000041661265471724600221520ustar00rootroot00000000000000/*========================================================================= Program: Insight Segmentation & Registration Toolkit Module: kwsBadCharactersTest.cxx Language: C++ Date: $Date$ Version: $Revision$ Copyright (c) Insight Software Consortium. All rights reserved. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #if defined(_MSC_VER) #pragma warning ( disable : 4786 ) #endif #if defined(__clang__) #pragma clang diagnostic ignored "-Winvalid-source-encoding" #endif #include "kwsParser.h" int kwsBadCharactersTest(int, char* [] ) { std::string buffer; buffer = "void()\n{\ntest;\n};"; kws::Parser parser; parser.SetBuffer(buffer); parser.Check("LineLength","999"); parser.Check("BadCharacters","true"); // Test for bad syntax std::cout << "Test for bad syntax: "; kws::Parser::ErrorVectorType errors = parser.GetErrors(); if(errors.size() > 0) { for(unsigned int i=0;i 0) { for(unsigned int i=0;i #include #include int kwsRunKWStyleTest(int , char* argv[] ) { argv++; // Run KWSTyle kwssysProcess* gp = kwssysProcess_New(); kwssysProcess_SetCommand(gp,argv); kwssysProcess_Execute(gp); kwssysProcess_WaitForExit(gp,0); int result = 1; switch(kwssysProcess_GetState(gp)) { case kwssysProcess_State_Exited: { result = kwssysProcess_GetExitValue(gp); } break; case kwssysProcess_State_Error: { std::cerr << "Error: Could not run " << argv[0] << ":\n"; std::cerr << kwssysProcess_GetErrorString(gp) << "\n"; } break; case kwssysProcess_State_Exception: { std::cerr << "Error: " << argv[0] << " terminated with an exception: " << kwssysProcess_GetExceptionString(gp) << "\n"; } break; case kwssysProcess_State_Starting: case kwssysProcess_State_Executing: case kwssysProcess_State_Expired: case kwssysProcess_State_Killed: { // Should not get here. std::cerr << "Unexpected ending state after running " << argv[0] << std::endl; } break; } kwssysProcess_Delete(gp); return 0; } KWStyle-master/Testing/kwsSemiColonSpaceTest.cxx000066400000000000000000000114741265471724600223300ustar00rootroot00000000000000/*========================================================================= Program: Insight Segmentation & Registration Toolkit Module: kwsSemiColonSpaceTest.cxx Language: C++ Date: $Date$ Version: $Revision$ Copyright (c) Insight Software Consortium. All rights reserved. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #if defined(_MSC_VER) #pragma warning ( disable : 4786 ) #endif #include "kwsParser.h" int kwsSemiColonSpaceTest(int, char* [] ) { std::string buffer; buffer = "Test() ;"; kws::Parser parser; parser.SetBuffer(buffer); parser.Check("SemicolonSpace","0"); // Test for bad syntax std::cout << "Test for bad syntax: "; kws::Parser::ErrorVectorType errors = parser.GetErrors(); if(errors.size() > 0) { for(unsigned int i=0;i 0) { for(unsigned int i=0;i 0) { for(unsigned int i=0;i 0) { for(unsigned int i=0;i 0) { for(unsigned int i=0;i 0) { for(unsigned int i=0;i 0) { for(unsigned int i=0;i 0) { for(unsigned int i=0;i 0) { for(unsigned int i=0;i 0) { for(unsigned int i=0;i 0) { for(unsigned int i=0;i 0) { for(unsigned int i=0;i 0) { for(unsigned int i=0;i // This file is used to create TestDriver executables // These executables are able to register a function pointer to a string name // in a lookup table. By including this file, it creates a main function // that calls RegisterTests() then looks up the function pointer for the test // specified on the command line. #include #include #include #include #include // strcmp #include // atoi #include "kwssys/SystemTools.hxx" #define ITK_TEST_DIMENSION_MAX 6 typedef int (*MainFuncPointer)(int , char* [] ); std::map StringToTestFunctionMap; #define REGISTER_TEST(test) \ extern int test(int, char* [] ); \ StringToTestFunctionMap[#test] = test int RegressionTestImage (const char *, const char *, int); std::map RegressionTestBaselines (char *); void RegisterTests(); void PrintAvailableTests() { std::cout << "Available tests:\n"; std::map::iterator j = StringToTestFunctionMap.begin(); int i = 0; while(j != StringToTestFunctionMap.end()) { std::cout << i << ". " << j->first << "\n"; ++i; ++j; } } /** Compare the baseline and the testfile */ int Compare(const char* baseline, const char* testfile) { // Load the baseline std::ifstream baselineFile; baselineFile.open(baseline, std::ios::binary | std::ios::in); if(!baselineFile.is_open()) { std::cout << "Cannot open baselineFile for reading: " << baseline << std::endl; return 1; } baselineFile.seekg(0,std::ios::end); unsigned long fileSize = baselineFile.tellg(); baselineFile.seekg(0,std::ios::beg); char* buf = new char[fileSize+1]; baselineFile.read(buf,fileSize); buf[fileSize] = 0; std::string baselineBuffer(buf); baselineBuffer.resize(fileSize); delete [] buf; baselineFile.close(); // Load the testfile std::ifstream testfileFile; testfileFile.open(testfile, std::ios::binary | std::ios::in); if(!testfileFile.is_open()) { std::cout << "Cannot open testfileFile for reading: " << testfile << std::endl; return 1; } testfileFile.seekg(0,std::ios::end); fileSize = testfileFile.tellg(); testfileFile.seekg(0,std::ios::beg); buf = new char[fileSize+1]; testfileFile.read(buf,fileSize); buf[fileSize] = 0; std::string testfileBuffer(buf); testfileBuffer.resize(fileSize); delete [] buf; testfileFile.close(); // Go through the testfile and check if we have the same errors than the // baseline long int posError = static_cast(testfileBuffer.find("")); long int posErrorBase = static_cast(testfileBuffer.find("")); while(posError != -1) { long int posErrorEnd = static_cast(testfileBuffer.find("",posError)); std::string subError = testfileBuffer.substr(posError,posErrorEnd-posError); long int line1a = static_cast(subError.find("")); long int line1b = static_cast(subError.find("")); long int line2a = static_cast(subError.find("")); long int line2b = static_cast(subError.find("")); long int errorNumbera = static_cast(subError.find("")); long int errorNumberb = static_cast(subError.find("")); unsigned int l1 = atoi(subError.substr(line1a+19,line1b-line1a-19).c_str()); unsigned int l2 = atoi(subError.substr(line2a+19,line2b-line2a-19).c_str()); unsigned int errorNumber = atoi(subError.substr(errorNumbera+13,errorNumberb-errorNumbera-13).c_str()); // Check the baseline if(posErrorBase == -1) { std::cout << "Error not found" << std::endl; return 1; } long int posErrorEndBase = static_cast(baselineBuffer.find("",posErrorBase)); std::string subErrorBase = baselineBuffer.substr(posErrorBase,posErrorEndBase-posErrorBase); long int line1aBase = static_cast(subErrorBase.find("")); long int line1bBase = static_cast(subErrorBase.find("")); long int line2aBase = static_cast(subErrorBase.find("")); long int line2bBase = static_cast(subErrorBase.find("")); long int errorNumberaBase = static_cast(subErrorBase.find("")); long int errorNumberbBase = static_cast(subErrorBase.find("")); unsigned int l1Base = atoi(subErrorBase.substr(line1aBase+19,line1bBase-line1aBase-19).c_str()); unsigned int l2Base = atoi(subErrorBase.substr(line2aBase+19,line2bBase-line2aBase-19).c_str()); unsigned int errorNumberBase = atoi(subErrorBase.substr(errorNumberaBase+13,errorNumberbBase-errorNumberaBase-13).c_str()); if(l1 != l1Base || l2 != l2Base || errorNumber!=errorNumberBase) { std::cout << "Errors differ:" << std::endl; std::cout << "l1 = " << l1 << " v.s. " << l1Base << std::endl; std::cout << "l2 = " << l2 << " v.s. " << l2Base << std::endl; std::cout << "errorNumber = " << errorNumber << " v.s. " << errorNumberBase << std::endl; return 1; } posError = static_cast(testfileBuffer.find("",posError+1)); posErrorBase = static_cast(baselineBuffer.find("",posErrorBase+1)); } // Check that we don't have any other errors in the baseline if(posErrorBase != -1) { std::cout << "The baseline as more errors than the test" << std::endl; return 1; } return 0; } int main(int ac, char* av[] ) { char *baselineFilename = NULL; char *testFilename = NULL; RegisterTests(); std::string testToRun; if(ac < 2) { PrintAvailableTests(); std::cout << "To run a test, enter the test number: "; int testNum = 0; std::cin >> testNum; std::map::iterator j = StringToTestFunctionMap.begin(); int i = 0; while(j != StringToTestFunctionMap.end() && i < testNum) { ++i; ++j; } if(j == StringToTestFunctionMap.end()) { std::cerr << testNum << " is an invalid test number\n"; return -1; } testToRun = j->first; } else {if (ac > 3 && strcmp(av[1], "--compare") == 0) { baselineFilename = av[2]; testFilename = av[3]; av += 3; ac -= 3; } testToRun = av[1]; } std::map::iterator j = StringToTestFunctionMap.find(testToRun); if(j != StringToTestFunctionMap.end()) { MainFuncPointer f = j->second; int result; try { // Invoke the test's "main" function. result = (*f)(ac-1, av+1); // Make a list of possible baselines if (baselineFilename && testFilename) { result = Compare(baselineFilename,testFilename); } } catch(const std::exception& e) { std::cerr << "Test driver caught an exception:\n"; std::cerr << e.what() << "\n"; result = -1; } catch(...) { std::cerr << "Test driver caught an unknown exception!!!\n"; result = -1; } return result; } PrintAvailableTests(); std::cerr << "Failed: " << testToRun << ": No test registered with name " << testToRun << "\n"; return -1; } KWStyle-master/Testing/kwsVariablePerLineTest.cxx000066400000000000000000000046671265471724600224760ustar00rootroot00000000000000/*========================================================================= Program: Insight Segmentation & Registration Toolkit Module: kwsVariablePerLineTest.cxx Language: C++ Date: $Date$ Version: $Revision$ Copyright (c) Insight Software Consortium. All rights reserved. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #if defined(_MSC_VER) #pragma warning ( disable : 4786 ) #endif #include "kwsParser.h" int kwsVariablePerLineTest(int, char* [] ) { std::string buffer; buffer = "//This is a test\r\nint a,b, c;"; kws::Parser parser; parser.SetBuffer(buffer); parser.Check("LineLength","999"); parser.Check("VariablePerLine","1"); // Test for bad syntax std::cout << "Test for bad syntax: "; kws::Parser::ErrorVectorType errors = parser.GetErrors(); if(errors.size() > 0) { for(unsigned int i=0;i 0) { for(unsigned int i=0;i 0) { for(unsigned int i=0;i> 2) & 0x3F); dest[1] = kwsysBase64EncodeChar(((src[0] << 4) & 0x30)|((src[1] >> 4) & 0x0F)); dest[2] = kwsysBase64EncodeChar(((src[1] << 2) & 0x3C)|((src[2] >> 6) & 0x03)); dest[3] = kwsysBase64EncodeChar(src[2] & 0x3F); } /*--------------------------------------------------------------------------*/ /* Encode 2 bytes into a 4 byte string. */ void kwsysBase64_Encode2(const unsigned char *src, unsigned char *dest) { dest[0] = kwsysBase64EncodeChar((src[0] >> 2) & 0x3F); dest[1] = kwsysBase64EncodeChar(((src[0] << 4) & 0x30)|((src[1] >> 4) & 0x0F)); dest[2] = kwsysBase64EncodeChar(((src[1] << 2) & 0x3C)); dest[3] = '='; } /*--------------------------------------------------------------------------*/ /* Encode 1 bytes into a 4 byte string. */ void kwsysBase64_Encode1(const unsigned char *src, unsigned char *dest) { dest[0] = kwsysBase64EncodeChar((src[0] >> 2) & 0x3F); dest[1] = kwsysBase64EncodeChar(((src[0] << 4) & 0x30)); dest[2] = '='; dest[3] = '='; } /*--------------------------------------------------------------------------*/ /* Encode 'length' bytes from the input buffer and store the encoded stream into the output buffer. Return the length of the encoded buffer (output). Note that the output buffer must be allocated by the caller (length * 1.5 should be a safe estimate). If 'mark_end' is true than an extra set of 4 bytes is added to the end of the stream if the input is a multiple of 3 bytes. These bytes are invalid chars and therefore they will stop the decoder thus enabling the caller to decode a stream without actually knowing how much data to expect (if the input is not a multiple of 3 bytes then the extra padding needed to complete the encode 4 bytes will stop the decoding anyway). */ size_t kwsysBase64_Encode(const unsigned char *input, size_t length, unsigned char *output, int mark_end) { const unsigned char *ptr = input; const unsigned char *end = input + length; unsigned char *optr = output; /* Encode complete triplet */ while ((end - ptr) >= 3) { kwsysBase64_Encode3(ptr, optr); ptr += 3; optr += 4; } /* Encodes a 2-byte ending into 3 bytes and 1 pad byte and writes. */ if (end - ptr == 2) { kwsysBase64_Encode2(ptr, optr); optr += 4; } /* Encodes a 1-byte ending into 2 bytes and 2 pad bytes */ else if (end - ptr == 1) { kwsysBase64_Encode1(ptr, optr); optr += 4; } /* Do we need to mark the end */ else if (mark_end) { optr[0] = optr[1] = optr[2] = optr[3] = '='; optr += 4; } return (size_t)(optr - output); } /*--------------------------------------------------------------------------*/ /* Decode 4 bytes into a 3 byte string. */ int kwsysBase64_Decode3(const unsigned char *src, unsigned char *dest) { unsigned char d0, d1, d2, d3; d0 = kwsysBase64DecodeChar(src[0]); d1 = kwsysBase64DecodeChar(src[1]); d2 = kwsysBase64DecodeChar(src[2]); d3 = kwsysBase64DecodeChar(src[3]); /* Make sure all characters were valid */ if (d0 == 0xFF || d1 == 0xFF || d2 == 0xFF || d3 == 0xFF) { return 0; } /* Decode the 3 bytes */ dest[0] = (unsigned char)(((d0 << 2) & 0xFC) | ((d1 >> 4) & 0x03)); dest[1] = (unsigned char)(((d1 << 4) & 0xF0) | ((d2 >> 2) & 0x0F)); dest[2] = (unsigned char)(((d2 << 6) & 0xC0) | ((d3 >> 0) & 0x3F)); /* Return the number of bytes actually decoded */ if (src[2] == '=') { return 1; } if (src[3] == '=') { return 2; } return 3; } /*--------------------------------------------------------------------------*/ /* Decode bytes from the input buffer and store the decoded stream into the output buffer until 'length' bytes have been decoded. Return the real length of the decoded stream (which should be equal to 'length'). Note that the output buffer must be allocated by the caller. If 'max_input_length' is not null, then it specifies the number of encoded bytes that should be at most read from the input buffer. In that case the 'length' parameter is ignored. This enables the caller to decode a stream without actually knowing how much decoded data to expect (of course, the buffer must be large enough). */ size_t kwsysBase64_Decode(const unsigned char *input, size_t length, unsigned char *output, size_t max_input_length) { const unsigned char *ptr = input; unsigned char *optr = output; /* Decode complete triplet */ if (max_input_length) { const unsigned char *end = input + max_input_length; while (ptr < end) { int len = kwsysBase64_Decode3(ptr, optr); optr += len; if(len < 3) { return (size_t)(optr - output); } ptr += 4; } } else { unsigned char *oend = output + length; while ((oend - optr) >= 3) { int len = kwsysBase64_Decode3(ptr, optr); optr += len; if(len < 3) { return (size_t)(optr - output); } ptr += 4; } /* Decode the last triplet */ if (oend - optr == 2) { unsigned char temp[3]; int len = kwsysBase64_Decode3(ptr, temp); if(len >= 2) { optr[0] = temp[0]; optr[1] = temp[1]; optr += 2; } else if(len > 0) { optr[0] = temp[0]; optr += 1; } } else if (oend - optr == 1) { unsigned char temp[3]; int len = kwsysBase64_Decode3(ptr, temp); if(len > 0) { optr[0] = temp[0]; optr += 1; } } } return (size_t)(optr - output); } KWStyle-master/Utilities/KWSys/Base64.h.in000066400000000000000000000110241265471724600205220ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_Base64_h #define @KWSYS_NAMESPACE@_Base64_h #include <@KWSYS_NAMESPACE@/Configure.h> #include /* size_t */ /* Redefine all public interface symbol names to be in the proper namespace. These macros are used internally to kwsys only, and are not visible to user code. Use kwsysHeaderDump.pl to reproduce these macros after making changes to the interface. */ #if !defined(KWSYS_NAMESPACE) # define kwsys_ns(x) @KWSYS_NAMESPACE@##x # define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT #endif #if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # define kwsysBase64 kwsys_ns(Base64) # define kwsysBase64_Decode kwsys_ns(Base64_Decode) # define kwsysBase64_Decode3 kwsys_ns(Base64_Decode3) # define kwsysBase64_Encode kwsys_ns(Base64_Encode) # define kwsysBase64_Encode1 kwsys_ns(Base64_Encode1) # define kwsysBase64_Encode2 kwsys_ns(Base64_Encode2) # define kwsysBase64_Encode3 kwsys_ns(Base64_Encode3) #endif #if defined(__cplusplus) extern "C" { #endif /** * Encode 3 bytes into a 4 byte string. */ kwsysEXPORT void kwsysBase64_Encode3(const unsigned char *src, unsigned char *dest); /** * Encode 2 bytes into a 4 byte string. */ kwsysEXPORT void kwsysBase64_Encode2(const unsigned char *src, unsigned char *dest); /** * Encode 1 bytes into a 4 byte string. */ kwsysEXPORT void kwsysBase64_Encode1(const unsigned char *src, unsigned char *dest); /** * Encode 'length' bytes from the input buffer and store the encoded * stream into the output buffer. Return the length of the encoded * buffer (output). Note that the output buffer must be allocated by * the caller (length * 1.5 should be a safe estimate). If 'mark_end' * is true than an extra set of 4 bytes is added to the end of the * stream if the input is a multiple of 3 bytes. These bytes are * invalid chars and therefore they will stop the decoder thus * enabling the caller to decode a stream without actually knowing how * much data to expect (if the input is not a multiple of 3 bytes then * the extra padding needed to complete the encode 4 bytes will stop * the decoding anyway). */ kwsysEXPORT size_t kwsysBase64_Encode(const unsigned char *input, size_t length, unsigned char *output, int mark_end); /** * Decode 4 bytes into a 3 byte string. Returns the number of bytes * actually decoded. */ kwsysEXPORT int kwsysBase64_Decode3(const unsigned char *src, unsigned char *dest); /** * Decode bytes from the input buffer and store the decoded stream * into the output buffer until 'length' bytes have been decoded. * Return the real length of the decoded stream (which should be equal * to 'length'). Note that the output buffer must be allocated by the * caller. If 'max_input_length' is not null, then it specifies the * number of encoded bytes that should be at most read from the input * buffer. In that case the 'length' parameter is ignored. This * enables the caller to decode a stream without actually knowing how * much decoded data to expect (of course, the buffer must be large * enough). */ kwsysEXPORT size_t kwsysBase64_Decode(const unsigned char *input, size_t length, unsigned char *output, size_t max_input_length); #if defined(__cplusplus) } /* extern "C" */ #endif /* If we are building a kwsys .c or .cxx file, let it use these macros. Otherwise, undefine them to keep the namespace clean. */ #if !defined(KWSYS_NAMESPACE) # undef kwsys_ns # undef kwsysEXPORT # if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # undef kwsysBase64 # undef kwsysBase64_Decode # undef kwsysBase64_Decode3 # undef kwsysBase64_Encode # undef kwsysBase64_Encode1 # undef kwsysBase64_Encode2 # undef kwsysBase64_Encode3 # endif #endif #endif KWStyle-master/Utilities/KWSys/CMakeLists.txt000066400000000000000000001164761265471724600215010ustar00rootroot00000000000000#============================================================================= # KWSys - Kitware System Library # Copyright 2000-2011 Kitware, Inc., Insight Software Consortium # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. # # This software is distributed WITHOUT ANY WARRANTY; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the License for more information. #============================================================================= # The Kitware System Library is intended to be included in other # projects. It is completely configurable in that the library's # namespace can be configured and the components that are included can # be selected invididually. # Typical usage is to import the kwsys directory tree into a # subdirectory under a parent project and enable the classes that will # be used. All classes are disabled by default. The CMake listfile # above this one configures the library as follows: # # SET(KWSYS_NAMESPACE foosys) # SET(KWSYS_USE_Directory 1) # Enable Directory class. # SUBDIRS(kwsys) # # Optional settings are as follows: # # KWSYS_HEADER_ROOT = The directory into which to generate the kwsys headers. # A directory called "${KWSYS_NAMESPACE}" will be # created under this root directory to hold the files. # # Example: # # SET(KWSYS_HEADER_ROOT ${PROJECT_BINARY_DIR}) # INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR}) # # Optional settings to setup install rules are as follows: # # KWSYS_INSTALL_BIN_DIR = The installation target directories into # KWSYS_INSTALL_LIB_DIR which the libraries and headers from # KWSYS_INSTALL_INCLUDE_DIR kwsys should be installed by a "make install". # The values should be specified relative to # the installation prefix and NOT start with '/'. # KWSYS_INSTALL_DOC_DIR = The installation target directory for documentation # such as copyright information. # # KWSYS_INSTALL_COMPONENT_NAME_RUNTIME = Name of runtime and development # KWSYS_INSTALL_COMPONENT_NAME_DEVELOPMENT installation components. # If not given the install rules # will not be in any component. # # KWSYS_INSTALL_EXPORT_NAME = The EXPORT option value for install(TARGETS) calls. # # Example: # # SET(KWSYS_INSTALL_BIN_DIR bin) # SET(KWSYS_INSTALL_LIB_DIR lib) # SET(KWSYS_INSTALL_INCLUDE_DIR include) # SET(KWSYS_INSTALL_COMPONENT_NAME_RUNTIME Runtime) # SET(KWSYS_INSTALL_COMPONENT_NAME_DEVELOPMENT Development) # Once configured, kwsys should be used as follows from C or C++ code: # # #include # ... # foosys::Directory directory; # # NOTE: This library is intended for internal use by Kitware-driven # projects. In order to keep it simple no attempt will be made to # maintain backward compatibility when changes are made to KWSys. # When an incompatible change is made Kitware's projects that use # KWSys will be fixed, but no notification will necessarily be sent to # any outside mailing list and no documentation of the change will be # written. CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR) IF(POLICY CMP0025) CMAKE_POLICY(SET CMP0025 NEW) ENDIF() IF(POLICY CMP0056) CMAKE_POLICY(SET CMP0056 NEW) ENDIF() SET(CMAKE_LEGACY_CYGWIN_WIN32 0) #----------------------------------------------------------------------------- # If a namespace is not specified, use "kwsys" and enable testing. # This should be the case only when kwsys is not included inside # another project and is being tested. IF(NOT KWSYS_NAMESPACE) SET(KWSYS_NAMESPACE "kwsys") SET(KWSYS_STANDALONE 1) ENDIF() #----------------------------------------------------------------------------- # The project name is that of the specified namespace. PROJECT(${KWSYS_NAMESPACE}) # Tell CMake how to follow dependencies of sources in this directory. SET_PROPERTY(DIRECTORY PROPERTY IMPLICIT_DEPENDS_INCLUDE_TRANSFORM "KWSYS_HEADER(%)=<${KWSYS_NAMESPACE}/%>" ) # Select library components. IF(KWSYS_STANDALONE OR CMake_SOURCE_DIR) SET(KWSYS_ENABLE_C 1) # Enable all components. SET(KWSYS_USE_Base64 1) SET(KWSYS_USE_Directory 1) SET(KWSYS_USE_DynamicLoader 1) SET(KWSYS_USE_Encoding 1) SET(KWSYS_USE_Glob 1) SET(KWSYS_USE_MD5 1) SET(KWSYS_USE_Process 1) SET(KWSYS_USE_RegularExpression 1) SET(KWSYS_USE_System 1) SET(KWSYS_USE_SystemTools 1) SET(KWSYS_USE_CommandLineArguments 1) SET(KWSYS_USE_FundamentalType 1) SET(KWSYS_USE_Terminal 1) SET(KWSYS_USE_IOStream 1) SET(KWSYS_USE_FStream 1) SET(KWSYS_USE_String 1) SET(KWSYS_USE_SystemInformation 1) SET(KWSYS_USE_CPU 1) ENDIF() # Enforce component dependencies. IF(KWSYS_USE_SystemTools) SET(KWSYS_USE_Directory 1) SET(KWSYS_USE_FStream 1) SET(KWSYS_USE_Encoding 1) ENDIF() IF(KWSYS_USE_Glob) SET(KWSYS_USE_Directory 1) SET(KWSYS_USE_SystemTools 1) SET(KWSYS_USE_RegularExpression 1) SET(KWSYS_USE_FStream 1) SET(KWSYS_USE_Encoding 1) ENDIF() IF(KWSYS_USE_Process) SET(KWSYS_USE_System 1) SET(KWSYS_USE_Encoding 1) ENDIF() IF(KWSYS_USE_SystemInformation) SET(KWSYS_USE_Process 1) ENDIF() IF(KWSYS_USE_System) SET(KWSYS_USE_Encoding 1) ENDIF() IF(KWSYS_USE_Directory) SET(KWSYS_USE_Encoding 1) ENDIF() IF(KWSYS_USE_FStream) SET(KWSYS_USE_Encoding 1) ENDIF() # Setup the large file support default. IF(KWSYS_LFS_DISABLE) SET(KWSYS_LFS_REQUESTED 0) ELSE() SET(KWSYS_LFS_REQUESTED 1) ENDIF() # Specify default 8 bit encoding for Windows IF(NOT KWSYS_ENCODING_DEFAULT_CODEPAGE) SET(KWSYS_ENCODING_DEFAULT_CODEPAGE CP_ACP) ENDIF() # Enable testing if building standalone. IF(KWSYS_STANDALONE) INCLUDE(Dart) MARK_AS_ADVANCED(BUILD_TESTING DART_ROOT TCL_TCLSH) IF(BUILD_TESTING) ENABLE_TESTING() ENDIF() ENDIF() # Include helper macros. INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/kwsysPlatformTests.cmake) INCLUDE(CheckTypeSize) # Do full dependency headers. INCLUDE_REGULAR_EXPRESSION("^.*$") # Use new KWSYS_INSTALL_*_DIR variable names to control installation. # Take defaults from the old names. Note that there was no old name # for the bin dir, so we take the old lib dir name so DLLs will be # installed in a compatible way for old code. IF(NOT KWSYS_INSTALL_INCLUDE_DIR) STRING(REGEX REPLACE "^/" "" KWSYS_INSTALL_INCLUDE_DIR "${KWSYS_HEADER_INSTALL_DIR}") ENDIF() IF(NOT KWSYS_INSTALL_LIB_DIR) STRING(REGEX REPLACE "^/" "" KWSYS_INSTALL_LIB_DIR "${KWSYS_LIBRARY_INSTALL_DIR}") ENDIF() IF(NOT KWSYS_INSTALL_BIN_DIR) STRING(REGEX REPLACE "^/" "" KWSYS_INSTALL_BIN_DIR "${KWSYS_LIBRARY_INSTALL_DIR}") ENDIF() # Setup header install rules. SET(KWSYS_INSTALL_INCLUDE_OPTIONS) IF(KWSYS_INSTALL_COMPONENT_NAME_DEVELOPMENT) SET(KWSYS_INSTALL_INCLUDE_OPTIONS ${KWSYS_INSTALL_INCLUDE_OPTIONS} COMPONENT ${KWSYS_INSTALL_COMPONENT_NAME_DEVELOPMENT} ) ENDIF() # Setup library install rules. SET(KWSYS_INSTALL_LIBRARY_RULE) IF(KWSYS_INSTALL_LIB_DIR) IF(KWSYS_INSTALL_EXPORT_NAME) LIST(APPEND KWSYS_INSTALL_LIBRARY_RULE EXPORT ${KWSYS_INSTALL_EXPORT_NAME}) ENDIF() # Install the shared library to the lib directory. SET(KWSYS_INSTALL_LIBRARY_RULE ${KWSYS_INSTALL_LIBRARY_RULE} LIBRARY DESTINATION ${KWSYS_INSTALL_LIB_DIR} ) # Assign the shared library to the runtime component. IF(KWSYS_INSTALL_COMPONENT_NAME_RUNTIME) SET(KWSYS_INSTALL_LIBRARY_RULE ${KWSYS_INSTALL_LIBRARY_RULE} COMPONENT ${KWSYS_INSTALL_COMPONENT_NAME_RUNTIME} ) ENDIF() # Install the archive to the lib directory. SET(KWSYS_INSTALL_LIBRARY_RULE ${KWSYS_INSTALL_LIBRARY_RULE} ARCHIVE DESTINATION ${KWSYS_INSTALL_LIB_DIR} ) # Assign the archive to the development component. IF(KWSYS_INSTALL_COMPONENT_NAME_DEVELOPMENT) SET(KWSYS_INSTALL_LIBRARY_RULE ${KWSYS_INSTALL_LIBRARY_RULE} COMPONENT ${KWSYS_INSTALL_COMPONENT_NAME_DEVELOPMENT} ) ENDIF() ENDIF() IF(KWSYS_INSTALL_BIN_DIR) # Install the runtime library to the bin directory. SET(KWSYS_INSTALL_LIBRARY_RULE ${KWSYS_INSTALL_LIBRARY_RULE} RUNTIME DESTINATION ${KWSYS_INSTALL_BIN_DIR} ) # Assign the runtime library to the runtime component. IF(KWSYS_INSTALL_COMPONENT_NAME_RUNTIME) SET(KWSYS_INSTALL_LIBRARY_RULE ${KWSYS_INSTALL_LIBRARY_RULE} COMPONENT ${KWSYS_INSTALL_COMPONENT_NAME_RUNTIME} ) ENDIF() ENDIF() # Do not support old KWSYS_*a_INSTALL_DIR variable names. SET(KWSYS_HEADER_INSTALL_DIR) SET(KWSYS_LIBRARY_INSTALL_DIR) # Generated source files will need this header. STRING(COMPARE EQUAL "${PROJECT_SOURCE_DIR}" "${PROJECT_BINARY_DIR}" KWSYS_IN_SOURCE_BUILD) IF(NOT KWSYS_IN_SOURCE_BUILD) CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/kwsysPrivate.h ${PROJECT_BINARY_DIR}/kwsysPrivate.h COPYONLY IMMEDIATE) ENDIF() # Select plugin module file name convention. IF(NOT KWSYS_DynamicLoader_PREFIX) SET(KWSYS_DynamicLoader_PREFIX ${CMAKE_SHARED_MODULE_PREFIX}) ENDIF() IF(NOT KWSYS_DynamicLoader_SUFFIX) SET(KWSYS_DynamicLoader_SUFFIX ${CMAKE_SHARED_MODULE_SUFFIX}) ENDIF() #----------------------------------------------------------------------------- # We require ANSI support from the C compiler. Add any needed flags. IF(CMAKE_ANSI_CFLAGS) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_ANSI_CFLAGS}") ENDIF() #----------------------------------------------------------------------------- # Adjust compiler flags for some platforms. IF(NOT CMAKE_COMPILER_IS_GNUCXX) IF(CMAKE_SYSTEM MATCHES "OSF1-V.*") STRING(REGEX MATCH "-timplicit_local" KWSYS_CXX_FLAGS_HAVE_IMPLICIT_LOCAL "${CMAKE_CXX_FLAGS}") STRING(REGEX MATCH "-no_implicit_include" KWSYS_CXX_FLAGS_HAVE_NO_IMPLICIT_INCLUDE "${CMAKE_CXX_FLAGS}") IF(NOT KWSYS_CXX_FLAGS_HAVE_IMPLICIT_LOCAL) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -timplicit_local") ENDIF() IF(NOT KWSYS_CXX_FLAGS_HAVE_NO_IMPLICIT_INCLUDE) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -no_implicit_include") ENDIF() ENDIF() IF(CMAKE_SYSTEM MATCHES "HP-UX") SET(KWSYS_PLATFORM_CXX_TEST_EXTRA_FLAGS "+p") IF(CMAKE_CXX_COMPILER_ID MATCHES "HP") # it is known that version 3.85 fails and 6.25 works without these flags IF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4) # use new C++ library and improved template support SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -AA +hpxstd98") ENDIF() ENDIF() ENDIF() ENDIF() IF(KWSYS_STANDALONE) IF(CMAKE_CXX_COMPILER_ID STREQUAL SunPro) IF(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.13) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++03") ELSE() SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -library=stlport4") ENDIF() ENDIF() ENDIF() #----------------------------------------------------------------------------- # Configure Large File Support. KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_CSTDIO "Checking whether header cstdio is available" DIRECT) SET(KWSYS_LFS_AVAILABLE 0) IF(KWSYS_LFS_REQUESTED) # Large File Support is requested. SET(KWSYS_LFS_REQUESTED 1) # Check for large file support. SET(KWSYS_PLATFORM_CXX_TEST_DEFINES -DKWSYS_CXX_HAS_CSTDIO=${KWSYS_CXX_HAS_CSTDIO}) KWSYS_PLATFORM_CXX_TEST_RUN(KWSYS_LFS_WORKS "Checking for Large File Support" DIRECT) SET(KWSYS_PLATFORM_CXX_TEST_DEFINES) IF(KWSYS_LFS_WORKS) SET(KWSYS_LFS_AVAILABLE 1) ENDIF() ELSE() # Large File Support is not requested. SET(KWSYS_LFS_REQUESTED 0) ENDIF() #----------------------------------------------------------------------------- # Configure the standard library header wrappers based on compiler's # capabilities and parent project's request. Enforce 0/1 as only # possible values for configuration into Configure.hxx. IF(UNIX) KWSYS_PLATFORM_CXX_TEST(KWSYS_STAT_HAS_ST_MTIM "Checking whether struct stat has st_mtim member" DIRECT) ENDIF() # Check existence and uniqueness of long long and __int64. KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_LONG_LONG "Checking whether C++ compiler has 'long long'" DIRECT) KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS___INT64 "Checking whether C++ compiler has '__int64'" DIRECT) IF(KWSYS_CXX_HAS___INT64) KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_SAME_LONG_AND___INT64 "Checking whether long and __int64 are the same type" DIRECT) IF(KWSYS_CXX_HAS_LONG_LONG) KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_SAME_LONG_LONG_AND___INT64 "Checking whether long long and __int64 are the same type" DIRECT) ENDIF() ENDIF() # Enable the "long long" type if it is available. It is standard in # C99 and C++03 but not in earlier standards. IF(KWSYS_CXX_HAS_LONG_LONG) SET(KWSYS_USE_LONG_LONG 1) ELSE() SET(KWSYS_USE_LONG_LONG 0) ENDIF() # Enable the "__int64" type if it is available and unique. It is not # standard. SET(KWSYS_USE___INT64 0) IF(KWSYS_CXX_HAS___INT64) IF(NOT KWSYS_CXX_SAME_LONG_AND___INT64) IF(NOT KWSYS_CXX_SAME_LONG_LONG_AND___INT64) SET(KWSYS_USE___INT64 1) ENDIF() ENDIF() ENDIF() IF(KWSYS_USE_FundamentalType) # Look for type size helper macros. KWSYS_PLATFORM_INFO_TEST(C KWSYS_C_TYPE_MACROS "Checking for C type size macros") SET(macro_regex ".*INFO:macro\\[([^]]*)\\].*") FOREACH(info ${KWSYS_C_TYPE_MACROS}) IF("${info}" MATCHES "${macro_regex}") STRING(REGEX REPLACE "${macro_regex}" "\\1" macro "${info}") SET(KWSYS_C_HAS_MACRO_${macro} 1) ENDIF() ENDFOREACH() # Determine type sizes at preprocessing time if possible, and # otherwise fall back to a try-compile. SET(KWSYS_C_TYPE_NAME_CHAR "char") SET(KWSYS_C_TYPE_NAME_SHORT "short") SET(KWSYS_C_TYPE_NAME_INT "int") SET(KWSYS_C_TYPE_NAME_LONG "long") SET(KWSYS_C_TYPE_NAME_LONG_LONG "long long") SET(KWSYS_C_TYPE_NAME___INT64 "__int64") FOREACH(type CHAR SHORT INT LONG LONG_LONG __INT64) IF(KWSYS_C_HAS_MACRO___SIZEOF_${type}__) # Use __SIZEOF_${type}__ macro. SET(KWSYS_SIZEOF_${type} TRUE) SET(KWSYS_C_CODE_SIZEOF_${type} "#define ${KWSYS_NAMESPACE}_SIZEOF_${type} __SIZEOF_${type}__") ELSEIF(KWSYS_C_HAS_MACRO___${type}_MAX__) # Use __${type}_MAX__ macro. SET(KWSYS_SIZEOF_${type} TRUE) SET(KWSYS_C_CODE_SIZEOF_${type} "#if __${type}_MAX__ == 0x7f # define ${KWSYS_NAMESPACE}_SIZEOF_${type} 1 #elif __${type}_MAX__ == 0x7fff # define ${KWSYS_NAMESPACE}_SIZEOF_${type} 2 #elif __${type}_MAX__ == 0x7fffffff # define ${KWSYS_NAMESPACE}_SIZEOF_${type} 4 #elif __${type}_MAX__>>32 == 0x7fffffff # define ${KWSYS_NAMESPACE}_SIZEOF_${type} 8 #else # error \"Cannot determine sizeof(${KWSYS_C_TYPE_NAME_${type}}).\" #endif") ELSE() # Configure a hard-coded type size. CHECK_TYPE_SIZE("${KWSYS_C_TYPE_NAME_${type}}" KWSYS_SIZEOF_${type}) IF(NOT KWSYS_SIZEOF_${type}) SET(KWSYS_SIZEOF_${type} 0) ENDIF() SET(KWSYS_C_CODE_SIZEOF_${type} "#define ${KWSYS_NAMESPACE}_SIZEOF_${type} ${KWSYS_SIZEOF_${type}}") ENDIF() ENDFOREACH() IF(KWSYS_USE___INT64) KWSYS_PLATFORM_CXX_TEST(KWSYS_CAN_CONVERT_UI64_TO_DOUBLE "Checking whether unsigned __int64 can convert to double" DIRECT) ELSE() SET(KWSYS_CAN_CONVERT_UI64_TO_DOUBLE 1) ENDIF() # Check signedness of "char" type. KWSYS_PLATFORM_CXX_TEST_RUN(KWSYS_CHAR_IS_SIGNED "Checking whether char is signed" DIRECT) ENDIF() IF(KWSYS_USE_Encoding) # Look for type size helper macros. KWSYS_PLATFORM_CXX_TEST(KWSYS_STL_HAS_WSTRING "Checking whether wstring is available" DIRECT) ENDIF() IF(KWSYS_USE_IOStream) # Determine whether iostreams support long long. IF(KWSYS_CXX_HAS_LONG_LONG) KWSYS_PLATFORM_CXX_TEST(KWSYS_IOS_HAS_ISTREAM_LONG_LONG "Checking if istream supports long long" DIRECT) KWSYS_PLATFORM_CXX_TEST(KWSYS_IOS_HAS_OSTREAM_LONG_LONG "Checking if ostream supports long long" DIRECT) ELSE() SET(KWSYS_IOS_HAS_ISTREAM_LONG_LONG 0) SET(KWSYS_IOS_HAS_OSTREAM_LONG_LONG 0) ENDIF() IF(KWSYS_CXX_HAS___INT64) KWSYS_PLATFORM_CXX_TEST(KWSYS_IOS_HAS_ISTREAM___INT64 "Checking if istream supports __int64" DIRECT) KWSYS_PLATFORM_CXX_TEST(KWSYS_IOS_HAS_OSTREAM___INT64 "Checking if ostream supports __int64" DIRECT) ELSE() SET(KWSYS_IOS_HAS_ISTREAM___INT64 0) SET(KWSYS_IOS_HAS_OSTREAM___INT64 0) ENDIF() ENDIF() IF(KWSYS_NAMESPACE MATCHES "^kwsys$") SET(KWSYS_NAME_IS_KWSYS 1) ELSE() SET(KWSYS_NAME_IS_KWSYS 0) ENDIF() # Choose default shared/static build if not specified. IF(KWSYS_BUILD_SHARED MATCHES "^KWSYS_BUILD_SHARED$") SET(KWSYS_BUILD_SHARED ${BUILD_SHARED_LIBS}) ENDIF() IF(KWSYS_BUILD_SHARED) SET(KWSYS_BUILD_SHARED 1) SET(KWSYS_LIBRARY_TYPE SHARED) ELSE() SET(KWSYS_BUILD_SHARED 0) SET(KWSYS_LIBRARY_TYPE STATIC) ENDIF() #----------------------------------------------------------------------------- # Configure some implementation details. KWSYS_PLATFORM_C_TEST(KWSYS_C_HAS_PTRDIFF_T "Checking whether C compiler has ptrdiff_t in stddef.h" DIRECT) KWSYS_PLATFORM_C_TEST(KWSYS_C_HAS_SSIZE_T "Checking whether C compiler has ssize_t in unistd.h" DIRECT) SET_SOURCE_FILES_PROPERTIES(ProcessUNIX.c System.c PROPERTIES COMPILE_FLAGS "-DKWSYS_C_HAS_PTRDIFF_T=${KWSYS_C_HAS_PTRDIFF_T} -DKWSYS_C_HAS_SSIZE_T=${KWSYS_C_HAS_SSIZE_T}" ) IF(KWSYS_USE_SystemTools) KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_SETENV "Checking whether CXX compiler has setenv" DIRECT) KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_UNSETENV "Checking whether CXX compiler has unsetenv" DIRECT) KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H "Checking whether CXX compiler has environ in stdlib.h" DIRECT) KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_UTIMES "Checking whether CXX compiler has utimes" DIRECT) KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_UTIMENSAT "Checking whether CXX compiler has utimensat" DIRECT) SET_PROPERTY(SOURCE SystemTools.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_CXX_HAS_SETENV=${KWSYS_CXX_HAS_SETENV} KWSYS_CXX_HAS_UNSETENV=${KWSYS_CXX_HAS_UNSETENV} KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H=${KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H} KWSYS_CXX_HAS_UTIMES=${KWSYS_CXX_HAS_UTIMES} KWSYS_CXX_HAS_UTIMENSAT=${KWSYS_CXX_HAS_UTIMENSAT} ) ENDIF() IF(KWSYS_USE_SystemInformation) SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS SIZEOF_VOID_P=${CMAKE_SIZEOF_VOID_P}) IF(NOT CYGWIN) INCLUDE(CheckIncludeFiles) CHECK_INCLUDE_FILES("sys/types.h;ifaddrs.h" KWSYS_SYS_HAS_IFADDRS_H) IF(KWSYS_SYS_HAS_IFADDRS_H) SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_SYS_HAS_IFADDRS_H=1) ENDIF() ENDIF() IF(WIN32) INCLUDE(CheckSymbolExists) SET(CMAKE_REQUIRED_LIBRARIES Psapi) CHECK_SYMBOL_EXISTS(GetProcessMemoryInfo "windows.h;psapi.h" KWSYS_SYS_HAS_PSAPI) UNSET(CMAKE_REQUIRED_LIBRARIES) IF(KWSYS_SYS_HAS_PSAPI) SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_SYS_HAS_PSAPI=1) IF(MSVC70 OR MSVC71) # Suppress LNK4089: all references to 'PSAPI.DLL' discarded by /OPT:REF SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /IGNORE:4089") ENDIF() ENDIF() ENDIF() IF(CMAKE_SYSTEM MATCHES "HP-UX") CHECK_INCLUDE_FILES("sys/mpctl.h" KWSYS_SYS_HAS_MPCTL_H) IF(KWSYS_SYS_HAS_MPCTL_H) SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_SYS_HAS_MPCTL_H=1) ENDIF() ENDIF() IF(CMAKE_SYSTEM MATCHES "BSD") CHECK_INCLUDE_FILES("machine/cpu.h" KWSYS_SYS_HAS_MACHINE_CPU_H) IF(KWSYS_SYS_HAS_MACHINE_CPU_H) SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_SYS_HAS_MACHINE_CPU_H=1) ENDIF() ENDIF() IF(KWSYS_LFS_AVAILABLE AND NOT KWSYS_LFS_DISABLE) SET(KWSYS_PLATFORM_CXX_TEST_DEFINES -DKWSYS_HAS_LFS=1) ENDIF() KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_RLIMIT64 "Checking whether CXX compiler has rlimit64" DIRECT) SET(KWSYS_PLATFORM_CXX_TEST_DEFINES) IF(KWSYS_CXX_HAS_RLIMIT64) SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_CXX_HAS_RLIMIT64=1) ENDIF() KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_ATOL "Checking whether CXX compiler has atol" DIRECT) IF(KWSYS_CXX_HAS_ATOL) SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_CXX_HAS_ATOL=1) ENDIF() KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_ATOLL "Checking whether CXX compiler has atoll" DIRECT) IF(KWSYS_CXX_HAS_ATOLL) SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_CXX_HAS_ATOLL=1) ENDIF() KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS__ATOI64 "Checking whether CXX compiler has _atoi64" DIRECT) IF(KWSYS_CXX_HAS__ATOI64) SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_CXX_HAS__ATOI64=1) ENDIF() IF(UNIX) INCLUDE(CheckIncludeFileCXX) # check for simple stack trace # usually it's in libc but on FreeBSD # it's in libexecinfo FIND_LIBRARY(EXECINFO_LIB "execinfo") MARK_AS_ADVANCED(EXECINFO_LIB) IF (NOT EXECINFO_LIB) SET(EXECINFO_LIB "") ENDIF() CHECK_INCLUDE_FILE_CXX("execinfo.h" KWSYS_CXX_HAS_EXECINFOH) IF (KWSYS_CXX_HAS_EXECINFOH) # we have the backtrace header check if it # can be used with this compiler SET(KWSYS_PLATFORM_CXX_TEST_LINK_LIBRARIES ${EXECINFO_LIB}) KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_BACKTRACE "Checking whether backtrace works with this C++ compiler" DIRECT) SET(KWSYS_PLATFORM_CXX_TEST_LINK_LIBRARIES) IF (KWSYS_CXX_HAS_BACKTRACE) # backtrace is supported by this system and compiler. # now check for the more advanced capabilities. SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_SYSTEMINFORMATION_HAS_BACKTRACE=1) # check for symbol lookup using dladdr CHECK_INCLUDE_FILE_CXX("dlfcn.h" KWSYS_CXX_HAS_DLFCNH) IF (KWSYS_CXX_HAS_DLFCNH) # we have symbol lookup libraries and headers # check if they can be used with this compiler SET(KWSYS_PLATFORM_CXX_TEST_LINK_LIBRARIES ${CMAKE_DL_LIBS}) KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_DLADDR "Checking whether dladdr works with this C++ compiler" DIRECT) SET(KWSYS_PLATFORM_CXX_TEST_LINK_LIBRARIES) IF (KWSYS_CXX_HAS_DLADDR) # symbol lookup is supported by this system # and compiler. SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_SYSTEMINFORMATION_HAS_SYMBOL_LOOKUP=1) ENDIF() ENDIF() # c++ demangling support # check for cxxabi headers CHECK_INCLUDE_FILE_CXX("cxxabi.h" KWSYS_CXX_HAS_CXXABIH) IF (KWSYS_CXX_HAS_CXXABIH) # check if cxxabi can be used with this # system and compiler. KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_CXXABI "Checking whether cxxabi works with this C++ compiler" DIRECT) IF (KWSYS_CXX_HAS_CXXABI) # c++ demangle using cxxabi is supported with # this system and compiler SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_SYSTEMINFORMATION_HAS_CPP_DEMANGLE=1) ENDIF() ENDIF() # basic backtrace works better with release build # don't bother with advanced features for release SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG KWSYS_SYSTEMINFORMATION_HAS_DEBUG_BUILD=1) SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS_RELWITHDEBINFO KWSYS_SYSTEMINFORMATION_HAS_DEBUG_BUILD=1) ENDIF() ENDIF() ENDIF() IF(BORLAND) KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_BORLAND_ASM "Checking whether Borland CXX compiler supports assembler instructions" DIRECT) IF(KWSYS_CXX_HAS_BORLAND_ASM) SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_CXX_HAS_BORLAND_ASM=1) KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_BORLAND_ASM_CPUID "Checking whether Borland CXX compiler supports CPUID assembler instruction" DIRECT) IF(KWSYS_CXX_HAS_BORLAND_ASM_CPUID) SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_CXX_HAS_BORLAND_ASM_CPUID=1) ENDIF() ENDIF() ENDIF() IF(KWSYS_USE___INT64) SET_PROPERTY(SOURCE SystemInformation.cxx testSystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_USE___INT64=1) ENDIF() IF(KWSYS_USE_LONG_LONG) SET_PROPERTY(SOURCE SystemInformation.cxx testSystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_USE_LONG_LONG=1) ENDIF() IF(KWSYS_IOS_HAS_OSTREAM_LONG_LONG) SET_PROPERTY(SOURCE SystemInformation.cxx testSystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_IOS_HAS_OSTREAM_LONG_LONG=1) ENDIF() IF(KWSYS_IOS_HAS_OSTREAM___INT64) SET_PROPERTY(SOURCE SystemInformation.cxx testSystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_IOS_HAS_OSTREAM___INT64=1) ENDIF() IF(KWSYS_BUILD_SHARED) SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_BUILD_SHARED=1) ENDIF() IF(UNIX AND NOT CYGWIN) KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_GETLOADAVG "Checking whether CXX compiler has getloadavg" DIRECT) IF(KWSYS_CXX_HAS_GETLOADAVG) SET_PROPERTY(SOURCE SystemInformation.cxx APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_CXX_HAS_GETLOADAVG=1) ENDIF() ENDIF() ENDIF() #----------------------------------------------------------------------------- # Choose a directory for the generated headers. IF(NOT KWSYS_HEADER_ROOT) SET(KWSYS_HEADER_ROOT "${PROJECT_BINARY_DIR}") ENDIF() SET(KWSYS_HEADER_DIR "${KWSYS_HEADER_ROOT}/${KWSYS_NAMESPACE}") INCLUDE_DIRECTORIES(${KWSYS_HEADER_ROOT}) #----------------------------------------------------------------------------- IF(KWSYS_INSTALL_DOC_DIR) # Assign the license to the runtime component since it must be # distributed with binary forms of this software. IF(KWSYS_INSTALL_COMPONENT_NAME_RUNTIME) SET(KWSYS_INSTALL_LICENSE_OPTIONS ${KWSYS_INSTALL_LICENSE_OPTIONS} COMPONENT ${KWSYS_INSTALL_COMPONENT_NAME_RUNTIME} ) ENDIF() # Install the license under the documentation directory. INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt DESTINATION ${KWSYS_INSTALL_DOC_DIR}/${KWSYS_NAMESPACE} ${KWSYS_INSTALL_LICENSE_OPTIONS}) ENDIF() #----------------------------------------------------------------------------- # Build a list of classes and headers we need to implement the # selected components. Initialize with required components. SET(KWSYS_CLASSES) SET(KWSYS_H_FILES Configure SharedForward) SET(KWSYS_HXX_FILES Configure String hashtable hash_fun hash_map hash_set auto_ptr ) # Add selected C++ classes. SET(cppclasses Directory DynamicLoader Encoding Glob RegularExpression SystemTools CommandLineArguments IOStream FStream SystemInformation ) FOREACH(cpp ${cppclasses}) IF(KWSYS_USE_${cpp}) # Use the corresponding class. SET(KWSYS_CLASSES ${KWSYS_CLASSES} ${cpp}) # Load component-specific CMake code. IF(EXISTS ${PROJECT_SOURCE_DIR}/kwsys${cpp}.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/kwsys${cpp}.cmake) ENDIF() ENDIF() ENDFOREACH() # Add selected C components. FOREACH(c Process Base64 Encoding FundamentalType MD5 Terminal System String CPU ) IF(KWSYS_USE_${c}) # Use the corresponding header file. SET(KWSYS_H_FILES ${KWSYS_H_FILES} ${c}) # Load component-specific CMake code. IF(EXISTS ${PROJECT_SOURCE_DIR}/kwsys${c}.cmake) INCLUDE(${PROJECT_SOURCE_DIR}/kwsys${c}.cmake) ENDIF() ENDIF() ENDFOREACH() #----------------------------------------------------------------------------- # Build a list of sources for the library based on components that are # included. SET(KWSYS_C_SRCS) SET(KWSYS_CXX_SRCS) # Add the proper sources for this platform's Process implementation. IF(KWSYS_USE_Process) IF(NOT UNIX) # Use the Windows implementation. SET(KWSYS_C_SRCS ${KWSYS_C_SRCS} ProcessWin32.c) ELSE() # Use the UNIX implementation. SET(KWSYS_C_SRCS ${KWSYS_C_SRCS} ProcessUNIX.c) ENDIF() ENDIF() # Add selected C sources. FOREACH(c Base64 Encoding MD5 Terminal System String) IF(KWSYS_USE_${c}) IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${c}C.c) LIST(APPEND KWSYS_C_SRCS ${c}C.c) ELSE() LIST(APPEND KWSYS_C_SRCS ${c}.c) ENDIF() ENDIF() ENDFOREACH() # Configure headers of C++ classes and construct the list of sources. FOREACH(c ${KWSYS_CLASSES}) # Add this source to the list of source files for the library. IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${c}CXX.cxx) LIST(APPEND KWSYS_CXX_SRCS ${c}CXX.cxx) ELSEIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${c}.cxx) LIST(APPEND KWSYS_CXX_SRCS ${c}.cxx) ENDIF() # Configure the header for this class. CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/${c}.hxx.in ${KWSYS_HEADER_DIR}/${c}.hxx @ONLY IMMEDIATE) SET(KWSYS_CXX_SRCS ${KWSYS_CXX_SRCS} ${KWSYS_HEADER_DIR}/${c}.hxx) # Create an install target for the header. IF(KWSYS_INSTALL_INCLUDE_DIR) INSTALL(FILES ${KWSYS_HEADER_DIR}/${c}.hxx DESTINATION ${KWSYS_INSTALL_INCLUDE_DIR}/${KWSYS_NAMESPACE} ${KWSYS_INSTALL_INCLUDE_OPTIONS}) ENDIF() ENDFOREACH() # Configure C headers. FOREACH(h ${KWSYS_H_FILES}) # Configure the header into the given directory. CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/${h}.h.in ${KWSYS_HEADER_DIR}/${h}.h @ONLY IMMEDIATE) SET(KWSYS_C_SRCS ${KWSYS_C_SRCS} ${KWSYS_HEADER_DIR}/${h}.h) # Create an install target for the header. IF(KWSYS_INSTALL_INCLUDE_DIR) INSTALL(FILES ${KWSYS_HEADER_DIR}/${h}.h DESTINATION ${KWSYS_INSTALL_INCLUDE_DIR}/${KWSYS_NAMESPACE} ${KWSYS_INSTALL_INCLUDE_OPTIONS}) ENDIF() ENDFOREACH() # Configure other C++ headers. FOREACH(h ${KWSYS_HXX_FILES}) # Configure the header into the given directory. CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/${h}.hxx.in ${KWSYS_HEADER_DIR}/${h}.hxx @ONLY IMMEDIATE) SET(KWSYS_CXX_SRCS ${KWSYS_CXX_SRCS} ${KWSYS_HEADER_DIR}/${h}.hxx) # Create an install target for the header. IF(KWSYS_INSTALL_INCLUDE_DIR) INSTALL(FILES ${KWSYS_HEADER_DIR}/${h}.hxx DESTINATION ${KWSYS_INSTALL_INCLUDE_DIR}/${KWSYS_NAMESPACE} ${KWSYS_INSTALL_INCLUDE_OPTIONS}) ENDIF() ENDFOREACH() #----------------------------------------------------------------------------- # Add the library with the configured name and list of sources. IF(KWSYS_C_SRCS OR KWSYS_CXX_SRCS) ADD_LIBRARY(${KWSYS_NAMESPACE} ${KWSYS_LIBRARY_TYPE} ${KWSYS_C_SRCS} ${KWSYS_CXX_SRCS}) SET_PROPERTY(TARGET ${KWSYS_NAMESPACE} PROPERTY LABELS ${KWSYS_LABELS_LIB}) IF(KWSYS_USE_DynamicLoader) IF(UNIX) TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE} ${CMAKE_DL_LIBS}) ENDIF() ENDIF() IF(KWSYS_USE_SystemInformation) IF(WIN32) TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE} ws2_32) IF(KWSYS_SYS_HAS_PSAPI) TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE} Psapi) ENDIF() ELSEIF(UNIX) IF (EXECINFO_LIB AND KWSYS_CXX_HAS_BACKTRACE) # backtrace on FreeBSD is not in libc TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE} ${EXECINFO_LIB}) ENDIF() IF (KWSYS_CXX_HAS_DLADDR) # for symbol lookup using dladdr TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE} ${CMAKE_DL_LIBS}) ENDIF() ENDIF() ENDIF() # Apply user-defined target properties to the library. IF(KWSYS_PROPERTIES_CXX) SET_TARGET_PROPERTIES(${KWSYS_NAMESPACE} PROPERTIES ${KWSYS_PROPERTIES_CXX} ) ENDIF() # Create an install target for the library. IF(KWSYS_INSTALL_LIBRARY_RULE) INSTALL(TARGETS ${KWSYS_NAMESPACE} ${KWSYS_INSTALL_LIBRARY_RULE}) ENDIF() ENDIF() # Add a C-only library if requested. IF(KWSYS_ENABLE_C AND KWSYS_C_SRCS) ADD_LIBRARY(${KWSYS_NAMESPACE}_c ${KWSYS_LIBRARY_TYPE} ${KWSYS_C_SRCS}) SET_PROPERTY(TARGET ${KWSYS_NAMESPACE}_c PROPERTY LABELS ${KWSYS_LABELS_LIB}) # Apply user-defined target properties to the library. IF(KWSYS_PROPERTIES_C) SET_TARGET_PROPERTIES(${KWSYS_NAMESPACE}_c PROPERTIES ${KWSYS_PROPERTIES_C} ) ENDIF() # Create an install target for the library. IF(KWSYS_INSTALL_LIBRARY_RULE) INSTALL(TARGETS ${KWSYS_NAMESPACE}_c ${KWSYS_INSTALL_LIBRARY_RULE}) ENDIF() ENDIF() # For building kwsys itself, we use a macro defined on the command # line to configure the namespace in the C and C++ source files. ADD_DEFINITIONS("-DKWSYS_NAMESPACE=${KWSYS_NAMESPACE}") # Disable deprecation warnings for standard C functions. IF(MSVC OR (WIN32 AND CMAKE_C_COMPILER_ID STREQUAL "Intel")) ADD_DEFINITIONS( -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_DEPRECATE ) ENDIF() IF(WIN32) # Help enforce the use of wide Windows apis. ADD_DEFINITIONS(-DUNICODE -D_UNICODE) ENDIF() IF(KWSYS_USE_String) # Activate code in "String.c". See the comment in the source. SET_SOURCE_FILES_PROPERTIES(String.c PROPERTIES COMPILE_FLAGS "-DKWSYS_STRING_C") ENDIF() IF(KWSYS_USE_Encoding) # Set default 8 bit encoding in "EndcodingC.c". SET_PROPERTY(SOURCE EncodingC.c APPEND PROPERTY COMPILE_DEFINITIONS KWSYS_ENCODING_DEFAULT_CODEPAGE=${KWSYS_ENCODING_DEFAULT_CODEPAGE}) ENDIF() #----------------------------------------------------------------------------- # Setup testing if not being built as part of another project. IF(KWSYS_STANDALONE OR CMake_SOURCE_DIR) IF(BUILD_TESTING) # Compute the location of executables. SET(EXEC_DIR "${CMAKE_CURRENT_BINARY_DIR}") IF(EXECUTABLE_OUTPUT_PATH) SET(EXEC_DIR "${EXECUTABLE_OUTPUT_PATH}") ENDIF() # C tests SET(KWSYS_C_TESTS testEncode testTerminal ) IF(KWSYS_STANDALONE) SET(KWSYS_C_TESTS ${KWSYS_C_TESTS} testFail) ENDIF() CREATE_TEST_SOURCELIST( KWSYS_C_TEST_SRCS ${KWSYS_NAMESPACE}TestsC.c ${KWSYS_C_TESTS} ) ADD_EXECUTABLE(${KWSYS_NAMESPACE}TestsC ${KWSYS_C_TEST_SRCS}) SET_PROPERTY(TARGET ${KWSYS_NAMESPACE}TestsC PROPERTY LABELS ${KWSYS_LABELS_EXE}) TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE}TestsC ${KWSYS_NAMESPACE}_c) FOREACH(test ${KWSYS_C_TESTS}) ADD_TEST(kwsys.${test} ${EXEC_DIR}/${KWSYS_NAMESPACE}TestsC ${test} ${KWSYS_TEST_ARGS_${test}}) SET_PROPERTY(TEST kwsys.${test} PROPERTY LABELS ${KWSYS_LABELS_TEST}) ENDFOREACH() # C++ tests IF(NOT WATCOM) SET(KWSYS_CXX_TESTS testAutoPtr testHashSTL ) ENDIF() SET(KWSYS_CXX_TESTS ${KWSYS_CXX_TESTS} testIOS testSystemTools testCommandLineArguments testCommandLineArguments1 ) IF(KWSYS_STL_HAS_WSTRING) SET(KWSYS_CXX_TESTS ${KWSYS_CXX_TESTS} testEncoding ) ENDIF() IF(KWSYS_USE_FStream) SET(KWSYS_CXX_TESTS ${KWSYS_CXX_TESTS} testFStream ) ENDIF() IF(KWSYS_USE_SystemInformation) SET(KWSYS_CXX_TESTS ${KWSYS_CXX_TESTS} testSystemInformation) ENDIF() IF(KWSYS_USE_DynamicLoader) SET(KWSYS_CXX_TESTS ${KWSYS_CXX_TESTS} testDynamicLoader) # If kwsys contains the DynamicLoader, need extra library ADD_LIBRARY(${KWSYS_NAMESPACE}TestDynload MODULE testDynload.c) SET_PROPERTY(TARGET ${KWSYS_NAMESPACE}TestDynload PROPERTY LABELS ${KWSYS_LABELS_LIB}) ADD_DEPENDENCIES(${KWSYS_NAMESPACE}TestDynload ${KWSYS_NAMESPACE}) ENDIF() CREATE_TEST_SOURCELIST( KWSYS_CXX_TEST_SRCS ${KWSYS_NAMESPACE}TestsCxx.cxx ${KWSYS_CXX_TESTS} ) ADD_EXECUTABLE(${KWSYS_NAMESPACE}TestsCxx ${KWSYS_CXX_TEST_SRCS}) SET_PROPERTY(TARGET ${KWSYS_NAMESPACE}TestsCxx PROPERTY LABELS ${KWSYS_LABELS_EXE}) TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE}TestsCxx ${KWSYS_NAMESPACE}) SET(TEST_SYSTEMTOOLS_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") SET(TEST_SYSTEMTOOLS_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}") CONFIGURE_FILE( ${PROJECT_SOURCE_DIR}/testSystemTools.h.in ${PROJECT_BINARY_DIR}/testSystemTools.h) INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR}) IF(CTEST_TEST_KWSYS) CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/ExtraTest.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/ExtraTest.cmake") SET_DIRECTORY_PROPERTIES(PROPERTIES TEST_INCLUDE_FILE "${CMAKE_CURRENT_BINARY_DIR}/ExtraTest.cmake") ENDIF() SET(KWSYS_TEST_ARGS_testCommandLineArguments --another-bool-variable --long3=opt --set-bool-arg1 -SSS ken brad bill andy --some-bool-variable=true --some-double-variable12.5 --some-int-variable 14 "--some-string-variable=test string with space" --some-multi-argument 5 1 8 3 7 1 3 9 7 1 -N 12.5 -SS=andy -N 1.31 -N 22 -SS=bill -BBtrue -SS=brad -BBtrue -BBfalse -SS=ken -A -C=test --long2 hello ) SET(KWSYS_TEST_ARGS_testCommandLineArguments1 --ignored -n 24 --second-ignored "-m=test value" third-ignored -p some junk at the end ) FOREACH(test ${KWSYS_CXX_TESTS}) ADD_TEST(kwsys.${test} ${EXEC_DIR}/${KWSYS_NAMESPACE}TestsCxx ${test} ${KWSYS_TEST_ARGS_${test}}) SET_PROPERTY(TEST kwsys.${test} PROPERTY LABELS ${KWSYS_LABELS_TEST}) ENDFOREACH() # Process tests. ADD_EXECUTABLE(${KWSYS_NAMESPACE}TestProcess testProcess.c) SET_PROPERTY(TARGET ${KWSYS_NAMESPACE}TestProcess PROPERTY LABELS ${KWSYS_LABELS_EXE}) TARGET_LINK_LIBRARIES(${KWSYS_NAMESPACE}TestProcess ${KWSYS_NAMESPACE}_c) IF(NOT CYGWIN) SET(KWSYS_TEST_PROCESS_7 7) ENDIF() FOREACH(n 1 2 3 4 5 6 ${KWSYS_TEST_PROCESS_7} 9 10) ADD_TEST(kwsys.testProcess-${n} ${EXEC_DIR}/${KWSYS_NAMESPACE}TestProcess ${n}) SET_PROPERTY(TEST kwsys.testProcess-${n} PROPERTY LABELS ${KWSYS_LABELS_TEST}) SET_TESTS_PROPERTIES(kwsys.testProcess-${n} PROPERTIES TIMEOUT 120) ENDFOREACH() # Some Apple compilers produce bad optimizations in this source. IF(APPLE AND CMAKE_C_COMPILER_ID MATCHES "^(GNU|LLVM)$") SET_SOURCE_FILES_PROPERTIES(testProcess.c PROPERTIES COMPILE_FLAGS -O0) ELSEIF(CMAKE_C_COMPILER_ID STREQUAL "XL") # Tell IBM XL not to warn about our test infinite loop SET_PROPERTY(SOURCE testProcess.c PROPERTY COMPILE_FLAGS -qsuppress=1500-010) ENDIF() # Test SharedForward CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/testSharedForward.c.in ${PROJECT_BINARY_DIR}/testSharedForward.c @ONLY IMMEDIATE) ADD_EXECUTABLE(${KWSYS_NAMESPACE}TestSharedForward ${PROJECT_BINARY_DIR}/testSharedForward.c) SET_PROPERTY(TARGET ${KWSYS_NAMESPACE}TestSharedForward PROPERTY LABELS ${KWSYS_LABELS_EXE}) ADD_DEPENDENCIES(${KWSYS_NAMESPACE}TestSharedForward ${KWSYS_NAMESPACE}_c) ADD_TEST(kwsys.testSharedForward ${EXEC_DIR}/${KWSYS_NAMESPACE}TestSharedForward 1) SET_PROPERTY(TEST kwsys.testSharedForward PROPERTY LABELS ${KWSYS_LABELS_TEST}) # Configure some test properties. IF(KWSYS_STANDALONE) # We expect test to fail SET_TESTS_PROPERTIES(kwsys.testFail PROPERTIES WILL_FAIL ON) GET_TEST_PROPERTY(kwsys.testFail WILL_FAIL wfv) SET_TESTS_PROPERTIES(kwsys.testFail PROPERTIES MEASUREMENT "Some Key=Some Value") MESSAGE(STATUS "GET_TEST_PROPERTY returned: ${wfv}") ENDIF() # Set up ctest custom configuration file. CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/CTestCustom.cmake.in ${PROJECT_BINARY_DIR}/CTestCustom.cmake @ONLY) # Suppress known consistent failures on buggy systems. IF(KWSYS_TEST_BOGUS_FAILURES) SET_TESTS_PROPERTIES(${KWSYS_TEST_BOGUS_FAILURES} PROPERTIES WILL_FAIL ON) ENDIF() ENDIF() ENDIF() KWStyle-master/Utilities/KWSys/CONTRIBUTING.rst000066400000000000000000000021161265471724600213630ustar00rootroot00000000000000Contributing to KWSys ********************* Overview ======== KWSys is kept in its own Git repository and shared by several projects via copies in their source trees. Changes to KWSys should not be made directly in a host project, except perhaps in maintenance branches. Please visit http://public.kitware.com/Wiki/KWSys/Git to contribute changes directly to KWSys upstream. Once changes are reviewed, tested, and integrated there then the copies of KWSys within dependent projects can be updated to get the changes. Issues ====== KWSys has no independent issue tracker. After encountering an issue (bug) please try to submit a patch using the above instructions. Otherwise please report the issue to the tracker for the project that hosts the copy of KWSys in which the problem was found. License ======= We do not require any formal copyright assignment or contributor license agreement. Any contributions intentionally sent upstream are presumed to be offered under terms of the OSI-approved BSD 3-clause License. See `Copyright.txt`_ for details. .. _`Copyright.txt`: Copyright.txt KWStyle-master/Utilities/KWSys/CPU.h.in000066400000000000000000000125221265471724600201310ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_CPU_h #define @KWSYS_NAMESPACE@_CPU_h #include <@KWSYS_NAMESPACE@/Configure.h> /* Identify possible endian cases. The macro @KWSYS_NAMESPACE@_CPU_ENDIAN_ID will be defined to one of these, or 0 if unknown. */ #define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG 4321 #define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE 1234 /* Apple always defines one of these. */ #if defined(__LITTLE_ENDIAN__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE #elif defined(__BIG_ENDIAN__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG /* Alpha */ #elif defined(__alpha) || defined(__alpha__) || defined(_M_ALPHA) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE /* Arm */ #elif defined(__arm__) # if !defined(__ARMEB__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE # else # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG # endif /* Intel x86 */ #elif defined(__i386) || defined(__i386__) || defined(_M_IX86) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE #elif defined(_X86_) || defined(__THW_INTEL__) || defined(__I86__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE #elif defined(__MWERKS__) && defined(__INTEL__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE /* Intel x86-64 */ #elif defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE #elif defined(__amd64) || defined(__amd64__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE /* Intel Architecture-64 (Itanium) */ #elif defined(__ia64) || defined(__ia64__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE #elif defined(_IA64) || defined(__IA64__) || defined(_M_IA64) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE /* PowerPC */ #elif defined(__powerpc) || defined(__powerpc__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG #elif defined(__ppc) || defined(__ppc__) || defined(__POWERPC__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG /* SPARC */ #elif defined(__sparc) || defined(__sparc__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG /* HP/PA RISC */ #elif defined(__hppa) || defined(__hppa__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG /* Motorola 68k */ #elif defined(__m68k__) || defined(M68000) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG /* MIPSel (MIPS little endian) */ #elif defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE /* MIPSeb (MIPS big endian) */ #elif defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG /* MIPS (fallback, big endian) */ #elif defined(__mips) || defined(__mips__) || defined(__MIPS__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG /* OpenRISC 1000 */ #elif defined(__or1k__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG /* RS/6000 */ #elif defined(__THW_RS600) || defined(_IBMR2) || defined(_POWER) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG #elif defined(_ARCH_PWR) || defined(_ARCH_PWR2) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG /* System/370 */ #elif defined(__370__) || defined(__THW_370__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG /* System/390 */ #elif defined(__s390__) || defined(__s390x__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG /* z/Architecture */ #elif defined(__SYSC_ZARCH__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG /* Aarch64 */ #elif defined(__aarch64__) # if !defined(__AARCH64EB__) # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE # else # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG # endif /* Unknown CPU */ #else # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID 0 # if !defined(@KWSYS_NAMESPACE@_CPU_UNKNOWN_OKAY) # error "The target CPU architecture is not known." # endif #endif /* If building a C or C++ file in kwsys itself, give the source file access to the macros without a configured namespace. */ #if defined(KWSYS_NAMESPACE) # define KWSYS_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID # define KWSYS_CPU_ENDIAN_ID_BIG @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG # define KWSYS_CPU_ENDIAN_ID_LITTLE @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE #endif #endif KWStyle-master/Utilities/KWSys/CTestConfig.cmake000066400000000000000000000014301265471724600220720ustar00rootroot00000000000000#============================================================================= # KWSys - Kitware System Library # Copyright 2000-2012 Kitware, Inc., Insight Software Consortium # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. # # This software is distributed WITHOUT ANY WARRANTY; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the License for more information. #============================================================================= set(CTEST_PROJECT_NAME "KWSys") set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "open.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=KWSys") set(CTEST_DROP_SITE_CDASH TRUE) KWStyle-master/Utilities/KWSys/CTestCustom.cmake.in000066400000000000000000000013401265471724600225440ustar00rootroot00000000000000# kwsys.testProcess-10 involves sending SIGINT to a child process, which then # exits abnormally via a call to _exit(). (On Windows, a call to ExitProcess). # Naturally, this results in plenty of memory being "leaked" by this child # process - the memory check results are not meaningful in this case. # # kwsys.testProcess-9 also tests sending SIGINT to a child process. However, # normal operation of that test involves the child process timing out, and the # host process kills (SIGKILL) it as a result. Since it was SIGKILL'ed, the # resulting memory leaks are not logged by valgrind anyway. Therefore, we # don't have to exclude it. set(CTEST_CUSTOM_MEMCHECK_IGNORE ${CTEST_CUSTOM_MEMCHECK_IGNORE} kwsys.testProcess-10 ) KWStyle-master/Utilities/KWSys/CommandLineArguments.cxx000066400000000000000000000635651265471724600235410ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(CommandLineArguments.hxx) #include KWSYS_HEADER(Configure.hxx) #include KWSYS_HEADER(String.hxx) // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "CommandLineArguments.hxx.in" # include "Configure.hxx.in" #endif #include #include #include #include #include #include #include #include #ifdef _MSC_VER # pragma warning (disable: 4786) #endif #if defined(__sgi) && !defined(__GNUC__) # pragma set woff 1375 /* base class destructor not virtual */ #endif #if 0 # define CommandLineArguments_DEBUG(x) \ std::cout << __LINE__ << " CLA: " << x << std::endl #else # define CommandLineArguments_DEBUG(x) #endif namespace KWSYS_NAMESPACE { //---------------------------------------------------------------------------- //============================================================================ struct CommandLineArgumentsCallbackStructure { const char* Argument; int ArgumentType; CommandLineArguments::CallbackType Callback; void* CallData; void* Variable; int VariableType; const char* Help; }; class CommandLineArgumentsVectorOfStrings : public std::vector {}; class CommandLineArgumentsSetOfStrings : public std::set {}; class CommandLineArgumentsMapOfStrucs : public std::map {}; class CommandLineArgumentsInternal { public: CommandLineArgumentsInternal() { this->UnknownArgumentCallback = 0; this->ClientData = 0; this->LastArgument = 0; } typedef CommandLineArgumentsVectorOfStrings VectorOfStrings; typedef CommandLineArgumentsMapOfStrucs CallbacksMap; typedef kwsys::String String; typedef CommandLineArgumentsSetOfStrings SetOfStrings; VectorOfStrings Argv; String Argv0; CallbacksMap Callbacks; CommandLineArguments::ErrorCallbackType UnknownArgumentCallback; void* ClientData; VectorOfStrings::size_type LastArgument; VectorOfStrings UnusedArguments; }; //============================================================================ //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- CommandLineArguments::CommandLineArguments() { this->Internals = new CommandLineArguments::Internal; this->Help = ""; this->LineLength = 80; this->StoreUnusedArgumentsFlag = false; } //---------------------------------------------------------------------------- CommandLineArguments::~CommandLineArguments() { delete this->Internals; } //---------------------------------------------------------------------------- void CommandLineArguments::Initialize(int argc, const char* const argv[]) { int cc; this->Initialize(); this->Internals->Argv0 = argv[0]; for ( cc = 1; cc < argc; cc ++ ) { this->ProcessArgument(argv[cc]); } } //---------------------------------------------------------------------------- void CommandLineArguments::Initialize(int argc, char* argv[]) { this->Initialize(argc, static_cast(argv)); } //---------------------------------------------------------------------------- void CommandLineArguments::Initialize() { this->Internals->Argv.clear(); this->Internals->LastArgument = 0; } //---------------------------------------------------------------------------- void CommandLineArguments::ProcessArgument(const char* arg) { this->Internals->Argv.push_back(arg); } //---------------------------------------------------------------------------- bool CommandLineArguments::GetMatchedArguments( std::vector* matches, const std::string& arg) { matches->clear(); CommandLineArguments::Internal::CallbacksMap::iterator it; // Does the argument match to any we know about? for ( it = this->Internals->Callbacks.begin(); it != this->Internals->Callbacks.end(); it ++ ) { const CommandLineArguments::Internal::String& parg = it->first; CommandLineArgumentsCallbackStructure *cs = &it->second; if (cs->ArgumentType == CommandLineArguments::NO_ARGUMENT || cs->ArgumentType == CommandLineArguments::SPACE_ARGUMENT) { if ( arg == parg ) { matches->push_back(parg); } } else if ( arg.find( parg ) == 0 ) { matches->push_back(parg); } } return !matches->empty(); } //---------------------------------------------------------------------------- int CommandLineArguments::Parse() { std::vector::size_type cc; std::vector matches; if ( this->StoreUnusedArgumentsFlag ) { this->Internals->UnusedArguments.clear(); } for ( cc = 0; cc < this->Internals->Argv.size(); cc ++ ) { const std::string& arg = this->Internals->Argv[cc]; CommandLineArguments_DEBUG("Process argument: " << arg); this->Internals->LastArgument = cc; if ( this->GetMatchedArguments(&matches, arg) ) { // Ok, we found one or more arguments that match what user specified. // Let's find the longest one. CommandLineArguments::Internal::VectorOfStrings::size_type kk; CommandLineArguments::Internal::VectorOfStrings::size_type maxidx = 0; CommandLineArguments::Internal::String::size_type maxlen = 0; for ( kk = 0; kk < matches.size(); kk ++ ) { if ( matches[kk].size() > maxlen ) { maxlen = matches[kk].size(); maxidx = kk; } } // So, the longest one is probably the right one. Now see if it has any // additional value CommandLineArgumentsCallbackStructure *cs = &this->Internals->Callbacks[matches[maxidx]]; const std::string& sarg = matches[maxidx]; if ( cs->Argument != sarg ) { abort(); } switch ( cs->ArgumentType ) { case NO_ARGUMENT: // No value if ( !this->PopulateVariable(cs, 0) ) { return 0; } break; case SPACE_ARGUMENT: if ( cc == this->Internals->Argv.size()-1 ) { this->Internals->LastArgument --; return 0; } CommandLineArguments_DEBUG("This is a space argument: " << arg << " value: " << this->Internals->Argv[cc+1]); // Value is the next argument if ( !this->PopulateVariable(cs, this->Internals->Argv[cc+1].c_str()) ) { return 0; } cc ++; break; case EQUAL_ARGUMENT: if ( arg.size() == sarg.size() || arg.at(sarg.size()) != '=' ) { this->Internals->LastArgument --; return 0; } // Value is everythng followed the '=' sign if ( !this->PopulateVariable(cs, arg.c_str() + sarg.size() + 1) ) { return 0; } break; case CONCAT_ARGUMENT: // Value is whatever follows the argument if ( !this->PopulateVariable(cs, arg.c_str() + sarg.size()) ) { return 0; } break; case MULTI_ARGUMENT: // Suck in all the rest of the arguments CommandLineArguments_DEBUG("This is a multi argument: " << arg); for (cc++; cc < this->Internals->Argv.size(); ++ cc ) { const std::string& marg = this->Internals->Argv[cc]; CommandLineArguments_DEBUG(" check multi argument value: " << marg); if ( this->GetMatchedArguments(&matches, marg) ) { CommandLineArguments_DEBUG("End of multi argument " << arg << " with value: " << marg); break; } CommandLineArguments_DEBUG(" populate multi argument value: " << marg); if ( !this->PopulateVariable(cs, marg.c_str()) ) { return 0; } } if ( cc != this->Internals->Argv.size() ) { CommandLineArguments_DEBUG("Again End of multi argument " << arg); cc--; continue; } break; default: std::cerr << "Got unknown argument type: \"" << cs->ArgumentType << "\"" << std::endl; this->Internals->LastArgument --; return 0; } } else { // Handle unknown arguments if ( this->Internals->UnknownArgumentCallback ) { if ( !this->Internals->UnknownArgumentCallback(arg.c_str(), this->Internals->ClientData) ) { this->Internals->LastArgument --; return 0; } return 1; } else if ( this->StoreUnusedArgumentsFlag ) { CommandLineArguments_DEBUG("Store unused argument " << arg); this->Internals->UnusedArguments.push_back(arg); } else { std::cerr << "Got unknown argument: \"" << arg << "\"" << std::endl; this->Internals->LastArgument --; return 0; } } } return 1; } //---------------------------------------------------------------------------- void CommandLineArguments::GetRemainingArguments(int* argc, char*** argv) { CommandLineArguments::Internal::VectorOfStrings::size_type size = this->Internals->Argv.size() - this->Internals->LastArgument + 1; CommandLineArguments::Internal::VectorOfStrings::size_type cc; // Copy Argv0 as the first argument char** args = new char*[ size ]; args[0] = new char[ this->Internals->Argv0.size() + 1 ]; strcpy(args[0], this->Internals->Argv0.c_str()); int cnt = 1; // Copy everything after the LastArgument, since that was not parsed. for ( cc = this->Internals->LastArgument+1; cc < this->Internals->Argv.size(); cc ++ ) { args[cnt] = new char[ this->Internals->Argv[cc].size() + 1]; strcpy(args[cnt], this->Internals->Argv[cc].c_str()); cnt ++; } *argc = cnt; *argv = args; } //---------------------------------------------------------------------------- void CommandLineArguments::GetUnusedArguments(int* argc, char*** argv) { CommandLineArguments::Internal::VectorOfStrings::size_type size = this->Internals->UnusedArguments.size() + 1; CommandLineArguments::Internal::VectorOfStrings::size_type cc; // Copy Argv0 as the first argument char** args = new char*[ size ]; args[0] = new char[ this->Internals->Argv0.size() + 1 ]; strcpy(args[0], this->Internals->Argv0.c_str()); int cnt = 1; // Copy everything after the LastArgument, since that was not parsed. for ( cc = 0; cc < this->Internals->UnusedArguments.size(); cc ++ ) { kwsys::String &str = this->Internals->UnusedArguments[cc]; args[cnt] = new char[ str.size() + 1]; strcpy(args[cnt], str.c_str()); cnt ++; } *argc = cnt; *argv = args; } //---------------------------------------------------------------------------- void CommandLineArguments::DeleteRemainingArguments(int argc, char*** argv) { int cc; for ( cc = 0; cc < argc; ++ cc ) { delete [] (*argv)[cc]; } delete [] *argv; } //---------------------------------------------------------------------------- void CommandLineArguments::AddCallback(const char* argument, ArgumentTypeEnum type, CallbackType callback, void* call_data, const char* help) { CommandLineArgumentsCallbackStructure s; s.Argument = argument; s.ArgumentType = type; s.Callback = callback; s.CallData = call_data; s.VariableType = CommandLineArguments::NO_VARIABLE_TYPE; s.Variable = 0; s.Help = help; this->Internals->Callbacks[argument] = s; this->GenerateHelp(); } //---------------------------------------------------------------------------- void CommandLineArguments::AddArgument(const char* argument, ArgumentTypeEnum type, VariableTypeEnum vtype, void* variable, const char* help) { CommandLineArgumentsCallbackStructure s; s.Argument = argument; s.ArgumentType = type; s.Callback = 0; s.CallData = 0; s.VariableType = vtype; s.Variable = variable; s.Help = help; this->Internals->Callbacks[argument] = s; this->GenerateHelp(); } //---------------------------------------------------------------------------- #define CommandLineArgumentsAddArgumentMacro(type, ctype) \ void CommandLineArguments::AddArgument(const char* argument, ArgumentTypeEnum type, \ ctype* variable, const char* help) \ { \ this->AddArgument(argument, type, CommandLineArguments::type##_TYPE, variable, help); \ } CommandLineArgumentsAddArgumentMacro(BOOL, bool) CommandLineArgumentsAddArgumentMacro(INT, int) CommandLineArgumentsAddArgumentMacro(DOUBLE, double) CommandLineArgumentsAddArgumentMacro(STRING, char*) CommandLineArgumentsAddArgumentMacro(STL_STRING, std::string) CommandLineArgumentsAddArgumentMacro(VECTOR_BOOL, std::vector) CommandLineArgumentsAddArgumentMacro(VECTOR_INT, std::vector) CommandLineArgumentsAddArgumentMacro(VECTOR_DOUBLE, std::vector) CommandLineArgumentsAddArgumentMacro(VECTOR_STRING, std::vector) CommandLineArgumentsAddArgumentMacro(VECTOR_STL_STRING, std::vector) //---------------------------------------------------------------------------- #define CommandLineArgumentsAddBooleanArgumentMacro(type, ctype) \ void CommandLineArguments::AddBooleanArgument(const char* argument, \ ctype* variable, const char* help) \ { \ this->AddArgument(argument, CommandLineArguments::NO_ARGUMENT, \ CommandLineArguments::type##_TYPE, variable, help); \ } CommandLineArgumentsAddBooleanArgumentMacro(BOOL, bool) CommandLineArgumentsAddBooleanArgumentMacro(INT, int) CommandLineArgumentsAddBooleanArgumentMacro(DOUBLE, double) CommandLineArgumentsAddBooleanArgumentMacro(STRING, char*) CommandLineArgumentsAddBooleanArgumentMacro(STL_STRING, std::string) //---------------------------------------------------------------------------- void CommandLineArguments::SetClientData(void* client_data) { this->Internals->ClientData = client_data; } //---------------------------------------------------------------------------- void CommandLineArguments::SetUnknownArgumentCallback( CommandLineArguments::ErrorCallbackType callback) { this->Internals->UnknownArgumentCallback = callback; } //---------------------------------------------------------------------------- const char* CommandLineArguments::GetHelp(const char* arg) { CommandLineArguments::Internal::CallbacksMap::iterator it = this->Internals->Callbacks.find(arg); if ( it == this->Internals->Callbacks.end() ) { return 0; } // Since several arguments may point to the same argument, find the one this // one point to if this one is pointing to another argument. CommandLineArgumentsCallbackStructure *cs = &(it->second); for(;;) { CommandLineArguments::Internal::CallbacksMap::iterator hit = this->Internals->Callbacks.find(cs->Help); if ( hit == this->Internals->Callbacks.end() ) { break; } cs = &(hit->second); } return cs->Help; } //---------------------------------------------------------------------------- void CommandLineArguments::SetLineLength(unsigned int ll) { if ( ll < 9 || ll > 1000 ) { return; } this->LineLength = ll; this->GenerateHelp(); } //---------------------------------------------------------------------------- const char* CommandLineArguments::GetArgv0() { return this->Internals->Argv0.c_str(); } //---------------------------------------------------------------------------- unsigned int CommandLineArguments::GetLastArgument() { return static_cast(this->Internals->LastArgument + 1); } //---------------------------------------------------------------------------- void CommandLineArguments::GenerateHelp() { std::ostringstream str; // Collapse all arguments into the map of vectors of all arguments that do // the same thing. CommandLineArguments::Internal::CallbacksMap::iterator it; typedef std::map MapArgs; MapArgs mp; MapArgs::iterator mpit, smpit; for ( it = this->Internals->Callbacks.begin(); it != this->Internals->Callbacks.end(); it ++ ) { CommandLineArgumentsCallbackStructure *cs = &(it->second); mpit = mp.find(cs->Help); if ( mpit != mp.end() ) { mpit->second.insert(it->first); mp[it->first].insert(it->first); } else { mp[it->first].insert(it->first); } } for ( it = this->Internals->Callbacks.begin(); it != this->Internals->Callbacks.end(); it ++ ) { CommandLineArgumentsCallbackStructure *cs = &(it->second); mpit = mp.find(cs->Help); if ( mpit != mp.end() ) { mpit->second.insert(it->first); smpit = mp.find(it->first); CommandLineArguments::Internal::SetOfStrings::iterator sit; for ( sit = smpit->second.begin(); sit != smpit->second.end(); sit++ ) { mpit->second.insert(*sit); } mp.erase(smpit); } else { mp[it->first].insert(it->first); } } // Find the length of the longest string CommandLineArguments::Internal::String::size_type maxlen = 0; for ( mpit = mp.begin(); mpit != mp.end(); mpit ++ ) { CommandLineArguments::Internal::SetOfStrings::iterator sit; for ( sit = mpit->second.begin(); sit != mpit->second.end(); sit++ ) { CommandLineArguments::Internal::String::size_type clen = sit->size(); switch ( this->Internals->Callbacks[*sit].ArgumentType ) { case CommandLineArguments::NO_ARGUMENT: clen += 0; break; case CommandLineArguments::CONCAT_ARGUMENT: clen += 3; break; case CommandLineArguments::SPACE_ARGUMENT: clen += 4; break; case CommandLineArguments::EQUAL_ARGUMENT: clen += 4; break; } if ( clen > maxlen ) { maxlen = clen; } } } maxlen += 4; // For the space before and after the option // Print help for each option for ( mpit = mp.begin(); mpit != mp.end(); mpit ++ ) { CommandLineArguments::Internal::SetOfStrings::iterator sit; for ( sit = mpit->second.begin(); sit != mpit->second.end(); sit++ ) { str << std::endl; char argument[100]; sprintf(argument, "%s", sit->c_str()); switch ( this->Internals->Callbacks[*sit].ArgumentType ) { case CommandLineArguments::NO_ARGUMENT: break; case CommandLineArguments::CONCAT_ARGUMENT: strcat(argument, "opt"); break; case CommandLineArguments::SPACE_ARGUMENT: strcat(argument, " opt"); break; case CommandLineArguments::EQUAL_ARGUMENT: strcat(argument, "=opt"); break; case CommandLineArguments::MULTI_ARGUMENT: strcat(argument, " opt opt ..."); break; } str << " " << argument << " "; } const char* ptr = this->Internals->Callbacks[mpit->first].Help; size_t len = strlen(ptr); int cnt = 0; while ( len > 0) { // If argument with help is longer than line length, split it on previous // space (or tab) and continue on the next line CommandLineArguments::Internal::String::size_type cc; for ( cc = 0; ptr[cc]; cc ++ ) { if ( *ptr == ' ' || *ptr == '\t' ) { ptr ++; len --; } } if ( cnt > 0 ) { for ( cc = 0; cc < maxlen; cc ++ ) { str << " "; } } CommandLineArguments::Internal::String::size_type skip = len; if ( skip > this->LineLength - maxlen ) { skip = this->LineLength - maxlen; for ( cc = skip-1; cc > 0; cc -- ) { if ( ptr[cc] == ' ' || ptr[cc] == '\t' ) { break; } } if ( cc != 0 ) { skip = cc; } } str.write(ptr, static_cast(skip)); str << std::endl; ptr += skip; len -= skip; cnt ++; } } /* // This can help debugging help string str << endl; unsigned int cc; for ( cc = 0; cc < this->LineLength; cc ++ ) { str << cc % 10; } str << endl; */ this->Help = str.str(); } //---------------------------------------------------------------------------- void CommandLineArguments::PopulateVariable( bool* variable, const std::string& value) { if ( value == "1" || value == "ON" || value == "on" || value == "On" || value == "TRUE" || value == "true" || value == "True" || value == "yes" || value == "Yes" || value == "YES" ) { *variable = true; } else { *variable = false; } } //---------------------------------------------------------------------------- void CommandLineArguments::PopulateVariable( int* variable, const std::string& value) { char* res = 0; *variable = static_cast(strtol(value.c_str(), &res, 10)); //if ( res && *res ) // { // Can handle non-int // } } //---------------------------------------------------------------------------- void CommandLineArguments::PopulateVariable( double* variable, const std::string& value) { char* res = 0; *variable = strtod(value.c_str(), &res); //if ( res && *res ) // { // Can handle non-double // } } //---------------------------------------------------------------------------- void CommandLineArguments::PopulateVariable( char** variable, const std::string& value) { if ( *variable ) { delete [] *variable; *variable = 0; } *variable = new char[ value.size() + 1 ]; strcpy(*variable, value.c_str()); } //---------------------------------------------------------------------------- void CommandLineArguments::PopulateVariable( std::string* variable, const std::string& value) { *variable = value; } //---------------------------------------------------------------------------- void CommandLineArguments::PopulateVariable( std::vector* variable, const std::string& value) { bool val = false; if ( value == "1" || value == "ON" || value == "on" || value == "On" || value == "TRUE" || value == "true" || value == "True" || value == "yes" || value == "Yes" || value == "YES" ) { val = true; } variable->push_back(val); } //---------------------------------------------------------------------------- void CommandLineArguments::PopulateVariable( std::vector* variable, const std::string& value) { char* res = 0; variable->push_back(static_cast(strtol(value.c_str(), &res, 10))); //if ( res && *res ) // { // Can handle non-int // } } //---------------------------------------------------------------------------- void CommandLineArguments::PopulateVariable( std::vector* variable, const std::string& value) { char* res = 0; variable->push_back(strtod(value.c_str(), &res)); //if ( res && *res ) // { // Can handle non-int // } } //---------------------------------------------------------------------------- void CommandLineArguments::PopulateVariable( std::vector* variable, const std::string& value) { char* var = new char[ value.size() + 1 ]; strcpy(var, value.c_str()); variable->push_back(var); } //---------------------------------------------------------------------------- void CommandLineArguments::PopulateVariable( std::vector* variable, const std::string& value) { variable->push_back(value); } //---------------------------------------------------------------------------- bool CommandLineArguments::PopulateVariable(CommandLineArgumentsCallbackStructure* cs, const char* value) { // Call the callback if ( cs->Callback ) { if ( !cs->Callback(cs->Argument, value, cs->CallData) ) { this->Internals->LastArgument --; return 0; } } CommandLineArguments_DEBUG("Set argument: " << cs->Argument << " to " << value); if ( cs->Variable ) { std::string var = "1"; if ( value ) { var = value; } switch ( cs->VariableType ) { case CommandLineArguments::INT_TYPE: this->PopulateVariable(static_cast(cs->Variable), var); break; case CommandLineArguments::DOUBLE_TYPE: this->PopulateVariable(static_cast(cs->Variable), var); break; case CommandLineArguments::STRING_TYPE: this->PopulateVariable(static_cast(cs->Variable), var); break; case CommandLineArguments::STL_STRING_TYPE: this->PopulateVariable(static_cast(cs->Variable), var); break; case CommandLineArguments::BOOL_TYPE: this->PopulateVariable(static_cast(cs->Variable), var); break; case CommandLineArguments::VECTOR_BOOL_TYPE: this->PopulateVariable(static_cast*>(cs->Variable), var); break; case CommandLineArguments::VECTOR_INT_TYPE: this->PopulateVariable(static_cast*>(cs->Variable), var); break; case CommandLineArguments::VECTOR_DOUBLE_TYPE: this->PopulateVariable(static_cast*>(cs->Variable), var); break; case CommandLineArguments::VECTOR_STRING_TYPE: this->PopulateVariable(static_cast*>(cs->Variable), var); break; case CommandLineArguments::VECTOR_STL_STRING_TYPE: this->PopulateVariable(static_cast*>(cs->Variable), var); break; default: std::cerr << "Got unknown variable type: \"" << cs->VariableType << "\"" << std::endl; this->Internals->LastArgument --; return 0; } } return 1; } } // namespace KWSYS_NAMESPACE KWStyle-master/Utilities/KWSys/CommandLineArguments.hxx.in000066400000000000000000000233741265471724600241450ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_CommandLineArguments_hxx #define @KWSYS_NAMESPACE@_CommandLineArguments_hxx #include <@KWSYS_NAMESPACE@/Configure.h> #include <@KWSYS_NAMESPACE@/Configure.hxx> #include #include namespace @KWSYS_NAMESPACE@ { class CommandLineArgumentsInternal; struct CommandLineArgumentsCallbackStructure; /** \class CommandLineArguments * \brief Command line arguments processing code. * * Find specified arguments with optional options and execute specified methods * or set given variables. * * The two interfaces it knows are callback based and variable based. For * callback based, you have to register callback for particular argument using * AddCallback method. When that argument is passed, the callback will be * called with argument, value, and call data. For boolean (NO_ARGUMENT) * arguments, the value is "1". If the callback returns 0 the argument parsing * will stop with an error. * * For the variable interface you associate variable with each argument. When * the argument is specified, the variable is set to the specified value casted * to the appropriate type. For boolean (NO_ARGUMENT), the value is "1". * * Both interfaces can be used at the same time. * * Possible argument types are: * NO_ARGUMENT - The argument takes no value : --A * CONCAT_ARGUMENT - The argument takes value after no space : --Aval * SPACE_ARGUMENT - The argument takes value after space : --A val * EQUAL_ARGUMENT - The argument takes value after equal : --A=val * MULTI_ARGUMENT - The argument takes values after space : --A val1 val2 val3 ... * * Example use: * * kwsys::CommandLineArguments arg; * arg.Initialize(argc, argv); * typedef kwsys::CommandLineArguments argT; * arg.AddArgument("--something", argT::EQUAL_ARGUMENT, &some_variable, * "This is help string for --something"); * if ( !arg.Parse() ) * { * std::cerr << "Problem parsing arguments" << std::endl; * res = 1; * } * */ class @KWSYS_NAMESPACE@_EXPORT CommandLineArguments { public: CommandLineArguments(); ~CommandLineArguments(); /** * Various argument types. */ enum ArgumentTypeEnum { NO_ARGUMENT, CONCAT_ARGUMENT, SPACE_ARGUMENT, EQUAL_ARGUMENT, MULTI_ARGUMENT }; /** * Various variable types. When using the variable interface, this specifies * what type the variable is. */ enum VariableTypeEnum { NO_VARIABLE_TYPE = 0, // The variable is not specified INT_TYPE, // The variable is integer (int) BOOL_TYPE, // The variable is boolean (bool) DOUBLE_TYPE, // The variable is float (double) STRING_TYPE, // The variable is string (char*) STL_STRING_TYPE, // The variable is string (char*) VECTOR_INT_TYPE, // The variable is integer (int) VECTOR_BOOL_TYPE, // The variable is boolean (bool) VECTOR_DOUBLE_TYPE, // The variable is float (double) VECTOR_STRING_TYPE, // The variable is string (char*) VECTOR_STL_STRING_TYPE, // The variable is string (char*) LAST_VARIABLE_TYPE }; /** * Prototypes for callbacks for callback interface. */ typedef int(*CallbackType)(const char* argument, const char* value, void* call_data); typedef int(*ErrorCallbackType)(const char* argument, void* client_data); /** * Initialize internal data structures. This should be called before parsing. */ void Initialize(int argc, const char* const argv[]); void Initialize(int argc, char* argv[]); /** * Initialize internal data structure and pass arguments one by one. This is * convenience method for use from scripting languages where argc and argv * are not available. */ void Initialize(); void ProcessArgument(const char* arg); /** * This method will parse arguments and call appropriate methods. */ int Parse(); /** * This method will add a callback for a specific argument. The arguments to * it are argument, argument type, callback method, and call data. The * argument help specifies the help string used with this option. The * callback and call_data can be skipped. */ void AddCallback(const char* argument, ArgumentTypeEnum type, CallbackType callback, void* call_data, const char* help); /** * Add handler for argument which is going to set the variable to the * specified value. If the argument is specified, the option is casted to the * appropriate type. */ void AddArgument(const char* argument, ArgumentTypeEnum type, bool* variable, const char* help); void AddArgument(const char* argument, ArgumentTypeEnum type, int* variable, const char* help); void AddArgument(const char* argument, ArgumentTypeEnum type, double* variable, const char* help); void AddArgument(const char* argument, ArgumentTypeEnum type, char** variable, const char* help); void AddArgument(const char* argument, ArgumentTypeEnum type, std::string* variable, const char* help); /** * Add handler for argument which is going to set the variable to the * specified value. If the argument is specified, the option is casted to the * appropriate type. This will handle the multi argument values. */ void AddArgument(const char* argument, ArgumentTypeEnum type, std::vector* variable, const char* help); void AddArgument(const char* argument, ArgumentTypeEnum type, std::vector* variable, const char* help); void AddArgument(const char* argument, ArgumentTypeEnum type, std::vector* variable, const char* help); void AddArgument(const char* argument, ArgumentTypeEnum type, std::vector* variable, const char* help); void AddArgument(const char* argument, ArgumentTypeEnum type, std::vector* variable, const char* help); /** * Add handler for boolean argument. The argument does not take any option * and if it is specified, the value of the variable is true/1, otherwise it * is false/0. */ void AddBooleanArgument(const char* argument, bool* variable, const char* help); void AddBooleanArgument(const char* argument, int* variable, const char* help); void AddBooleanArgument(const char* argument, double* variable, const char* help); void AddBooleanArgument(const char* argument, char** variable, const char* help); void AddBooleanArgument(const char* argument, std::string* variable, const char* help); /** * Set the callbacks for error handling. */ void SetClientData(void* client_data); void SetUnknownArgumentCallback(ErrorCallbackType callback); /** * Get remaining arguments. It allocates space for argv, so you have to call * delete[] on it. */ void GetRemainingArguments(int* argc, char*** argv); void DeleteRemainingArguments(int argc, char*** argv); /** * If StoreUnusedArguments is set to true, then all unknown arguments will be * stored and the user can access the modified argc, argv without known * arguments. */ void StoreUnusedArguments(bool val) { this->StoreUnusedArgumentsFlag = val; } void GetUnusedArguments(int* argc, char*** argv); /** * Return string containing help. If the argument is specified, only return * help for that argument. */ const char* GetHelp() { return this->Help.c_str(); } const char* GetHelp(const char* arg); /** * Get / Set the help line length. This length is used when generating the * help page. Default length is 80. */ void SetLineLength(unsigned int); unsigned int GetLineLength(); /** * Get the executable name (argv0). This is only available when using * Initialize with argc/argv. */ const char* GetArgv0(); /** * Get index of the last argument parsed. This is the last argument that was * parsed ok in the original argc/argv list. */ unsigned int GetLastArgument(); protected: void GenerateHelp(); //! This is internal method that registers variable with argument void AddArgument(const char* argument, ArgumentTypeEnum type, VariableTypeEnum vtype, void* variable, const char* help); bool GetMatchedArguments(std::vector* matches, const std::string& arg); //! Populate individual variables bool PopulateVariable(CommandLineArgumentsCallbackStructure* cs, const char* value); //! Populate individual variables of type ... void PopulateVariable(bool* variable, const std::string& value); void PopulateVariable(int* variable, const std::string& value); void PopulateVariable(double* variable, const std::string& value); void PopulateVariable(char** variable, const std::string& value); void PopulateVariable(std::string* variable, const std::string& value); void PopulateVariable(std::vector* variable, const std::string& value); void PopulateVariable(std::vector* variable, const std::string& value); void PopulateVariable(std::vector* variable, const std::string& value); void PopulateVariable(std::vector* variable, const std::string& value); void PopulateVariable(std::vector* variable, const std::string& value); typedef CommandLineArgumentsInternal Internal; Internal* Internals; std::string Help; unsigned int LineLength; bool StoreUnusedArgumentsFlag; }; } // namespace @KWSYS_NAMESPACE@ #endif KWStyle-master/Utilities/KWSys/Configure.h.in000066400000000000000000000116751265471724600214330ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_Configure_h #define @KWSYS_NAMESPACE@_Configure_h /* If we are building a kwsys .c or .cxx file, let it use the kwsys namespace. When not building a kwsys source file these macros are temporarily defined inside the headers that use them. */ #if defined(KWSYS_NAMESPACE) # define kwsys_ns(x) @KWSYS_NAMESPACE@##x # define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT #endif /* Disable some warnings inside kwsys source files. */ #if defined(KWSYS_NAMESPACE) # if defined(__BORLANDC__) # pragma warn -8027 /* function not inlined. */ # endif # if defined(__INTEL_COMPILER) # pragma warning (disable: 1572) /* floating-point equality test */ # endif # if defined(__sgi) && !defined(__GNUC__) # pragma set woff 3970 /* pointer to int conversion */ # pragma set woff 3968 /* 64 bit conversion */ # endif #endif /* Whether kwsys namespace is "kwsys". */ #define @KWSYS_NAMESPACE@_NAME_IS_KWSYS @KWSYS_NAME_IS_KWSYS@ /* Whether Large File Support is requested. */ #define @KWSYS_NAMESPACE@_LFS_REQUESTED @KWSYS_LFS_REQUESTED@ /* Whether Large File Support is available. */ #if @KWSYS_NAMESPACE@_LFS_REQUESTED # define @KWSYS_NAMESPACE@_LFS_AVAILABLE @KWSYS_LFS_AVAILABLE@ #endif /* Setup Large File Support if requested. */ #if @KWSYS_NAMESPACE@_LFS_REQUESTED /* Since LFS is requested this header must be included before system headers whether or not LFS is available. */ # if 0 && (defined(_SYS_TYPES_H) || defined(_SYS_TYPES_INCLUDED)) # error "@KWSYS_NAMESPACE@/Configure.h must be included before sys/types.h" # endif /* Enable the large file API if it is available. */ # if @KWSYS_NAMESPACE@_LFS_AVAILABLE && \ !defined(@KWSYS_NAMESPACE@_LFS_NO_DEFINES) # if !defined(_LARGEFILE_SOURCE) && \ !defined(@KWSYS_NAMESPACE@_LFS_NO_DEFINE_LARGEFILE_SOURCE) # define _LARGEFILE_SOURCE # endif # if !defined(_LARGEFILE64_SOURCE) && \ !defined(@KWSYS_NAMESPACE@_LFS_NO_DEFINE_LARGEFILE64_SOURCE) # define _LARGEFILE64_SOURCE # endif # if !defined(_LARGE_FILES) && \ !defined(@KWSYS_NAMESPACE@_LFS_NO_DEFINE_LARGE_FILES) # define _LARGE_FILES # endif # if !defined(_FILE_OFFSET_BITS) && \ !defined(@KWSYS_NAMESPACE@_LFS_NO_DEFINE_FILE_OFFSET_BITS) # define _FILE_OFFSET_BITS 64 # endif # if 0 && (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS < 64) # error "_FILE_OFFSET_BITS must be defined to at least 64" # endif # endif #endif /* Setup the export macro. */ #if @KWSYS_BUILD_SHARED@ # if defined(_WIN32) || defined(__CYGWIN__) # if defined(@KWSYS_NAMESPACE@_EXPORTS) # define @KWSYS_NAMESPACE@_EXPORT __declspec(dllexport) # else # define @KWSYS_NAMESPACE@_EXPORT __declspec(dllimport) # endif # elif __GNUC__ >= 4 # define @KWSYS_NAMESPACE@_EXPORT __attribute__ ((visibility("default"))) # else # define @KWSYS_NAMESPACE@_EXPORT # endif #else # define @KWSYS_NAMESPACE@_EXPORT #endif /* Enable warnings that are off by default but are useful. */ #if !defined(@KWSYS_NAMESPACE@_NO_WARNING_ENABLE) # if defined(_MSC_VER) # pragma warning ( default : 4263 ) /* no override, call convention differs */ # endif #endif /* Disable warnings that are on by default but occur in valid code. */ #if !defined(@KWSYS_NAMESPACE@_NO_WARNING_DISABLE) # if defined(_MSC_VER) # pragma warning (disable: 4097) /* typedef is synonym for class */ # pragma warning (disable: 4127) /* conditional expression is constant */ # pragma warning (disable: 4244) /* possible loss in conversion */ # pragma warning (disable: 4251) /* missing DLL-interface */ # pragma warning (disable: 4305) /* truncation from type1 to type2 */ # pragma warning (disable: 4309) /* truncation of constant value */ # pragma warning (disable: 4514) /* unreferenced inline function */ # pragma warning (disable: 4706) /* assignment in conditional expression */ # pragma warning (disable: 4710) /* function not inlined */ # pragma warning (disable: 4786) /* identifier truncated in debug info */ # endif #endif /* MSVC 6.0 in release mode will warn about code it produces with its optimizer. Disable the warnings specifically for this configuration. Real warnings will be revealed by a debug build or by other compilers. */ #if !defined(@KWSYS_NAMESPACE@_NO_WARNING_DISABLE_BOGUS) # if defined(_MSC_VER) && (_MSC_VER < 1300) && defined(NDEBUG) # pragma warning ( disable : 4701 ) /* Variable may be used uninitialized. */ # pragma warning ( disable : 4702 ) /* Unreachable code. */ # endif #endif #endif KWStyle-master/Utilities/KWSys/Configure.hxx.in000066400000000000000000000026361265471724600220100ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_Configure_hxx #define @KWSYS_NAMESPACE@_Configure_hxx /* Include C configuration. */ #include <@KWSYS_NAMESPACE@/Configure.h> /* Whether wstring is available. */ #define @KWSYS_NAMESPACE@_STL_HAS_WSTRING @KWSYS_STL_HAS_WSTRING@ /* Whether struct stat has the st_mtim member for high resolution times. */ #define @KWSYS_NAMESPACE@_STAT_HAS_ST_MTIM @KWSYS_STAT_HAS_ST_MTIM@ /* If building a C++ file in kwsys itself, give the source file access to the macros without a configured namespace. */ #if defined(KWSYS_NAMESPACE) # if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # define kwsys @KWSYS_NAMESPACE@ # endif # define KWSYS_NAME_IS_KWSYS @KWSYS_NAMESPACE@_NAME_IS_KWSYS # define KWSYS_STAT_HAS_ST_MTIM @KWSYS_NAMESPACE@_STAT_HAS_ST_MTIM # define KWSYS_STL_HAS_WSTRING @KWSYS_NAMESPACE@_STL_HAS_WSTRING #endif #endif KWStyle-master/Utilities/KWSys/Copyright.txt000066400000000000000000000030571265471724600214400ustar00rootroot00000000000000KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium All rights reserved. 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. KWStyle-master/Utilities/KWSys/Directory.cxx000066400000000000000000000134251265471724600214170ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(Directory.hxx) #include KWSYS_HEADER(Configure.hxx) #include KWSYS_HEADER(Encoding.hxx) // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "Directory.hxx.in" # include "Configure.hxx.in" # include "Encoding.hxx.in" #endif #include #include namespace KWSYS_NAMESPACE { //---------------------------------------------------------------------------- class DirectoryInternals { public: // Array of Files std::vector Files; // Path to Open'ed directory std::string Path; }; //---------------------------------------------------------------------------- Directory::Directory() { this->Internal = new DirectoryInternals; } //---------------------------------------------------------------------------- Directory::~Directory() { delete this->Internal; } //---------------------------------------------------------------------------- unsigned long Directory::GetNumberOfFiles() const { return static_cast(this->Internal->Files.size()); } //---------------------------------------------------------------------------- const char* Directory::GetFile(unsigned long dindex) const { if ( dindex >= this->Internal->Files.size() ) { return 0; } return this->Internal->Files[dindex].c_str(); } //---------------------------------------------------------------------------- const char* Directory::GetPath() const { return this->Internal->Path.c_str(); } //---------------------------------------------------------------------------- void Directory::Clear() { this->Internal->Path.resize(0); this->Internal->Files.clear(); } } // namespace KWSYS_NAMESPACE // First microsoft compilers #if defined(_MSC_VER) || defined(__WATCOMC__) #include #include #include #include #include #include #include #include #include namespace KWSYS_NAMESPACE { bool Directory::Load(const std::string& name) { this->Clear(); #if _MSC_VER < 1300 long srchHandle; #else intptr_t srchHandle; #endif char* buf; size_t n = name.size(); if ( *name.rbegin() == '/' || *name.rbegin() == '\\' ) { buf = new char[n + 1 + 1]; sprintf(buf, "%s*", name.c_str()); } else { // Make sure the slashes in the wildcard suffix are consistent with the // rest of the path buf = new char[n + 2 + 1]; if ( name.find('\\') != name.npos ) { sprintf(buf, "%s\\*", name.c_str()); } else { sprintf(buf, "%s/*", name.c_str()); } } struct _wfinddata_t data; // data of current file // Now put them into the file array srchHandle = _wfindfirst((wchar_t*)Encoding::ToWide(buf).c_str(), &data); delete [] buf; if ( srchHandle == -1 ) { return 0; } // Loop through names do { this->Internal->Files.push_back(Encoding::ToNarrow(data.name)); } while ( _wfindnext(srchHandle, &data) != -1 ); this->Internal->Path = name; return _findclose(srchHandle) != -1; } unsigned long Directory::GetNumberOfFilesInDirectory(const std::string& name) { #if _MSC_VER < 1300 long srchHandle; #else intptr_t srchHandle; #endif char* buf; size_t n = name.size(); if ( *name.rbegin() == '/' ) { buf = new char[n + 1 + 1]; sprintf(buf, "%s*", name.c_str()); } else { buf = new char[n + 2 + 1]; sprintf(buf, "%s/*", name.c_str()); } struct _wfinddata_t data; // data of current file // Now put them into the file array srchHandle = _wfindfirst((wchar_t*)Encoding::ToWide(buf).c_str(), &data); delete [] buf; if ( srchHandle == -1 ) { return 0; } // Loop through names unsigned long count = 0; do { count++; } while ( _wfindnext(srchHandle, &data) != -1 ); _findclose(srchHandle); return count; } } // namespace KWSYS_NAMESPACE #else // Now the POSIX style directory access #include #include // PGI with glibc has trouble with dirent and large file support: // http://www.pgroup.com/userforum/viewtopic.php? // p=1992&sid=f16167f51964f1a68fe5041b8eb213b6 // Work around the problem by mapping dirent the same way as readdir. #if defined(__PGI) && defined(__GLIBC__) # define kwsys_dirent_readdir dirent # define kwsys_dirent_readdir64 dirent64 # define kwsys_dirent kwsys_dirent_lookup(readdir) # define kwsys_dirent_lookup(x) kwsys_dirent_lookup_delay(x) # define kwsys_dirent_lookup_delay(x) kwsys_dirent_##x #else # define kwsys_dirent dirent #endif namespace KWSYS_NAMESPACE { bool Directory::Load(const std::string& name) { this->Clear(); DIR* dir = opendir(name.c_str()); if (!dir) { return 0; } for (kwsys_dirent* d = readdir(dir); d; d = readdir(dir) ) { this->Internal->Files.push_back(d->d_name); } this->Internal->Path = name; closedir(dir); return 1; } unsigned long Directory::GetNumberOfFilesInDirectory(const std::string& name) { DIR* dir = opendir(name.c_str()); if (!dir) { return 0; } unsigned long count = 0; for (kwsys_dirent* d = readdir(dir); d; d = readdir(dir) ) { count++; } closedir(dir); return count; } } // namespace KWSYS_NAMESPACE #endif KWStyle-master/Utilities/KWSys/Directory.hxx.in000066400000000000000000000042221265471724600220240ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_Directory_hxx #define @KWSYS_NAMESPACE@_Directory_hxx #include <@KWSYS_NAMESPACE@/Configure.h> #include namespace @KWSYS_NAMESPACE@ { class DirectoryInternals; /** \class Directory * \brief Portable directory/filename traversal. * * Directory provides a portable way of finding the names of the files * in a system directory. * * Directory currently works with Windows and Unix operating systems. */ class @KWSYS_NAMESPACE@_EXPORT Directory { public: Directory(); ~Directory(); /** * Load the specified directory and load the names of the files * in that directory. 0 is returned if the directory can not be * opened, 1 if it is opened. */ bool Load(const std::string&); /** * Return the number of files in the current directory. */ unsigned long GetNumberOfFiles() const; /** * Return the number of files in the specified directory. * A higher performance static method. */ static unsigned long GetNumberOfFilesInDirectory(const std::string&); /** * Return the file at the given index, the indexing is 0 based */ const char* GetFile(unsigned long) const; /** * Return the path to Open'ed directory */ const char* GetPath() const; /** * Clear the internal structure. Used internally at beginning of Load(...) * to clear the cache. */ void Clear(); private: // Private implementation details. DirectoryInternals* Internal; Directory(const Directory&); // Not implemented. void operator=(const Directory&); // Not implemented. }; // End Class: Directory } // namespace @KWSYS_NAMESPACE@ #endif KWStyle-master/Utilities/KWSys/DynamicLoader.cxx000066400000000000000000000353521265471724600221710ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(DynamicLoader.hxx) #include KWSYS_HEADER(Configure.hxx) // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "DynamicLoader.hxx.in" # include "Configure.hxx.in" #endif // This file is actually 3 different implementations. // 1. HP machines which uses shl_load // 2. Mac OS X 10.2.x and earlier which uses NSLinkModule // 3. Windows which uses LoadLibrary // 4. Most unix systems (including Mac OS X 10.3 and later) which use dlopen // (default) Each part of the ifdef contains a complete implementation for // the static methods of DynamicLoader. // --------------------------------------------------------------- // 1. Implementation for HPUX machines #ifdef __hpux #include #include #define DYNAMICLOADER_DEFINED 1 namespace KWSYS_NAMESPACE { //---------------------------------------------------------------------------- DynamicLoader::LibraryHandle DynamicLoader::OpenLibrary(const std::string& libname ) { return shl_load(libname.c_str(), BIND_DEFERRED | DYNAMIC_PATH, 0L); } //---------------------------------------------------------------------------- int DynamicLoader::CloseLibrary(DynamicLoader::LibraryHandle lib) { if (!lib) { return 0; } return !shl_unload(lib); } //---------------------------------------------------------------------------- DynamicLoader::SymbolPointer DynamicLoader::GetSymbolAddress(DynamicLoader::LibraryHandle lib, const std::string& sym) { void* addr; int status; /* TYPE_PROCEDURE Look for a function or procedure. (This used to be default) * TYPE_DATA Look for a symbol in the data segment (for example, variables). * TYPE_UNDEFINED Look for any symbol. */ status = shl_findsym (&lib, sym.c_str(), TYPE_UNDEFINED, &addr); void* result = (status < 0) ? (void*)0 : addr; // Hack to cast pointer-to-data to pointer-to-function. return *reinterpret_cast(&result); } const char* DynamicLoader::LastError() { // TODO: Need implementation with errno/strerror /* If successful, shl_findsym returns an integer (int) value zero. If * shl_findsym cannot find sym, it returns -1 and sets errno to zero. * If any other errors occur, shl_findsym returns -1 and sets errno to one * of these values (defined in ): * ENOEXEC * A format error was detected in the specified library. * ENOSYM * A symbol on which sym depends could not be found. * EINVAL * The specified handle is invalid. */ if( errno == ENOEXEC || errno == ENOSYM || errno == EINVAL ) { return strerror(errno); } // else return 0; } } // namespace KWSYS_NAMESPACE #endif //__hpux // --------------------------------------------------------------- // 2. Implementation for Mac OS X 10.2.x and earlier #ifdef __APPLE__ #if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 #include // for strlen #include #define DYNAMICLOADER_DEFINED 1 namespace KWSYS_NAMESPACE { //---------------------------------------------------------------------------- DynamicLoader::LibraryHandle DynamicLoader::OpenLibrary(const std::string& libname ) { NSObjectFileImageReturnCode rc; NSObjectFileImage image = 0; rc = NSCreateObjectFileImageFromFile(libname.c_str(), &image); // rc == NSObjectFileImageInappropriateFile when trying to load a dylib file if( rc != NSObjectFileImageSuccess ) { return 0; } NSModule handle = NSLinkModule(image, libname.c_str(), NSLINKMODULE_OPTION_BINDNOW|NSLINKMODULE_OPTION_RETURN_ON_ERROR); NSDestroyObjectFileImage(image); return handle; } //---------------------------------------------------------------------------- int DynamicLoader::CloseLibrary( DynamicLoader::LibraryHandle lib) { // NSUNLINKMODULE_OPTION_KEEP_MEMORY_MAPPED // With this option the memory for the module is not deallocated // allowing pointers into the module to still be valid. // You should use this option instead if your code experience some problems // reported against Panther 10.3.9 (fixed in Tiger 10.4.2 and up) bool success = NSUnLinkModule(lib, NSUNLINKMODULE_OPTION_NONE); return success; } //---------------------------------------------------------------------------- DynamicLoader::SymbolPointer DynamicLoader::GetSymbolAddress( DynamicLoader::LibraryHandle lib, const std::string& sym) { void *result=0; // Need to prepend symbols with '_' on Apple-gcc compilers size_t len = sym.size(); char *rsym = new char[len + 1 + 1]; strcpy(rsym, "_"); strcat(rsym+1, sym.c_str()); NSSymbol symbol = NSLookupSymbolInModule(lib, rsym); if(symbol) { result = NSAddressOfSymbol(symbol); } delete[] rsym; // Hack to cast pointer-to-data to pointer-to-function. return *reinterpret_cast(&result); } //---------------------------------------------------------------------------- const char* DynamicLoader::LastError() { return 0; } } // namespace KWSYS_NAMESPACE #endif // MAC_OS_X_VERSION_MAX_ALLOWED < 1030 #endif // __APPLE__ // --------------------------------------------------------------- // 3. Implementation for Windows win32 code but not cygwin #if defined(_WIN32) && !defined(__CYGWIN__) #include #define DYNAMICLOADER_DEFINED 1 namespace KWSYS_NAMESPACE { //---------------------------------------------------------------------------- DynamicLoader::LibraryHandle DynamicLoader::OpenLibrary(const std::string& libname) { DynamicLoader::LibraryHandle lh; int length = MultiByteToWideChar(CP_UTF8, 0, libname.c_str(), -1, NULL, 0); wchar_t* wchars = new wchar_t[length+1]; wchars[0] = '\0'; MultiByteToWideChar(CP_UTF8, 0, libname.c_str(), -1, wchars, length); lh = LoadLibraryW(wchars); delete [] wchars; return lh; } //---------------------------------------------------------------------------- int DynamicLoader::CloseLibrary(DynamicLoader::LibraryHandle lib) { return (int)FreeLibrary(lib); } //---------------------------------------------------------------------------- DynamicLoader::SymbolPointer DynamicLoader::GetSymbolAddress( DynamicLoader::LibraryHandle lib, const std::string& sym) { // TODO: The calling convention affects the name of the symbol. We // should have a tool to help get the symbol with the desired // calling convention. Currently we assume cdecl. // // Borland: // __cdecl = "_func" (default) // __fastcall = "@_func" // __stdcall = "func" // // Watcom: // __cdecl = "_func" // __fastcall = "@_func@X" // __stdcall = "_func@X" // __watcall = "func_" (default) // // MSVC: // __cdecl = "func" (default) // __fastcall = "@_func@X" // __stdcall = "_func@X" // // Note that the "@X" part of the name above is the total size (in // bytes) of the arguments on the stack. void *result; #if defined(__BORLANDC__) || defined(__WATCOMC__) // Need to prepend symbols with '_' size_t len = sym.size(); char *rsym = new char[len + 1 + 1]; strcpy(rsym, "_"); strcat(rsym, sym.c_str()); #else const char *rsym = sym.c_str(); #endif result = (void*)GetProcAddress(lib, rsym); #if defined(__BORLANDC__) || defined(__WATCOMC__) delete[] rsym; #endif // Hack to cast pointer-to-data to pointer-to-function. #ifdef __WATCOMC__ return *(DynamicLoader::SymbolPointer*)(&result); #else return *reinterpret_cast(&result); #endif } //---------------------------------------------------------------------------- const char* DynamicLoader::LastError() { LPVOID lpMsgBuf=NULL; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language (LPTSTR) &lpMsgBuf, 0, NULL ); if(!lpMsgBuf) { return NULL; } static char* str = 0; delete [] str; str = strcpy(new char[strlen((char*)lpMsgBuf)+1], (char*)lpMsgBuf); // Free the buffer. LocalFree( lpMsgBuf ); return str; } } // namespace KWSYS_NAMESPACE #endif //_WIN32 // --------------------------------------------------------------- // 4. Implementation for BeOS #if defined __BEOS__ #include // for strerror() #include #include #define DYNAMICLOADER_DEFINED 1 namespace KWSYS_NAMESPACE { static image_id last_dynamic_err = B_OK; //---------------------------------------------------------------------------- DynamicLoader::LibraryHandle DynamicLoader::OpenLibrary(const std::string& libname ) { // image_id's are integers, errors are negative. Add one just in case we // get a valid image_id of zero (is that even possible?). image_id rc = load_add_on(libname.c_str()); if (rc < 0) { last_dynamic_err = rc; return 0; } return rc+1; } //---------------------------------------------------------------------------- int DynamicLoader::CloseLibrary(DynamicLoader::LibraryHandle lib) { if (!lib) { last_dynamic_err = B_BAD_VALUE; return 0; } else { // The function dlclose() returns 0 on success, and non-zero on error. status_t rc = unload_add_on(lib-1); if (rc != B_OK) { last_dynamic_err = rc; return 0; } } return 1; } //---------------------------------------------------------------------------- DynamicLoader::SymbolPointer DynamicLoader::GetSymbolAddress( DynamicLoader::LibraryHandle lib, const std::string& sym) { // Hack to cast pointer-to-data to pointer-to-function. union { void* pvoid; DynamicLoader::SymbolPointer psym; } result; result.psym = NULL; if (!lib) { last_dynamic_err = B_BAD_VALUE; } else { // !!! FIXME: BeOS can do function-only lookups...does this ever // !!! FIXME: actually _want_ a data symbol lookup, or was this union // !!! FIXME: a leftover of dlsym()? (s/ANY/TEXT for functions only). status_t rc = get_image_symbol(lib-1,sym.c_str(),B_SYMBOL_TYPE_ANY,&result.pvoid); if (rc != B_OK) { last_dynamic_err = rc; result.psym = NULL; } } return result.psym; } //---------------------------------------------------------------------------- const char* DynamicLoader::LastError() { const char *retval = strerror(last_dynamic_err); last_dynamic_err = B_OK; return retval; } } // namespace KWSYS_NAMESPACE #endif // --------------------------------------------------------------- // 5. Implementation for systems without dynamic libs // __gnu_blrts__ is IBM BlueGene/L // __LIBCATAMOUNT__ is defined on Catamount on Cray compute nodes #if defined(__gnu_blrts__) || defined(__LIBCATAMOUNT__) || defined(__CRAYXT_COMPUTE_LINUX_TARGET) #include // for strerror() #define DYNAMICLOADER_DEFINED 1 namespace KWSYS_NAMESPACE { //---------------------------------------------------------------------------- DynamicLoader::LibraryHandle DynamicLoader::OpenLibrary(const std::string& libname ) { return 0; } //---------------------------------------------------------------------------- int DynamicLoader::CloseLibrary(DynamicLoader::LibraryHandle lib) { if (!lib) { return 0; } return 1; } //---------------------------------------------------------------------------- DynamicLoader::SymbolPointer DynamicLoader::GetSymbolAddress( DynamicLoader::LibraryHandle lib, const std::string& sym) { return 0; } //---------------------------------------------------------------------------- const char* DynamicLoader::LastError() { return "General error"; } } // namespace KWSYS_NAMESPACE #endif #ifdef __MINT__ #define DYNAMICLOADER_DEFINED 1 #define _GNU_SOURCE /* for program_invocation_name */ #include #include #include #include namespace KWSYS_NAMESPACE { //---------------------------------------------------------------------------- DynamicLoader::LibraryHandle DynamicLoader::OpenLibrary(const std::string& libname ) { char *name = (char *)calloc(1, libname.size() + 1); dld_init(program_invocation_name); strncpy(name, libname.c_str(), libname.size()); dld_link(libname.c_str()); return (void *)name; } //---------------------------------------------------------------------------- int DynamicLoader::CloseLibrary(DynamicLoader::LibraryHandle lib) { dld_unlink_by_file((char *)lib, 0); free(lib); return 0; } //---------------------------------------------------------------------------- DynamicLoader::SymbolPointer DynamicLoader::GetSymbolAddress( DynamicLoader::LibraryHandle lib, const std::string& sym) { // Hack to cast pointer-to-data to pointer-to-function. union { void* pvoid; DynamicLoader::SymbolPointer psym; } result; result.pvoid = dld_get_symbol(sym.c_str()); return result.psym; } //---------------------------------------------------------------------------- const char* DynamicLoader::LastError() { return dld_strerror(dld_errno); } } // namespace KWSYS_NAMESPACE #endif // --------------------------------------------------------------- // 6. Implementation for default UNIX machines. // if nothing has been defined then use this #ifndef DYNAMICLOADER_DEFINED #define DYNAMICLOADER_DEFINED 1 // Setup for most unix machines #include namespace KWSYS_NAMESPACE { //---------------------------------------------------------------------------- DynamicLoader::LibraryHandle DynamicLoader::OpenLibrary(const std::string& libname ) { return dlopen(libname.c_str(), RTLD_LAZY); } //---------------------------------------------------------------------------- int DynamicLoader::CloseLibrary(DynamicLoader::LibraryHandle lib) { if (lib) { // The function dlclose() returns 0 on success, and non-zero on error. return !dlclose(lib); } // else return 0; } //---------------------------------------------------------------------------- DynamicLoader::SymbolPointer DynamicLoader::GetSymbolAddress( DynamicLoader::LibraryHandle lib, const std::string& sym) { // Hack to cast pointer-to-data to pointer-to-function. union { void* pvoid; DynamicLoader::SymbolPointer psym; } result; result.pvoid = dlsym(lib, sym.c_str()); return result.psym; } //---------------------------------------------------------------------------- const char* DynamicLoader::LastError() { return dlerror(); } } // namespace KWSYS_NAMESPACE #endif KWStyle-master/Utilities/KWSys/DynamicLoader.hxx.in000066400000000000000000000067461265471724600226100ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_DynamicLoader_hxx #define @KWSYS_NAMESPACE@_DynamicLoader_hxx #include <@KWSYS_NAMESPACE@/Configure.hxx> #include #if defined(__hpux) #include #elif defined(_WIN32) && !defined(__CYGWIN__) #include #elif defined(__APPLE__) #include #if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 #include #endif #elif defined(__BEOS__) #include #endif namespace @KWSYS_NAMESPACE@ { /** \class DynamicLoader * \brief Portable loading of dynamic libraries or dll's. * * DynamicLoader provides a portable interface to loading dynamic * libraries or dll's into a process. * * Directory currently works with Windows, Apple, HP-UX and Unix (POSIX) * operating systems * * \warning dlopen on *nix system works the following way: * If filename contains a slash ("/"), then it is interpreted as a (relative * or absolute) pathname. Otherwise, the dynamic linker searches for the * library as follows : see ld.so(8) for further details): * Whereas this distinction does not exist on Win32. Therefore ideally you * should be doing full path to garantee to have a consistent way of dealing * with dynamic loading of shared library. * * \warning the Cygwin implementation do not use the Win32 HMODULE. Put extra * condition so that we can include the correct declaration (POSIX) */ class @KWSYS_NAMESPACE@_EXPORT DynamicLoader { public: // Ugly stuff for library handles // They are different on several different OS's #if defined(__hpux) typedef shl_t LibraryHandle; #elif defined(_WIN32) && !defined(__CYGWIN__) typedef HMODULE LibraryHandle; #elif defined(__APPLE__) #if MAC_OS_X_VERSION_MAX_ALLOWED < 1030 typedef NSModule LibraryHandle; #else typedef void* LibraryHandle; #endif #elif defined(__BEOS__) typedef image_id LibraryHandle; #else // POSIX typedef void* LibraryHandle; #endif // Return type from DynamicLoader::GetSymbolAddress. typedef void (*SymbolPointer)(); /** Load a dynamic library into the current process. * The returned LibraryHandle can be used to access the symbols in the * library. */ static LibraryHandle OpenLibrary(const std::string&); /** Attempt to detach a dynamic library from the * process. A value of true is returned if it is sucessful. */ static int CloseLibrary(LibraryHandle); /** Find the address of the symbol in the given library. */ static SymbolPointer GetSymbolAddress(LibraryHandle, const std::string&); /** Return the default module prefix for the current platform. */ static const char* LibPrefix() { return "@KWSYS_DynamicLoader_PREFIX@"; } /** Return the default module suffix for the current platform. */ static const char* LibExtension() { return "@KWSYS_DynamicLoader_SUFFIX@"; } /** Return the last error produced from a calls made on this class. */ static const char* LastError(); }; // End Class: DynamicLoader } // namespace @KWSYS_NAMESPACE@ #endif KWStyle-master/Utilities/KWSys/Encoding.h.in000066400000000000000000000053001265471724600212240ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_Encoding_h #define @KWSYS_NAMESPACE@_Encoding_h #include <@KWSYS_NAMESPACE@/Configure.h> #include /* Redefine all public interface symbol names to be in the proper namespace. These macros are used internally to kwsys only, and are not visible to user code. Use kwsysHeaderDump.pl to reproduce these macros after making changes to the interface. */ #if !defined(KWSYS_NAMESPACE) # define kwsys_ns(x) @KWSYS_NAMESPACE@##x # define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT #endif #if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # define kwsysEncoding kwsys_ns(Encoding) # define kwsysEncoding_mbstowcs kwsys_ns(Encoding_mbstowcs) # define kwsysEncoding_DupToWide kwsys_ns(Encoding_DupToWide) # define kwsysEncoding_wcstombs kwsys_ns(Encoding_wcstombs) # define kwsysEncoding_DupToNarrow kwsys_ns(Encoding_DupToNarrow) #endif #if defined(__cplusplus) extern "C" { #endif /* Convert a narrow string to a wide string. On Windows, UTF-8 is assumed, and on other platforms, the current locale is assumed. */ kwsysEXPORT size_t kwsysEncoding_mbstowcs(wchar_t* dest, const char* src, size_t n); /* Convert a narrow string to a wide string. This can return NULL if the conversion fails. */ kwsysEXPORT wchar_t* kwsysEncoding_DupToWide(const char* src); /* Convert a wide string to a narrow string. On Windows, UTF-8 is assumed, and on other platforms, the current locale is assumed. */ kwsysEXPORT size_t kwsysEncoding_wcstombs(char* dest, const wchar_t* src, size_t n); /* Convert a wide string to a narrow string. This can return NULL if the conversion fails. */ kwsysEXPORT char* kwsysEncoding_DupToNarrow(const wchar_t* str); #if defined(__cplusplus) } /* extern "C" */ #endif /* If we are building a kwsys .c or .cxx file, let it use these macros. Otherwise, undefine them to keep the namespace clean. */ #if !defined(KWSYS_NAMESPACE) # undef kwsys_ns # undef kwsysEXPORT # if !defined(KWSYS_NAMESPACE) && !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # undef kwsysEncoding # undef kwsysEncoding_mbstowcs # undef kwsysEncoding_DupToWide # undef kwsysEncoding_wcstombs # undef kwsysEncoding_DupToNarrow # endif #endif #endif KWStyle-master/Utilities/KWSys/Encoding.hxx.in000066400000000000000000000050131265471724600216050ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_Encoding_hxx #define @KWSYS_NAMESPACE@_Encoding_hxx #include <@KWSYS_NAMESPACE@/Configure.hxx> #include #include namespace @KWSYS_NAMESPACE@ { class @KWSYS_NAMESPACE@_EXPORT Encoding { public: // Container class for argc/argv. class CommandLineArguments { public: // On Windows, get the program command line arguments // in this Encoding module's 8 bit encoding. // On other platforms the given argc/argv is used, and // to be consistent, should be the argc/argv from main(). static CommandLineArguments Main(int argc, char const* const* argv); // Construct CommandLineArguments with the given // argc/argv. It is assumed that the string is already // in the encoding used by this module. CommandLineArguments(int argc, char const* const* argv); // Construct CommandLineArguments with the given // argc and wide argv. This is useful if wmain() is used. CommandLineArguments(int argc, wchar_t const* const* argv); ~CommandLineArguments(); CommandLineArguments(const CommandLineArguments&); CommandLineArguments& operator=(const CommandLineArguments&); int argc() const; char const* const* argv() const; protected: std::vector argv_; }; /** * Convert between char and wchar_t */ #if @KWSYS_NAMESPACE@_STL_HAS_WSTRING // Convert a narrow string to a wide string. // On Windows, UTF-8 is assumed, and on other platforms, // the current locale is assumed. static std::wstring ToWide(const std::string& str); static std::wstring ToWide(const char* str); // Convert a wide string to a narrow string. // On Windows, UTF-8 is assumed, and on other platforms, // the current locale is assumed. static std::string ToNarrow(const std::wstring& str); static std::string ToNarrow(const wchar_t* str); #endif // @KWSYS_NAMESPACE@_STL_HAS_WSTRING }; // class Encoding } // namespace @KWSYS_NAMESPACE@ #endif KWStyle-master/Utilities/KWSys/EncodingC.c000066400000000000000000000040571265471724600207250ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(Encoding.h) /* Work-around CMake dependency scanning limitation. This must duplicate the above list of headers. */ #if 0 # include "Encoding.h.in" #endif #include #ifdef _WIN32 #include #endif size_t kwsysEncoding_mbstowcs(wchar_t* dest, const char* str, size_t n) { if(str == 0) { return (size_t)-1; } #ifdef _WIN32 return MultiByteToWideChar(KWSYS_ENCODING_DEFAULT_CODEPAGE, 0, str, -1, dest, (int)n) - 1; #else return mbstowcs(dest, str, n); #endif } wchar_t* kwsysEncoding_DupToWide(const char* str) { wchar_t* ret = NULL; size_t length = kwsysEncoding_mbstowcs(NULL, str, 0) + 1; if(length > 0) { ret = (wchar_t*)malloc((length)*sizeof(wchar_t)); if(ret) { ret[0] = 0; kwsysEncoding_mbstowcs(ret, str, length); } } return ret; } size_t kwsysEncoding_wcstombs(char* dest, const wchar_t* str, size_t n) { if(str == 0) { return (size_t)-1; } #ifdef _WIN32 return WideCharToMultiByte(KWSYS_ENCODING_DEFAULT_CODEPAGE, 0, str, -1, dest, (int)n, NULL, NULL) - 1; #else return wcstombs(dest, str, n); #endif } char* kwsysEncoding_DupToNarrow(const wchar_t* str) { char* ret = NULL; size_t length = kwsysEncoding_wcstombs(0, str, 0) + 1; if(length > 0) { ret = (char*)malloc(length); if(ret) { ret[0] = 0; kwsysEncoding_wcstombs(ret, str, length); } } return ret; } KWStyle-master/Utilities/KWSys/EncodingCXX.cxx000066400000000000000000000101011265471724600215500ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifdef __osf__ # define _OSF_SOURCE # define _POSIX_C_SOURCE 199506L # define _XOPEN_SOURCE_EXTENDED #endif #include "kwsysPrivate.h" #include KWSYS_HEADER(Encoding.hxx) #include KWSYS_HEADER(Encoding.h) // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "Encoding.hxx.in" # include "Encoding.h.in" #endif #include #include #include #ifdef _MSC_VER # pragma warning (disable: 4786) #endif // Windows API. #if defined(_WIN32) # include #endif namespace KWSYS_NAMESPACE { Encoding::CommandLineArguments Encoding::CommandLineArguments::Main(int argc, char const* const* argv) { #ifdef _WIN32 (void) argc; (void) argv; int ac; LPWSTR* w_av = CommandLineToArgvW(GetCommandLineW(), &ac); std::vector av1(ac); std::vector av2(ac); for(int i=0; iargv_.resize(ac+1); for(int i=0; iargv_[i] = strdup(av[i]); } this->argv_[ac] = 0; } Encoding::CommandLineArguments::CommandLineArguments(int ac, wchar_t const* const* av) { this->argv_.resize(ac+1); for(int i=0; iargv_[i] = kwsysEncoding_DupToNarrow(av[i]); } this->argv_[ac] = 0; } Encoding::CommandLineArguments::~CommandLineArguments() { for(size_t i=0; iargv_.size(); i++) { free(argv_[i]); } } Encoding::CommandLineArguments:: CommandLineArguments(const CommandLineArguments& other) { this->argv_.resize(other.argv_.size()); for(size_t i=0; iargv_.size(); i++) { this->argv_[i] = other.argv_[i] ? strdup(other.argv_[i]) : 0; } } Encoding::CommandLineArguments& Encoding::CommandLineArguments::operator=(const CommandLineArguments& other) { if(this != &other) { size_t i; for(i=0; iargv_.size(); i++) { free(this->argv_[i]); } this->argv_.resize(other.argv_.size()); for(i=0; iargv_.size(); i++) { this->argv_[i] = other.argv_[i] ? strdup(other.argv_[i]) : 0; } } return *this; } int Encoding::CommandLineArguments::argc() const { return static_cast(this->argv_.size() - 1); } char const* const* Encoding::CommandLineArguments::argv() const { return &this->argv_[0]; } #if KWSYS_STL_HAS_WSTRING std::wstring Encoding::ToWide(const std::string& str) { return ToWide(str.c_str()); } std::string Encoding::ToNarrow(const std::wstring& str) { return ToNarrow(str.c_str()); } std::wstring Encoding::ToWide(const char* cstr) { std::wstring wstr; size_t length = kwsysEncoding_mbstowcs(0, cstr, 0) + 1; if(length > 0) { std::vector wchars(length); if(kwsysEncoding_mbstowcs(&wchars[0], cstr, length) > 0) { wstr = &wchars[0]; } } return wstr; } std::string Encoding::ToNarrow(const wchar_t* wcstr) { std::string str; size_t length = kwsysEncoding_wcstombs(0, wcstr, 0) + 1; if(length > 0) { std::vector chars(length); if(kwsysEncoding_wcstombs(&chars[0], wcstr, length) > 0) { str = &chars[0]; } } return str; } #endif // KWSYS_STL_HAS_WSTRING } // namespace KWSYS_NAMESPACE KWStyle-master/Utilities/KWSys/ExtraTest.cmake.in000066400000000000000000000001531265471724600222530ustar00rootroot00000000000000MESSAGE("*** This message is generated by message inside a file that is included in DartTestfile.txt ***") KWStyle-master/Utilities/KWSys/FStream.cxx000066400000000000000000000035331265471724600210130ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(FStream.hxx) // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "FStream.hxx.in" #endif namespace KWSYS_NAMESPACE { namespace FStream { BOM ReadBOM(std::istream& in) { if(!in.good()) { return BOM_None; } unsigned long orig = in.tellg(); unsigned char bom[4]; in.read(reinterpret_cast(bom), 2); if(!in.good()) { in.seekg(orig); return BOM_None; } if(bom[0] == 0xEF && bom[1] == 0xBB) { in.read(reinterpret_cast(bom+2), 1); if(in.good() && bom[2] == 0xBF) { return BOM_UTF8; } } else if(bom[0] == 0xFE && bom[1] == 0xFF) { return BOM_UTF16BE; } else if(bom[0] == 0x00 && bom[1] == 0x00) { in.read(reinterpret_cast(bom+2), 2); if(in.good() && bom[2] == 0xFE && bom[3] == 0xFF) { return BOM_UTF32BE; } } else if(bom[0] == 0xFF && bom[1] == 0xFE) { unsigned long p = in.tellg(); in.read(reinterpret_cast(bom+2), 2); if(in.good() && bom[2] == 0x00 && bom[3] == 0x00) { return BOM_UTF32LE; } in.seekg(p); return BOM_UTF16LE; } in.seekg(orig); return BOM_None; } } // FStream namespace } //KWSYS_NAMESPACE KWStyle-master/Utilities/KWSys/FStream.hxx.in000066400000000000000000000114521265471724600214240ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_FStream_hxx #define @KWSYS_NAMESPACE@_FStream_hxx #include <@KWSYS_NAMESPACE@/Encoding.hxx> #include namespace @KWSYS_NAMESPACE@ { #if defined(_MSC_VER) && _MSC_VER >= 1400 # if defined(_NOEXCEPT) # define @KWSYS_NAMESPACE@_FStream_NOEXCEPT _NOEXCEPT # else # define @KWSYS_NAMESPACE@_FStream_NOEXCEPT # endif template class basic_filebuf : public std::basic_filebuf { public: typedef std::basic_filebuf my_base_type; basic_filebuf *open(char const *s,std::ios_base::openmode mode) { return static_cast( my_base_type::open(Encoding::ToWide(s).c_str(), mode) ); } }; template > class basic_ifstream : public std::basic_istream { public: typedef basic_filebuf internal_buffer_type; typedef std::basic_istream internal_stream_type; basic_ifstream() : internal_stream_type(new internal_buffer_type()) { buf_ = static_cast(internal_stream_type::rdbuf()); } explicit basic_ifstream(char const *file_name, std::ios_base::openmode mode = std::ios_base::in) : internal_stream_type(new internal_buffer_type()) { buf_ = static_cast(internal_stream_type::rdbuf()); open(file_name,mode); } void open(char const *file_name,std::ios_base::openmode mode = std::ios_base::in) { if(!buf_->open(file_name,mode | std::ios_base::in)) { this->setstate(std::ios_base::failbit); } else { this->clear(); } } bool is_open() { return buf_->is_open(); } bool is_open() const { return buf_->is_open(); } void close() { if(!buf_->close()) { this->setstate(std::ios_base::failbit); } else { this->clear(); } } internal_buffer_type *rdbuf() const { return buf_; } ~basic_ifstream() @KWSYS_NAMESPACE@_FStream_NOEXCEPT { buf_->close(); delete buf_; } private: internal_buffer_type* buf_; }; template > class basic_ofstream : public std::basic_ostream { public: typedef basic_filebuf internal_buffer_type; typedef std::basic_ostream internal_stream_type; basic_ofstream() : internal_stream_type(new internal_buffer_type()) { buf_ = static_cast(internal_stream_type::rdbuf()); } explicit basic_ofstream(char const *file_name,std::ios_base::openmode mode = std::ios_base::out) : internal_stream_type(new internal_buffer_type()) { buf_ = static_cast(internal_stream_type::rdbuf()); open(file_name,mode); } void open(char const *file_name,std::ios_base::openmode mode = std::ios_base::out) { if(!buf_->open(file_name,mode | std::ios_base::out)) { this->setstate(std::ios_base::failbit); } else { this->clear(); } } bool is_open() { return buf_->is_open(); } bool is_open() const { return buf_->is_open(); } void close() { if(!buf_->close()) { this->setstate(std::ios_base::failbit); } else { this->clear(); } } internal_buffer_type *rdbuf() const { return buf_.get(); } ~basic_ofstream() @KWSYS_NAMESPACE@_FStream_NOEXCEPT { buf_->close(); delete buf_; } private: internal_buffer_type* buf_; }; typedef basic_ifstream ifstream; typedef basic_ofstream ofstream; # undef @KWSYS_NAMESPACE@_FStream_NOEXCEPT #else using std::ofstream; using std::ifstream; #endif namespace FStream { enum BOM { BOM_None, BOM_UTF8, BOM_UTF16BE, BOM_UTF16LE, BOM_UTF32BE, BOM_UTF32LE }; // Read a BOM, if one exists. // If a BOM exists, the stream is advanced to after the BOM. // This function requires a seekable stream (but not a relative // seekable stream). BOM ReadBOM(std::istream& in); } } #endif KWStyle-master/Utilities/KWSys/FundamentalType.h.in000066400000000000000000000133411265471724600226020ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_FundamentalType_h #define @KWSYS_NAMESPACE@_FundamentalType_h #include <@KWSYS_NAMESPACE@/Configure.h> /* Redefine all public interface symbol names to be in the proper namespace. These macros are used internally to kwsys only, and are not visible to user code. Use kwsysHeaderDump.pl to reproduce these macros after making changes to the interface. */ #if !defined(KWSYS_NAMESPACE) # define kwsys_ns(x) @KWSYS_NAMESPACE@##x # define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT #endif #if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # define kwsysFundamentalType kwsys_ns(FundamentalType) # define kwsysFundamentalType_Int8 kwsys_ns(FundamentalType_Int8) # define kwsysFundamentalType_UInt8 kwsys_ns(FundamentalType_UInt8) # define kwsysFundamentalType_Int16 kwsys_ns(FundamentalType_Int16) # define kwsysFundamentalType_UInt16 kwsys_ns(FundamentalType_UInt16) # define kwsysFundamentalType_Int32 kwsys_ns(FundamentalType_Int32) # define kwsysFundamentalType_UInt32 kwsys_ns(FundamentalType_UInt32) # define kwsysFundamentalType_Int64 kwsys_ns(FundamentalType_Int64) # define kwsysFundamentalType_UInt64 kwsys_ns(FundamentalType_UInt64) #endif /* The size of fundamental types. Types that do not exist have size 0. */ @KWSYS_C_CODE_SIZEOF_CHAR@ @KWSYS_C_CODE_SIZEOF_SHORT@ @KWSYS_C_CODE_SIZEOF_INT@ @KWSYS_C_CODE_SIZEOF_LONG@ @KWSYS_C_CODE_SIZEOF_LONG_LONG@ @KWSYS_C_CODE_SIZEOF___INT64@ /* Whether types "long long" and "__int64" are enabled. If a type is enabled then it is a unique fundamental type. */ #define @KWSYS_NAMESPACE@_USE_LONG_LONG @KWSYS_USE_LONG_LONG@ #define @KWSYS_NAMESPACE@_USE___INT64 @KWSYS_USE___INT64@ /* Whether type "char" is signed (it may be signed or unsigned). */ #define @KWSYS_NAMESPACE@_CHAR_IS_SIGNED @KWSYS_CHAR_IS_SIGNED@ #if defined(__cplusplus) extern "C" { #endif /* Select an 8-bit integer type. */ #if @KWSYS_NAMESPACE@_SIZEOF_CHAR == 1 typedef signed char kwsysFundamentalType_Int8; typedef unsigned char kwsysFundamentalType_UInt8; #else # error "No native data type can represent an 8-bit integer." #endif /* Select a 16-bit integer type. */ #if @KWSYS_NAMESPACE@_SIZEOF_SHORT == 2 typedef short kwsysFundamentalType_Int16; typedef unsigned short kwsysFundamentalType_UInt16; #elif @KWSYS_NAMESPACE@_SIZEOF_INT == 2 typedef int kwsysFundamentalType_Int16; typedef unsigned int kwsysFundamentalType_UInt16; #else # error "No native data type can represent a 16-bit integer." #endif /* Select a 32-bit integer type. */ #if @KWSYS_NAMESPACE@_SIZEOF_INT == 4 typedef int kwsysFundamentalType_Int32; typedef unsigned int kwsysFundamentalType_UInt32; #elif @KWSYS_NAMESPACE@_SIZEOF_LONG == 4 typedef long kwsysFundamentalType_Int32; typedef unsigned long kwsysFundamentalType_UInt32; #else # error "No native data type can represent a 32-bit integer." #endif /* Select a 64-bit integer type. */ #if @KWSYS_NAMESPACE@_SIZEOF_LONG == 8 typedef signed long kwsysFundamentalType_Int64; typedef unsigned long kwsysFundamentalType_UInt64; /* Whether UInt64 can be converted to double. */ # define @KWSYS_NAMESPACE@_CAN_CONVERT_UI64_TO_DOUBLE 1 #elif @KWSYS_NAMESPACE@_USE_LONG_LONG && @KWSYS_NAMESPACE@_SIZEOF_LONG_LONG == 8 typedef signed long long kwsysFundamentalType_Int64; typedef unsigned long long kwsysFundamentalType_UInt64; /* Whether UInt64 can be converted to double. */ # define @KWSYS_NAMESPACE@_CAN_CONVERT_UI64_TO_DOUBLE 1 #elif @KWSYS_NAMESPACE@_USE___INT64 && @KWSYS_NAMESPACE@_SIZEOF___INT64 == 8 typedef signed __int64 kwsysFundamentalType_Int64; typedef unsigned __int64 kwsysFundamentalType_UInt64; /* Whether UInt64 can be converted to double. */ # define @KWSYS_NAMESPACE@_CAN_CONVERT_UI64_TO_DOUBLE @KWSYS_CAN_CONVERT_UI64_TO_DOUBLE@ #else # error "No native data type can represent a 64-bit integer." #endif #if defined(__cplusplus) } /* extern "C" */ #endif /* If we are building a kwsys .c or .cxx file, let it use these macros. Otherwise, undefine them to keep the namespace clean. */ #if !defined(KWSYS_NAMESPACE) # undef kwsys_ns # undef kwsysEXPORT # if !defined(KWSYS_NAMESPACE) && !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # undef kwsysFundamentalType # undef kwsysFundamentalType_Int8 # undef kwsysFundamentalType_UInt8 # undef kwsysFundamentalType_Int16 # undef kwsysFundamentalType_UInt16 # undef kwsysFundamentalType_Int32 # undef kwsysFundamentalType_UInt32 # undef kwsysFundamentalType_Int64 # undef kwsysFundamentalType_UInt64 # endif #endif /* If building a C or C++ file in kwsys itself, give the source file access to the configured macros without a configured namespace. */ #if defined(KWSYS_NAMESPACE) # define KWSYS_SIZEOF_CHAR @KWSYS_NAMESPACE@_SIZEOF_CHAR # define KWSYS_SIZEOF_SHORT @KWSYS_NAMESPACE@_SIZEOF_SHORT # define KWSYS_SIZEOF_INT @KWSYS_NAMESPACE@_SIZEOF_INT # define KWSYS_SIZEOF_LONG @KWSYS_NAMESPACE@_SIZEOF_LONG # define KWSYS_SIZEOF_LONG_LONG @KWSYS_NAMESPACE@_SIZEOF_LONG_LONG # define KWSYS_SIZEOF___INT64 @KWSYS_NAMESPACE@_SIZEOF___INT64 # define KWSYS_USE_LONG_LONG @KWSYS_NAMESPACE@_USE_LONG_LONG # define KWSYS_USE___INT64 @KWSYS_NAMESPACE@_USE___INT64 # define KWSYS_CHAR_IS_SIGNED @KWSYS_NAMESPACE@_CHAR_IS_SIGNED # define KWSYS_CAN_CONVERT_UI64_TO_DOUBLE @KWSYS_NAMESPACE@_CAN_CONVERT_UI64_TO_DOUBLE #endif #endif KWStyle-master/Utilities/KWSys/Glob.cxx000066400000000000000000000345411265471724600203400ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(Glob.hxx) #include KWSYS_HEADER(Configure.hxx) #include KWSYS_HEADER(RegularExpression.hxx) #include KWSYS_HEADER(SystemTools.hxx) #include KWSYS_HEADER(Directory.hxx) // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "Glob.hxx.in" # include "Directory.hxx.in" # include "Configure.hxx.in" # include "RegularExpression.hxx.in" # include "SystemTools.hxx.in" #endif #include #include #include #include #include #include namespace KWSYS_NAMESPACE { #if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__) // On Windows and apple, no difference between lower and upper case # define KWSYS_GLOB_CASE_INDEPENDENT #endif #if defined(_WIN32) || defined(__CYGWIN__) // Handle network paths # define KWSYS_GLOB_SUPPORT_NETWORK_PATHS #endif //---------------------------------------------------------------------------- class GlobInternals { public: std::vector Files; std::vector Expressions; }; //---------------------------------------------------------------------------- Glob::Glob() { this->Internals = new GlobInternals; this->Recurse = false; this->Relative = ""; this->RecurseThroughSymlinks = true; // RecurseThroughSymlinks is true by default for backwards compatibility, // not because it's a good idea... this->FollowedSymlinkCount = 0; // Keep separate variables for directory listing for back compatibility this->ListDirs = true; this->RecurseListDirs = false; } //---------------------------------------------------------------------------- Glob::~Glob() { delete this->Internals; } //---------------------------------------------------------------------------- std::vector& Glob::GetFiles() { return this->Internals->Files; } //---------------------------------------------------------------------------- std::string Glob::PatternToRegex(const std::string& pattern, bool require_whole_string, bool preserve_case) { // Incrementally build the regular expression from the pattern. std::string regex = require_whole_string? "^" : ""; std::string::const_iterator pattern_first = pattern.begin(); std::string::const_iterator pattern_last = pattern.end(); for(std::string::const_iterator i = pattern_first; i != pattern_last; ++i) { int c = *i; if(c == '*') { // A '*' (not between brackets) matches any string. // We modify this to not match slashes since the orignal glob // pattern documentation was meant for matching file name // components separated by slashes. regex += "[^/]*"; } else if(c == '?') { // A '?' (not between brackets) matches any single character. // We modify this to not match slashes since the orignal glob // pattern documentation was meant for matching file name // components separated by slashes. regex += "[^/]"; } else if(c == '[') { // Parse out the bracket expression. It begins just after the // opening character. std::string::const_iterator bracket_first = i+1; std::string::const_iterator bracket_last = bracket_first; // The first character may be complementation '!' or '^'. if(bracket_last != pattern_last && (*bracket_last == '!' || *bracket_last == '^')) { ++bracket_last; } // If the next character is a ']' it is included in the brackets // because the bracket string may not be empty. if(bracket_last != pattern_last && *bracket_last == ']') { ++bracket_last; } // Search for the closing ']'. while(bracket_last != pattern_last && *bracket_last != ']') { ++bracket_last; } // Check whether we have a complete bracket string. if(bracket_last == pattern_last) { // The bracket string did not end, so it was opened simply by // a '[' that is supposed to be matched literally. regex += "\\["; } else { // Convert the bracket string to its regex equivalent. std::string::const_iterator k = bracket_first; // Open the regex block. regex += "["; // A regex range complement uses '^' instead of '!'. if(k != bracket_last && *k == '!') { regex += "^"; ++k; } // Convert the remaining characters. for(; k != bracket_last; ++k) { // Backslashes must be escaped. if(*k == '\\') { regex += "\\"; } // Store this character. regex += *k; } // Close the regex block. regex += "]"; // Jump to the end of the bracket string. i = bracket_last; } } else { // A single character matches itself. int ch = c; if(!(('a' <= ch && ch <= 'z') || ('A' <= ch && ch <= 'Z') || ('0' <= ch && ch <= '9'))) { // Escape the non-alphanumeric character. regex += "\\"; } #if defined(KWSYS_GLOB_CASE_INDEPENDENT) else { // On case-insensitive systems file names are converted to lower // case before matching. if(!preserve_case) { ch = tolower(ch); } } #endif (void)preserve_case; // Store the character. regex.append(1, static_cast(ch)); } } if(require_whole_string) { regex += "$"; } return regex; } //---------------------------------------------------------------------------- bool Glob::RecurseDirectory(std::string::size_type start, const std::string& dir, GlobMessages* messages) { kwsys::Directory d; if ( !d.Load(dir) ) { return true; } unsigned long cc; std::string realname; std::string fname; for ( cc = 0; cc < d.GetNumberOfFiles(); cc ++ ) { fname = d.GetFile(cc); if ( fname == "." || fname == ".." ) { continue; } if ( start == 0 ) { realname = dir + fname; } else { realname = dir + "/" + fname; } #if defined( KWSYS_GLOB_CASE_INDEPENDENT ) // On Windows and apple, no difference between lower and upper case fname = kwsys::SystemTools::LowerCase(fname); #endif bool isDir = kwsys::SystemTools::FileIsDirectory(realname); bool isSymLink = kwsys::SystemTools::FileIsSymlink(realname); if ( isDir && (!isSymLink || this->RecurseThroughSymlinks) ) { if (isSymLink) { ++this->FollowedSymlinkCount; std::string realPathErrorMessage; std::string canonicalPath(SystemTools::GetRealPath(dir, &realPathErrorMessage)); if(!realPathErrorMessage.empty()) { if(messages) { messages->push_back(Message( Glob::error, "Canonical path generation from path '" + dir + "' failed! Reason: '" + realPathErrorMessage + "'")); } return false; } if(std::find(this->VisitedSymlinks.begin(), this->VisitedSymlinks.end(), canonicalPath) == this->VisitedSymlinks.end()) { if(this->RecurseListDirs) { // symlinks are treated as directories this->AddFile(this->Internals->Files, realname); } this->VisitedSymlinks.push_back(canonicalPath); if(!this->RecurseDirectory(start+1, realname, messages)) { this->VisitedSymlinks.pop_back(); return false; } this->VisitedSymlinks.pop_back(); } // else we have already visited this symlink - prevent cyclic recursion else if(messages) { std::string message; for(std::vector::const_iterator pathIt = std::find(this->VisitedSymlinks.begin(), this->VisitedSymlinks.end(), canonicalPath); pathIt != this->VisitedSymlinks.end(); ++pathIt) { message += *pathIt + "\n"; } message += canonicalPath + "/" + fname; messages->push_back(Message(Glob::cyclicRecursion, message)); } } else { if(this->RecurseListDirs) { this->AddFile(this->Internals->Files, realname); } if(!this->RecurseDirectory(start+1, realname, messages)) { return false; } } } else { if ( !this->Internals->Expressions.empty() && this->Internals->Expressions.rbegin()->find(fname) ) { this->AddFile(this->Internals->Files, realname); } } } return true; } //---------------------------------------------------------------------------- void Glob::ProcessDirectory(std::string::size_type start, const std::string& dir, GlobMessages* messages) { //std::cout << "ProcessDirectory: " << dir << std::endl; bool last = ( start == this->Internals->Expressions.size()-1 ); if ( last && this->Recurse ) { this->RecurseDirectory(start, dir, messages); return; } if ( start >= this->Internals->Expressions.size() ) { return; } kwsys::Directory d; if ( !d.Load(dir) ) { return; } unsigned long cc; std::string realname; std::string fname; for ( cc = 0; cc < d.GetNumberOfFiles(); cc ++ ) { fname = d.GetFile(cc); if ( fname == "." || fname == ".." ) { continue; } if ( start == 0 ) { realname = dir + fname; } else { realname = dir + "/" + fname; } #if defined(KWSYS_GLOB_CASE_INDEPENDENT) // On case-insensitive file systems convert to lower case for matching. fname = kwsys::SystemTools::LowerCase(fname); #endif //std::cout << "Look at file: " << fname << std::endl; //std::cout << "Match: " // << this->Internals->TextExpressions[start].c_str() << std::endl; //std::cout << "Real name: " << realname << std::endl; if( (!last && !kwsys::SystemTools::FileIsDirectory(realname)) || (!this->ListDirs && last && kwsys::SystemTools::FileIsDirectory(realname)) ) { continue; } if ( this->Internals->Expressions[start].find(fname) ) { if ( last ) { this->AddFile(this->Internals->Files, realname); } else { this->ProcessDirectory(start+1, realname, messages); } } } } //---------------------------------------------------------------------------- bool Glob::FindFiles(const std::string& inexpr, GlobMessages* messages) { std::string cexpr; std::string::size_type cc; std::string expr = inexpr; this->Internals->Expressions.clear(); this->Internals->Files.clear(); if ( !kwsys::SystemTools::FileIsFullPath(expr) ) { expr = kwsys::SystemTools::GetCurrentWorkingDirectory(); expr += "/" + inexpr; } std::string fexpr = expr; std::string::size_type skip = 0; std::string::size_type last_slash = 0; for ( cc = 0; cc < expr.size(); cc ++ ) { if ( cc > 0 && expr[cc] == '/' && expr[cc-1] != '\\' ) { last_slash = cc; } if ( cc > 0 && (expr[cc] == '[' || expr[cc] == '?' || expr[cc] == '*') && expr[cc-1] != '\\' ) { break; } } if ( last_slash > 0 ) { //std::cout << "I can skip: " << fexpr.substr(0, last_slash) // << std::endl; skip = last_slash; } if ( skip == 0 ) { #if defined( KWSYS_GLOB_SUPPORT_NETWORK_PATHS ) // Handle network paths if ( expr[0] == '/' && expr[1] == '/' ) { int cnt = 0; for ( cc = 2; cc < expr.size(); cc ++ ) { if ( expr[cc] == '/' ) { cnt ++; if ( cnt == 2 ) { break; } } } skip = int(cc + 1); } else #endif // Handle drive letters on Windows if ( expr[1] == ':' && expr[0] != '/' ) { skip = 2; } } if ( skip > 0 ) { expr = expr.substr(skip); } cexpr = ""; for ( cc = 0; cc < expr.size(); cc ++ ) { int ch = expr[cc]; if ( ch == '/' ) { if ( !cexpr.empty() ) { this->AddExpression(cexpr); } cexpr = ""; } else { cexpr.append(1, static_cast(ch)); } } if ( !cexpr.empty() ) { this->AddExpression(cexpr); } // Handle network paths if ( skip > 0 ) { this->ProcessDirectory(0, fexpr.substr(0, skip) + "/", messages); } else { this->ProcessDirectory(0, "/", messages); } return true; } //---------------------------------------------------------------------------- void Glob::AddExpression(const std::string& expr) { this->Internals->Expressions.push_back( kwsys::RegularExpression( this->PatternToRegex(expr))); } //---------------------------------------------------------------------------- void Glob::SetRelative(const char* dir) { if ( !dir ) { this->Relative = ""; return; } this->Relative = dir; } //---------------------------------------------------------------------------- const char* Glob::GetRelative() { if ( this->Relative.empty() ) { return 0; } return this->Relative.c_str(); } //---------------------------------------------------------------------------- void Glob::AddFile(std::vector& files, const std::string& file) { if ( !this->Relative.empty() ) { files.push_back(kwsys::SystemTools::RelativePath(this->Relative, file)); } else { files.push_back(file); } } } // namespace KWSYS_NAMESPACE KWStyle-master/Utilities/KWSys/Glob.hxx.in000066400000000000000000000115021265471724600207420ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_Glob_hxx #define @KWSYS_NAMESPACE@_Glob_hxx #include <@KWSYS_NAMESPACE@/Configure.h> #include <@KWSYS_NAMESPACE@/Configure.hxx> #include #include namespace @KWSYS_NAMESPACE@ { class GlobInternals; /** \class Glob * \brief Portable globbing searches. * * Globbing expressions are much simpler than regular * expressions. This class will search for files using * globbing expressions. * * Finds all files that match a given globbing expression. */ class @KWSYS_NAMESPACE@_EXPORT Glob { public: enum MessageType { error, cyclicRecursion }; struct Message { MessageType type; std::string content; Message(MessageType t, const std::string& c) : type(t), content(c) {} Message(const Message& msg) : type(msg.type), content(msg.content) {} Message& operator=(Message const& msg) { this->type = msg.type; this->content = msg.content; return *this; } }; typedef std::vector GlobMessages; typedef std::vector::iterator GlobMessagesIterator; public: Glob(); ~Glob(); //! Find all files that match the pattern. bool FindFiles(const std::string& inexpr, GlobMessages* messages = 0); //! Return the list of files that matched. std::vector& GetFiles(); //! Set recurse to true to match subdirectories. void RecurseOn() { this->SetRecurse(true); } void RecurseOff() { this->SetRecurse(false); } void SetRecurse(bool i) { this->Recurse = i; } bool GetRecurse() { return this->Recurse; } //! Set recurse through symlinks to true if recursion should traverse the // linked-to directories void RecurseThroughSymlinksOn() { this->SetRecurseThroughSymlinks(true); } void RecurseThroughSymlinksOff() { this->SetRecurseThroughSymlinks(false); } void SetRecurseThroughSymlinks(bool i) { this->RecurseThroughSymlinks = i; } bool GetRecurseThroughSymlinks() { return this->RecurseThroughSymlinks; } //! Get the number of symlinks followed through recursion unsigned int GetFollowedSymlinkCount() { return this->FollowedSymlinkCount; } //! Set relative to true to only show relative path to files. void SetRelative(const char* dir); const char* GetRelative(); /** Convert the given globbing pattern to a regular expression. There is no way to quote meta-characters. The require_whole_string argument specifies whether the regex is automatically surrounded by "^" and "$" to match the whole string. This is on by default because patterns always match whole strings, but may be disabled to support concatenating expressions more easily (regex1|regex2|etc). */ static std::string PatternToRegex(const std::string& pattern, bool require_whole_string = true, bool preserve_case = false); /** Getters and setters for enabling and disabling directory listing in recursive and non recursive globbing mode. If listing is enabled in recursive mode it also lists directory symbolic links even if follow symlinks is enabled. */ void SetListDirs(bool list) { this->ListDirs=list; } bool GetListDirs() const { return this->ListDirs; } void SetRecurseListDirs(bool list) { this->RecurseListDirs=list; } bool GetRecurseListDirs() const { return this->RecurseListDirs; } protected: //! Process directory void ProcessDirectory(std::string::size_type start, const std::string& dir, GlobMessages* messages); //! Process last directory, but only when recurse flags is on. That is // effectively like saying: /path/to/file/**/file bool RecurseDirectory(std::string::size_type start, const std::string& dir, GlobMessages* messages); //! Add regular expression void AddExpression(const std::string& expr); //! Add a file to the list void AddFile(std::vector& files, const std::string& file); GlobInternals* Internals; bool Recurse; std::string Relative; bool RecurseThroughSymlinks; unsigned int FollowedSymlinkCount; std::vector VisitedSymlinks; bool ListDirs; bool RecurseListDirs; private: Glob(const Glob&); // Not implemented. void operator=(const Glob&); // Not implemented. }; } // namespace @KWSYS_NAMESPACE@ #endif KWStyle-master/Utilities/KWSys/IOStream.cxx000066400000000000000000000146171265471724600211420ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(Configure.hxx) // Include the streams library. #include #include KWSYS_HEADER(IOStream.hxx) // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "Configure.hxx.in" # include "IOStream.hxx.in" #endif // Implement the rest of this file only if it is needed. #if KWSYS_IOS_NEED_OPERATORS_LL # include // sscanf, sprintf # include // memchr # if defined(_MAX_INT_DIG) # define KWSYS_IOS_INT64_MAX_DIG _MAX_INT_DIG # else # define KWSYS_IOS_INT64_MAX_DIG 32 # endif namespace KWSYS_NAMESPACE { // Scan an input stream for an integer value. static int IOStreamScanStream(std::istream& is, char* buffer) { // Prepare to write to buffer. char* out = buffer; char* end = buffer + KWSYS_IOS_INT64_MAX_DIG - 1; // Look for leading sign. if(is.peek() == '+') { *out++ = '+'; is.ignore(); } else if(is.peek() == '-') { *out++ = '-'; is.ignore(); } // Determine the base. If not specified in the stream, try to // detect it from the input. A leading 0x means hex, and a leading // 0 alone means octal. int base = 0; int flags = is.flags() & std::ios_base::basefield; if(flags == std::ios_base::oct) { base = 8; } else if(flags == std::ios_base::dec) { base = 10; } else if(flags == std::ios_base::hex) { base = 16; } bool foundDigit = false; bool foundNonZero = false; if(is.peek() == '0') { foundDigit = true; is.ignore(); if((is.peek() == 'x' || is.peek() == 'X') && (base == 0 || base == 16)) { base = 16; foundDigit = false; is.ignore(); } else if (base == 0) { base = 8; } } // Determine the range of digits allowed for this number. const char* digits = "0123456789abcdefABCDEF"; int maxDigitIndex = 10; if(base == 8) { maxDigitIndex = 8; } else if(base == 16) { maxDigitIndex = 10+6+6; } // Scan until an invalid digit is found. for(;is.peek() != EOF; is.ignore()) { if(memchr(digits, *out = (char)is.peek(), maxDigitIndex) != 0) { if((foundNonZero || *out != '0') && out < end) { ++out; foundNonZero = true; } foundDigit = true; } else { break; } } // Correct the buffer contents for degenerate cases. if(foundDigit && !foundNonZero) { *out++ = '0'; } else if (!foundDigit) { out = buffer; } // Terminate the string in the buffer. *out = '\0'; return base; } // Read an integer value from an input stream. template std::istream& IOStreamScanTemplate(std::istream& is, T& value, char type) { int state = std::ios_base::goodbit; // Skip leading whitespace. std::istream::sentry okay(is); if(okay) { try { // Copy the string to a buffer and construct the format string. char buffer[KWSYS_IOS_INT64_MAX_DIG]; # if defined(_MSC_VER) char format[] = "%I64_"; const int typeIndex = 4; # else char format[] = "%ll_"; const int typeIndex = 3; # endif switch(IOStreamScanStream(is, buffer)) { case 8: format[typeIndex] = 'o'; break; case 0: // Default to decimal if not told otherwise. case 10: format[typeIndex] = type; break; case 16: format[typeIndex] = 'x'; break; }; // Use sscanf to parse the number from the buffer. T result; int success = (sscanf(buffer, format, &result) == 1)?1:0; // Set flags for resulting state. if(is.peek() == EOF) { state |= std::ios_base::eofbit; } if(!success) { state |= std::ios_base::failbit; } else { value = result; } } catch(...) { state |= std::ios_base::badbit; } } is.setstate(std::ios_base::iostate(state)); return is; } // Print an integer value to an output stream. template std::ostream& IOStreamPrintTemplate(std::ostream& os, T value, char type) { std::ostream::sentry okay(os); if(okay) { try { // Construct the format string. char format[8]; char* f = format; *f++ = '%'; if(os.flags() & std::ios_base::showpos) { *f++ = '+'; } if(os.flags() & std::ios_base::showbase) { *f++ = '#'; } # if defined(_MSC_VER) *f++ = 'I'; *f++ = '6'; *f++ = '4'; # else *f++ = 'l'; *f++ = 'l'; # endif long bflags = os.flags() & std::ios_base::basefield; if(bflags == std::ios_base::oct) { *f++ = 'o'; } else if(bflags != std::ios_base::hex) { *f++ = type; } else if(os.flags() & std::ios_base::uppercase) { *f++ = 'X'; } else { *f++ = 'x'; } *f = '\0'; // Use sprintf to print to a buffer and then write the // buffer to the stream. char buffer[2*KWSYS_IOS_INT64_MAX_DIG]; sprintf(buffer, format, value); os << buffer; } catch(...) { os.clear(os.rdstate() | std::ios_base::badbit); } } return os; } # if !KWSYS_IOS_HAS_ISTREAM_LONG_LONG // Implement input stream operator for IOStreamSLL. std::istream& IOStreamScan(std::istream& is, IOStreamSLL& value) { return IOStreamScanTemplate(is, value, 'd'); } // Implement input stream operator for IOStreamULL. std::istream& IOStreamScan(std::istream& is, IOStreamULL& value) { return IOStreamScanTemplate(is, value, 'u'); } # endif # if !KWSYS_IOS_HAS_OSTREAM_LONG_LONG // Implement output stream operator for IOStreamSLL. std::ostream& IOStreamPrint(std::ostream& os, IOStreamSLL value) { return IOStreamPrintTemplate(os, value, 'd'); } // Implement output stream operator for IOStreamULL. std::ostream& IOStreamPrint(std::ostream& os, IOStreamULL value) { return IOStreamPrintTemplate(os, value, 'u'); } # endif } // namespace KWSYS_NAMESPACE #else namespace KWSYS_NAMESPACE { // Create one public symbol in this object file to avoid warnings from // archivers. void IOStreamSymbolToAvoidWarning(); void IOStreamSymbolToAvoidWarning() { } } // namespace KWSYS_NAMESPACE #endif // KWSYS_IOS_NEED_OPERATORS_LL KWStyle-master/Utilities/KWSys/IOStream.hxx.in000066400000000000000000000115461265471724600215520ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_IOStream_hxx #define @KWSYS_NAMESPACE@_IOStream_hxx #include /* Define these macros temporarily to keep the code readable. */ #if !defined (KWSYS_NAMESPACE) && !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT #endif /* Whether istream supports long long. */ #define @KWSYS_NAMESPACE@_IOS_HAS_ISTREAM_LONG_LONG @KWSYS_IOS_HAS_ISTREAM_LONG_LONG@ /* Whether ostream supports long long. */ #define @KWSYS_NAMESPACE@_IOS_HAS_OSTREAM_LONG_LONG @KWSYS_IOS_HAS_OSTREAM_LONG_LONG@ /* Determine whether we need to define the streaming operators for long long or __int64. */ #if @KWSYS_USE_LONG_LONG@ # if !@KWSYS_NAMESPACE@_IOS_HAS_ISTREAM_LONG_LONG || \ !@KWSYS_NAMESPACE@_IOS_HAS_OSTREAM_LONG_LONG # define @KWSYS_NAMESPACE@_IOS_NEED_OPERATORS_LL 1 namespace @KWSYS_NAMESPACE@ { typedef long long IOStreamSLL; typedef unsigned long long IOStreamULL; } # endif #elif defined(_MSC_VER) && _MSC_VER < 1300 # define @KWSYS_NAMESPACE@_IOS_NEED_OPERATORS_LL 1 namespace @KWSYS_NAMESPACE@ { typedef __int64 IOStreamSLL; typedef unsigned __int64 IOStreamULL; } #endif #if !defined(@KWSYS_NAMESPACE@_IOS_NEED_OPERATORS_LL) # define @KWSYS_NAMESPACE@_IOS_NEED_OPERATORS_LL 0 #endif #if @KWSYS_NAMESPACE@_IOS_NEED_OPERATORS_LL # if !@KWSYS_NAMESPACE@_IOS_HAS_ISTREAM_LONG_LONG /* Input stream operator implementation functions. */ namespace @KWSYS_NAMESPACE@ { kwsysEXPORT std::istream& IOStreamScan(std::istream&, IOStreamSLL&); kwsysEXPORT std::istream& IOStreamScan(std::istream&, IOStreamULL&); } /* Provide input stream operator for long long. */ # if !defined(@KWSYS_NAMESPACE@_IOS_NO_ISTREAM_LONG_LONG) && \ !defined(KWSYS_IOS_ISTREAM_LONG_LONG_DEFINED) # define KWSYS_IOS_ISTREAM_LONG_LONG_DEFINED # define @KWSYS_NAMESPACE@_IOS_ISTREAM_LONG_LONG_DEFINED inline std::istream& operator>>(std::istream& is, @KWSYS_NAMESPACE@::IOStreamSLL& value) { return @KWSYS_NAMESPACE@::IOStreamScan(is, value); } # endif /* Provide input stream operator for unsigned long long. */ # if !defined(@KWSYS_NAMESPACE@_IOS_NO_ISTREAM_UNSIGNED_LONG_LONG) && \ !defined(KWSYS_IOS_ISTREAM_UNSIGNED_LONG_LONG_DEFINED) # define KWSYS_IOS_ISTREAM_UNSIGNED_LONG_LONG_DEFINED # define @KWSYS_NAMESPACE@_IOS_ISTREAM_UNSIGNED_LONG_LONG_DEFINED inline std::istream& operator>>(std::istream& is, @KWSYS_NAMESPACE@::IOStreamULL& value) { return @KWSYS_NAMESPACE@::IOStreamScan(is, value); } # endif # endif /* !@KWSYS_NAMESPACE@_IOS_HAS_ISTREAM_LONG_LONG */ # if !@KWSYS_NAMESPACE@_IOS_HAS_OSTREAM_LONG_LONG /* Output stream operator implementation functions. */ namespace @KWSYS_NAMESPACE@ { kwsysEXPORT std::ostream& IOStreamPrint(std::ostream&, IOStreamSLL); kwsysEXPORT std::ostream& IOStreamPrint(std::ostream&, IOStreamULL); } /* Provide output stream operator for long long. */ # if !defined(@KWSYS_NAMESPACE@_IOS_NO_OSTREAM_LONG_LONG) && \ !defined(KWSYS_IOS_OSTREAM_LONG_LONG_DEFINED) # define KWSYS_IOS_OSTREAM_LONG_LONG_DEFINED # define @KWSYS_NAMESPACE@_IOS_OSTREAM_LONG_LONG_DEFINED inline std::ostream& operator<<(std::ostream& os, @KWSYS_NAMESPACE@::IOStreamSLL value) { return @KWSYS_NAMESPACE@::IOStreamPrint(os, value); } # endif /* Provide output stream operator for unsigned long long. */ # if !defined(@KWSYS_NAMESPACE@_IOS_NO_OSTREAM_UNSIGNED_LONG_LONG) && \ !defined(KWSYS_IOS_OSTREAM_UNSIGNED_LONG_LONG_DEFINED) # define KWSYS_IOS_OSTREAM_UNSIGNED_LONG_LONG_DEFINED # define @KWSYS_NAMESPACE@_IOS_OSTREAM_UNSIGNED_LONG_LONG_DEFINED inline std::ostream& operator<<(std::ostream& os, @KWSYS_NAMESPACE@::IOStreamULL value) { return @KWSYS_NAMESPACE@::IOStreamPrint(os, value); } # endif # endif /* !@KWSYS_NAMESPACE@_IOS_HAS_OSTREAM_LONG_LONG */ #endif /* @KWSYS_NAMESPACE@_IOS_NEED_OPERATORS_LL */ /* Undefine temporary macros. */ #if !defined (KWSYS_NAMESPACE) && !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # undef kwsysEXPORT #endif /* If building a C++ file in kwsys itself, give the source file access to the macros without a configured namespace. */ #if defined(KWSYS_NAMESPACE) # define KWSYS_IOS_HAS_ISTREAM_LONG_LONG @KWSYS_NAMESPACE@_IOS_HAS_ISTREAM_LONG_LONG # define KWSYS_IOS_HAS_OSTREAM_LONG_LONG @KWSYS_NAMESPACE@_IOS_HAS_OSTREAM_LONG_LONG # define KWSYS_IOS_NEED_OPERATORS_LL @KWSYS_NAMESPACE@_IOS_NEED_OPERATORS_LL #endif #endif KWStyle-master/Utilities/KWSys/MD5.c000066400000000000000000000421031265471724600174530ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(MD5.h) /* Work-around CMake dependency scanning limitation. This must duplicate the above list of headers. */ #if 0 # include "MD5.h.in" #endif #include /* size_t */ #include /* malloc, free */ #include /* memcpy, strlen */ /*--------------------------------------------------------------------------*/ /* This MD5 implementation has been taken from a third party. Slight modifications to the arrangement of the code have been made to put it in a single source file instead of a separate header and implementation file. */ #if defined(__clang__) # pragma clang diagnostic push # pragma clang diagnostic ignored "-Wcast-align" #endif /* Copyright (C) 1999, 2000, 2002 Aladdin Enterprises. All rights reserved. This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. L. Peter Deutsch ghost@aladdin.com */ /* Independent implementation of MD5 (RFC 1321). This code implements the MD5 Algorithm defined in RFC 1321, whose text is available at http://www.ietf.org/rfc/rfc1321.txt The code is derived from the text of the RFC, including the test suite (section A.5) but excluding the rest of Appendix A. It does not include any code or documentation that is identified in the RFC as being copyrighted. The original and principal author of md5.c is L. Peter Deutsch . Other authors are noted in the change history that follows (in reverse chronological order): 2002-04-13 lpd Clarified derivation from RFC 1321; now handles byte order either statically or dynamically; added missing #include in library. 2002-03-11 lpd Corrected argument list for main(), and added int return type, in test program and T value program. 2002-02-21 lpd Added missing #include in test program. 2000-07-03 lpd Patched to eliminate warnings about "constant is unsigned in ANSI C, signed in traditional"; made test program self-checking. 1999-11-04 lpd Edited comments slightly for automatic TOC extraction. 1999-10-18 lpd Fixed typo in header comment (ansi2knr rather than md5). 1999-05-03 lpd Original version. */ /* * This package supports both compile-time and run-time determination of CPU * byte order. If ARCH_IS_BIG_ENDIAN is defined as 0, the code will be * compiled to run only on little-endian CPUs; if ARCH_IS_BIG_ENDIAN is * defined as non-zero, the code will be compiled to run only on big-endian * CPUs; if ARCH_IS_BIG_ENDIAN is not defined, the code will be compiled to * run on either big- or little-endian CPUs, but will run slightly less * efficiently on either one than if ARCH_IS_BIG_ENDIAN is defined. */ typedef unsigned char md5_byte_t; /* 8-bit byte */ typedef unsigned int md5_word_t; /* 32-bit word */ /* Define the state of the MD5 Algorithm. */ typedef struct md5_state_s { md5_word_t count[2]; /* message length in bits, lsw first */ md5_word_t abcd[4]; /* digest buffer */ md5_byte_t buf[64]; /* accumulate block */ } md5_state_t; #undef BYTE_ORDER /* 1 = big-endian, -1 = little-endian, 0 = unknown */ #ifdef ARCH_IS_BIG_ENDIAN # define BYTE_ORDER (ARCH_IS_BIG_ENDIAN ? 1 : -1) #else # define BYTE_ORDER 0 #endif #define T_MASK ((md5_word_t)~0) #define T1 /* 0xd76aa478 */ (T_MASK ^ 0x28955b87) #define T2 /* 0xe8c7b756 */ (T_MASK ^ 0x173848a9) #define T3 0x242070db #define T4 /* 0xc1bdceee */ (T_MASK ^ 0x3e423111) #define T5 /* 0xf57c0faf */ (T_MASK ^ 0x0a83f050) #define T6 0x4787c62a #define T7 /* 0xa8304613 */ (T_MASK ^ 0x57cfb9ec) #define T8 /* 0xfd469501 */ (T_MASK ^ 0x02b96afe) #define T9 0x698098d8 #define T10 /* 0x8b44f7af */ (T_MASK ^ 0x74bb0850) #define T11 /* 0xffff5bb1 */ (T_MASK ^ 0x0000a44e) #define T12 /* 0x895cd7be */ (T_MASK ^ 0x76a32841) #define T13 0x6b901122 #define T14 /* 0xfd987193 */ (T_MASK ^ 0x02678e6c) #define T15 /* 0xa679438e */ (T_MASK ^ 0x5986bc71) #define T16 0x49b40821 #define T17 /* 0xf61e2562 */ (T_MASK ^ 0x09e1da9d) #define T18 /* 0xc040b340 */ (T_MASK ^ 0x3fbf4cbf) #define T19 0x265e5a51 #define T20 /* 0xe9b6c7aa */ (T_MASK ^ 0x16493855) #define T21 /* 0xd62f105d */ (T_MASK ^ 0x29d0efa2) #define T22 0x02441453 #define T23 /* 0xd8a1e681 */ (T_MASK ^ 0x275e197e) #define T24 /* 0xe7d3fbc8 */ (T_MASK ^ 0x182c0437) #define T25 0x21e1cde6 #define T26 /* 0xc33707d6 */ (T_MASK ^ 0x3cc8f829) #define T27 /* 0xf4d50d87 */ (T_MASK ^ 0x0b2af278) #define T28 0x455a14ed #define T29 /* 0xa9e3e905 */ (T_MASK ^ 0x561c16fa) #define T30 /* 0xfcefa3f8 */ (T_MASK ^ 0x03105c07) #define T31 0x676f02d9 #define T32 /* 0x8d2a4c8a */ (T_MASK ^ 0x72d5b375) #define T33 /* 0xfffa3942 */ (T_MASK ^ 0x0005c6bd) #define T34 /* 0x8771f681 */ (T_MASK ^ 0x788e097e) #define T35 0x6d9d6122 #define T36 /* 0xfde5380c */ (T_MASK ^ 0x021ac7f3) #define T37 /* 0xa4beea44 */ (T_MASK ^ 0x5b4115bb) #define T38 0x4bdecfa9 #define T39 /* 0xf6bb4b60 */ (T_MASK ^ 0x0944b49f) #define T40 /* 0xbebfbc70 */ (T_MASK ^ 0x4140438f) #define T41 0x289b7ec6 #define T42 /* 0xeaa127fa */ (T_MASK ^ 0x155ed805) #define T43 /* 0xd4ef3085 */ (T_MASK ^ 0x2b10cf7a) #define T44 0x04881d05 #define T45 /* 0xd9d4d039 */ (T_MASK ^ 0x262b2fc6) #define T46 /* 0xe6db99e5 */ (T_MASK ^ 0x1924661a) #define T47 0x1fa27cf8 #define T48 /* 0xc4ac5665 */ (T_MASK ^ 0x3b53a99a) #define T49 /* 0xf4292244 */ (T_MASK ^ 0x0bd6ddbb) #define T50 0x432aff97 #define T51 /* 0xab9423a7 */ (T_MASK ^ 0x546bdc58) #define T52 /* 0xfc93a039 */ (T_MASK ^ 0x036c5fc6) #define T53 0x655b59c3 #define T54 /* 0x8f0ccc92 */ (T_MASK ^ 0x70f3336d) #define T55 /* 0xffeff47d */ (T_MASK ^ 0x00100b82) #define T56 /* 0x85845dd1 */ (T_MASK ^ 0x7a7ba22e) #define T57 0x6fa87e4f #define T58 /* 0xfe2ce6e0 */ (T_MASK ^ 0x01d3191f) #define T59 /* 0xa3014314 */ (T_MASK ^ 0x5cfebceb) #define T60 0x4e0811a1 #define T61 /* 0xf7537e82 */ (T_MASK ^ 0x08ac817d) #define T62 /* 0xbd3af235 */ (T_MASK ^ 0x42c50dca) #define T63 0x2ad7d2bb #define T64 /* 0xeb86d391 */ (T_MASK ^ 0x14792c6e) static void md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/) { md5_word_t a = pms->abcd[0], b = pms->abcd[1], c = pms->abcd[2], d = pms->abcd[3]; md5_word_t t; #if BYTE_ORDER > 0 /* Define storage only for big-endian CPUs. */ md5_word_t X[16]; #else /* Define storage for little-endian or both types of CPUs. */ md5_word_t xbuf[16]; const md5_word_t *X; #endif { #if BYTE_ORDER == 0 /* * Determine dynamically whether this is a big-endian or * little-endian machine, since we can use a more efficient * algorithm on the latter. */ static const int w = 1; if (*((const md5_byte_t *)&w)) /* dynamic little-endian */ #endif #if BYTE_ORDER <= 0 /* little-endian */ { /* * On little-endian machines, we can process properly aligned * data without copying it. */ if (!((data - (const md5_byte_t *)0) & 3)) { /* data are properly aligned */ X = (const md5_word_t *)data; } else { /* not aligned */ memcpy(xbuf, data, 64); X = xbuf; } } #endif #if BYTE_ORDER == 0 else /* dynamic big-endian */ #endif #if BYTE_ORDER >= 0 /* big-endian */ { /* * On big-endian machines, we must arrange the bytes in the * right order. */ const md5_byte_t *xp = data; int i; # if BYTE_ORDER == 0 X = xbuf; /* (dynamic only) */ # else # define xbuf X /* (static only) */ # endif for (i = 0; i < 16; ++i, xp += 4) xbuf[i] = (md5_word_t)(xp[0] + (xp[1] << 8) + (xp[2] << 16) + (xp[3] << 24)); } #endif } #define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32 - (n)))) /* Round 1. */ /* Let [abcd k s i] denote the operation a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */ #define F(x, y, z) (((x) & (y)) | (~(x) & (z))) #define SET(a, b, c, d, k, s, Ti)\ t = a + F(b,c,d) + X[k] + Ti;\ a = ROTATE_LEFT(t, s) + b /* Do the following 16 operations. */ SET(a, b, c, d, 0, 7, T1); SET(d, a, b, c, 1, 12, T2); SET(c, d, a, b, 2, 17, T3); SET(b, c, d, a, 3, 22, T4); SET(a, b, c, d, 4, 7, T5); SET(d, a, b, c, 5, 12, T6); SET(c, d, a, b, 6, 17, T7); SET(b, c, d, a, 7, 22, T8); SET(a, b, c, d, 8, 7, T9); SET(d, a, b, c, 9, 12, T10); SET(c, d, a, b, 10, 17, T11); SET(b, c, d, a, 11, 22, T12); SET(a, b, c, d, 12, 7, T13); SET(d, a, b, c, 13, 12, T14); SET(c, d, a, b, 14, 17, T15); SET(b, c, d, a, 15, 22, T16); #undef SET /* Round 2. */ /* Let [abcd k s i] denote the operation a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */ #define G(x, y, z) (((x) & (z)) | ((y) & ~(z))) #define SET(a, b, c, d, k, s, Ti)\ t = a + G(b,c,d) + X[k] + Ti;\ a = ROTATE_LEFT(t, s) + b /* Do the following 16 operations. */ SET(a, b, c, d, 1, 5, T17); SET(d, a, b, c, 6, 9, T18); SET(c, d, a, b, 11, 14, T19); SET(b, c, d, a, 0, 20, T20); SET(a, b, c, d, 5, 5, T21); SET(d, a, b, c, 10, 9, T22); SET(c, d, a, b, 15, 14, T23); SET(b, c, d, a, 4, 20, T24); SET(a, b, c, d, 9, 5, T25); SET(d, a, b, c, 14, 9, T26); SET(c, d, a, b, 3, 14, T27); SET(b, c, d, a, 8, 20, T28); SET(a, b, c, d, 13, 5, T29); SET(d, a, b, c, 2, 9, T30); SET(c, d, a, b, 7, 14, T31); SET(b, c, d, a, 12, 20, T32); #undef SET /* Round 3. */ /* Let [abcd k s t] denote the operation a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */ #define H(x, y, z) ((x) ^ (y) ^ (z)) #define SET(a, b, c, d, k, s, Ti)\ t = a + H(b,c,d) + X[k] + Ti;\ a = ROTATE_LEFT(t, s) + b /* Do the following 16 operations. */ SET(a, b, c, d, 5, 4, T33); SET(d, a, b, c, 8, 11, T34); SET(c, d, a, b, 11, 16, T35); SET(b, c, d, a, 14, 23, T36); SET(a, b, c, d, 1, 4, T37); SET(d, a, b, c, 4, 11, T38); SET(c, d, a, b, 7, 16, T39); SET(b, c, d, a, 10, 23, T40); SET(a, b, c, d, 13, 4, T41); SET(d, a, b, c, 0, 11, T42); SET(c, d, a, b, 3, 16, T43); SET(b, c, d, a, 6, 23, T44); SET(a, b, c, d, 9, 4, T45); SET(d, a, b, c, 12, 11, T46); SET(c, d, a, b, 15, 16, T47); SET(b, c, d, a, 2, 23, T48); #undef SET /* Round 4. */ /* Let [abcd k s t] denote the operation a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */ #define I(x, y, z) ((y) ^ ((x) | ~(z))) #define SET(a, b, c, d, k, s, Ti)\ t = a + I(b,c,d) + X[k] + Ti;\ a = ROTATE_LEFT(t, s) + b /* Do the following 16 operations. */ SET(a, b, c, d, 0, 6, T49); SET(d, a, b, c, 7, 10, T50); SET(c, d, a, b, 14, 15, T51); SET(b, c, d, a, 5, 21, T52); SET(a, b, c, d, 12, 6, T53); SET(d, a, b, c, 3, 10, T54); SET(c, d, a, b, 10, 15, T55); SET(b, c, d, a, 1, 21, T56); SET(a, b, c, d, 8, 6, T57); SET(d, a, b, c, 15, 10, T58); SET(c, d, a, b, 6, 15, T59); SET(b, c, d, a, 13, 21, T60); SET(a, b, c, d, 4, 6, T61); SET(d, a, b, c, 11, 10, T62); SET(c, d, a, b, 2, 15, T63); SET(b, c, d, a, 9, 21, T64); #undef SET /* Then perform the following additions. (That is increment each of the four registers by the value it had before this block was started.) */ pms->abcd[0] += a; pms->abcd[1] += b; pms->abcd[2] += c; pms->abcd[3] += d; } /* Initialize the algorithm. */ static void md5_init(md5_state_t *pms) { pms->count[0] = pms->count[1] = 0; pms->abcd[0] = 0x67452301; pms->abcd[1] = /*0xefcdab89*/ T_MASK ^ 0x10325476; pms->abcd[2] = /*0x98badcfe*/ T_MASK ^ 0x67452301; pms->abcd[3] = 0x10325476; } /* Append a string to the message. */ static void md5_append(md5_state_t *pms, const md5_byte_t *data, size_t nbytes) { const md5_byte_t *p = data; size_t left = nbytes; size_t offset = (pms->count[0] >> 3) & 63; md5_word_t nbits = (md5_word_t)(nbytes << 3); if (nbytes <= 0) return; /* Update the message length. */ pms->count[1] += (md5_word_t)(nbytes >> 29); pms->count[0] += nbits; if (pms->count[0] < nbits) pms->count[1]++; /* Process an initial partial block. */ if (offset) { size_t copy = (offset + nbytes > 64 ? 64 - offset : nbytes); memcpy(pms->buf + offset, p, copy); if (offset + copy < 64) return; p += copy; left -= copy; md5_process(pms, pms->buf); } /* Process full blocks. */ for (; left >= 64; p += 64, left -= 64) md5_process(pms, p); /* Process a final partial block. */ if (left) memcpy(pms->buf, p, left); } /* Finish the message and return the digest. */ static void md5_finish(md5_state_t *pms, md5_byte_t digest[16]) { static const md5_byte_t pad[64] = { 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; md5_byte_t data[8]; int i; /* Save the length before padding. */ for (i = 0; i < 8; ++i) data[i] = (md5_byte_t)(pms->count[i >> 2] >> ((i & 3) << 3)); /* Pad to 56 bytes mod 64. */ md5_append(pms, pad, ((55 - (pms->count[0] >> 3)) & 63) + 1); /* Append the length. */ md5_append(pms, data, 8); for (i = 0; i < 16; ++i) digest[i] = (md5_byte_t)(pms->abcd[i >> 2] >> ((i & 3) << 3)); } #if defined(__clang__) # pragma clang diagnostic pop #endif /*--------------------------------------------------------------------------*/ /* Wrap up the MD5 state in our opaque structure. */ struct kwsysMD5_s { md5_state_t md5_state; }; /*--------------------------------------------------------------------------*/ kwsysMD5* kwsysMD5_New(void) { /* Allocate a process control structure. */ kwsysMD5* md5 = (kwsysMD5*)malloc(sizeof(kwsysMD5)); if(!md5) { return 0; } return md5; } /*--------------------------------------------------------------------------*/ void kwsysMD5_Delete(kwsysMD5* md5) { /* Make sure we have an instance. */ if(!md5) { return; } /* Free memory. */ free(md5); } /*--------------------------------------------------------------------------*/ void kwsysMD5_Initialize(kwsysMD5* md5) { md5_init(&md5->md5_state); } /*--------------------------------------------------------------------------*/ void kwsysMD5_Append(kwsysMD5* md5, unsigned char const* data, int length) { size_t dlen; if(length < 0) { dlen = strlen((char const*)data); } else { dlen = (size_t)length; } md5_append(&md5->md5_state, (md5_byte_t const*)data, dlen); } /*--------------------------------------------------------------------------*/ void kwsysMD5_Finalize(kwsysMD5* md5, unsigned char digest[16]) { md5_finish(&md5->md5_state, (md5_byte_t*)digest); } /*--------------------------------------------------------------------------*/ void kwsysMD5_FinalizeHex(kwsysMD5* md5, char buffer[32]) { unsigned char digest[16]; kwsysMD5_Finalize(md5, digest); kwsysMD5_DigestToHex(digest, buffer); } /*--------------------------------------------------------------------------*/ void kwsysMD5_DigestToHex(unsigned char const digest[16], char buffer[32]) { /* Map from 4-bit index to hexadecimal representation. */ static char const hex[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; /* Map each 4-bit block separately. */ char* out = buffer; int i; for(i=0; i < 16; ++i) { *out++ = hex[digest[i] >> 4]; *out++ = hex[digest[i] & 0xF]; } } KWStyle-master/Utilities/KWSys/MD5.h.in000066400000000000000000000064041265471724600200710ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_MD5_h #define @KWSYS_NAMESPACE@_MD5_h #include <@KWSYS_NAMESPACE@/Configure.h> /* Redefine all public interface symbol names to be in the proper namespace. These macros are used internally to kwsys only, and are not visible to user code. Use kwsysHeaderDump.pl to reproduce these macros after making changes to the interface. */ #if !defined(KWSYS_NAMESPACE) # define kwsys_ns(x) @KWSYS_NAMESPACE@##x # define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT #endif #if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # define kwsysMD5 kwsys_ns(MD5) # define kwsysMD5_s kwsys_ns(MD5_s) # define kwsysMD5_New kwsys_ns(MD5_New) # define kwsysMD5_Delete kwsys_ns(MD5_Delete) # define kwsysMD5_Initialize kwsys_ns(MD5_Initialize) # define kwsysMD5_Append kwsys_ns(MD5_Append) # define kwsysMD5_Finalize kwsys_ns(MD5_Finalize) # define kwsysMD5_FinalizeHex kwsys_ns(MD5_FinalizeHex) # define kwsysMD5_DigestToHex kwsys_ns(MD5_DigestToHex) #endif #if defined(__cplusplus) extern "C" { #endif /** * MD5 state data structure. */ typedef struct kwsysMD5_s kwsysMD5; /** * Create a new MD5 instance. The returned instance is not initialized. */ kwsysEXPORT kwsysMD5* kwsysMD5_New(void); /** * Delete an old MD5 instance. */ kwsysEXPORT void kwsysMD5_Delete(kwsysMD5* md5); /** * Initialize a new MD5 digest. */ kwsysEXPORT void kwsysMD5_Initialize(kwsysMD5* md5); /** * Append data to an MD5 digest. If the given length is negative, * data will be read up to but not including a terminating null. */ kwsysEXPORT void kwsysMD5_Append(kwsysMD5* md5, unsigned char const* data, int length); /** * Finalize a MD5 digest and get the 16-byte hash value. */ kwsysEXPORT void kwsysMD5_Finalize(kwsysMD5* md5, unsigned char digest[16]); /** * Finalize a MD5 digest and get the 32-bit hexadecimal representation. */ kwsysEXPORT void kwsysMD5_FinalizeHex(kwsysMD5* md5, char buffer[32]); /** * Convert a MD5 digest 16-byte value to a 32-byte hexadecimal representation. */ kwsysEXPORT void kwsysMD5_DigestToHex(unsigned char const digest[16], char buffer[32]); #if defined(__cplusplus) } /* extern "C" */ #endif /* If we are building a kwsys .c or .cxx file, let it use these macros. Otherwise, undefine them to keep the namespace clean. */ #if !defined(KWSYS_NAMESPACE) # undef kwsys_ns # undef kwsysEXPORT # if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # undef kwsysMD5 # undef kwsysMD5_s # undef kwsysMD5_New # undef kwsysMD5_Delete # undef kwsysMD5_Initialize # undef kwsysMD5_Append # undef kwsysMD5_Finalize # undef kwsysMD5_FinalizeHex # undef kwsysMD5_DigestToHex # endif #endif #endif KWStyle-master/Utilities/KWSys/Process.h.in000066400000000000000000000464431265471724600211310ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_Process_h #define @KWSYS_NAMESPACE@_Process_h #include <@KWSYS_NAMESPACE@/Configure.h> /* Redefine all public interface symbol names to be in the proper namespace. These macros are used internally to kwsys only, and are not visible to user code. Use kwsysHeaderDump.pl to reproduce these macros after making changes to the interface. */ #if !defined(KWSYS_NAMESPACE) # define kwsys_ns(x) @KWSYS_NAMESPACE@##x # define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT #endif #if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # define kwsysProcess kwsys_ns(Process) # define kwsysProcess_s kwsys_ns(Process_s) # define kwsysProcess_New kwsys_ns(Process_New) # define kwsysProcess_Delete kwsys_ns(Process_Delete) # define kwsysProcess_SetCommand kwsys_ns(Process_SetCommand) # define kwsysProcess_AddCommand kwsys_ns(Process_AddCommand) # define kwsysProcess_SetTimeout kwsys_ns(Process_SetTimeout) # define kwsysProcess_SetWorkingDirectory kwsys_ns(Process_SetWorkingDirectory) # define kwsysProcess_SetPipeFile kwsys_ns(Process_SetPipeFile) # define kwsysProcess_SetPipeNative kwsys_ns(Process_SetPipeNative) # define kwsysProcess_SetPipeShared kwsys_ns(Process_SetPipeShared) # define kwsysProcess_Option_Detach kwsys_ns(Process_Option_Detach) # define kwsysProcess_Option_HideWindow kwsys_ns(Process_Option_HideWindow) # define kwsysProcess_Option_MergeOutput kwsys_ns(Process_Option_MergeOutput) # define kwsysProcess_Option_Verbatim kwsys_ns(Process_Option_Verbatim) # define kwsysProcess_Option_CreateProcessGroup kwsys_ns(Process_Option_CreateProcessGroup) # define kwsysProcess_GetOption kwsys_ns(Process_GetOption) # define kwsysProcess_SetOption kwsys_ns(Process_SetOption) # define kwsysProcess_Option_e kwsys_ns(Process_Option_e) # define kwsysProcess_State_Starting kwsys_ns(Process_State_Starting) # define kwsysProcess_State_Error kwsys_ns(Process_State_Error) # define kwsysProcess_State_Exception kwsys_ns(Process_State_Exception) # define kwsysProcess_State_Executing kwsys_ns(Process_State_Executing) # define kwsysProcess_State_Exited kwsys_ns(Process_State_Exited) # define kwsysProcess_State_Expired kwsys_ns(Process_State_Expired) # define kwsysProcess_State_Killed kwsys_ns(Process_State_Killed) # define kwsysProcess_State_Disowned kwsys_ns(Process_State_Disowned) # define kwsysProcess_GetState kwsys_ns(Process_GetState) # define kwsysProcess_State_e kwsys_ns(Process_State_e) # define kwsysProcess_Exception_None kwsys_ns(Process_Exception_None) # define kwsysProcess_Exception_Fault kwsys_ns(Process_Exception_Fault) # define kwsysProcess_Exception_Illegal kwsys_ns(Process_Exception_Illegal) # define kwsysProcess_Exception_Interrupt kwsys_ns(Process_Exception_Interrupt) # define kwsysProcess_Exception_Numerical kwsys_ns(Process_Exception_Numerical) # define kwsysProcess_Exception_Other kwsys_ns(Process_Exception_Other) # define kwsysProcess_GetExitException kwsys_ns(Process_GetExitException) # define kwsysProcess_Exception_e kwsys_ns(Process_Exception_e) # define kwsysProcess_GetExitCode kwsys_ns(Process_GetExitCode) # define kwsysProcess_GetExitValue kwsys_ns(Process_GetExitValue) # define kwsysProcess_GetErrorString kwsys_ns(Process_GetErrorString) # define kwsysProcess_GetExceptionString kwsys_ns(Process_GetExceptionString) # define kwsysProcess_Execute kwsys_ns(Process_Execute) # define kwsysProcess_Disown kwsys_ns(Process_Disown) # define kwsysProcess_WaitForData kwsys_ns(Process_WaitForData) # define kwsysProcess_Pipes_e kwsys_ns(Process_Pipes_e) # define kwsysProcess_Pipe_None kwsys_ns(Process_Pipe_None) # define kwsysProcess_Pipe_STDIN kwsys_ns(Process_Pipe_STDIN) # define kwsysProcess_Pipe_STDOUT kwsys_ns(Process_Pipe_STDOUT) # define kwsysProcess_Pipe_STDERR kwsys_ns(Process_Pipe_STDERR) # define kwsysProcess_Pipe_Timeout kwsys_ns(Process_Pipe_Timeout) # define kwsysProcess_Pipe_Handle kwsys_ns(Process_Pipe_Handle) # define kwsysProcess_WaitForExit kwsys_ns(Process_WaitForExit) # define kwsysProcess_Interrupt kwsys_ns(Process_Interrupt) # define kwsysProcess_Kill kwsys_ns(Process_Kill) #endif #if defined(__cplusplus) extern "C" { #endif /** * Process control data structure. */ typedef struct kwsysProcess_s kwsysProcess; /* Platform-specific pipe handle type. */ #if defined(_WIN32) && !defined(__CYGWIN__) typedef void* kwsysProcess_Pipe_Handle; #else typedef int kwsysProcess_Pipe_Handle; #endif /** * Create a new Process instance. */ kwsysEXPORT kwsysProcess* kwsysProcess_New(void); /** * Delete an existing Process instance. If the instance is currently * executing a process, this blocks until the process terminates. */ kwsysEXPORT void kwsysProcess_Delete(kwsysProcess* cp); /** * Set the command line to be executed. Argument is an array of * pointers to the command and each argument. The array must end with * a NULL pointer. Any previous command lines are removed. Returns * 1 for success and 0 otherwise. */ kwsysEXPORT int kwsysProcess_SetCommand(kwsysProcess* cp, char const* const* command); /** * Add a command line to be executed. Argument is an array of * pointers to the command and each argument. The array must end with * a NULL pointer. If this is not the first command added, its * standard input will be connected to the standard output of the * previous command. Returns 1 for success and 0 otherwise. */ kwsysEXPORT int kwsysProcess_AddCommand(kwsysProcess* cp, char const* const* command); /** * Set the timeout in seconds for the child process. The timeout * period begins when the child is executed. If the child has not * terminated when the timeout expires, it will be killed. A * non-positive (<= 0) value will disable the timeout. */ kwsysEXPORT void kwsysProcess_SetTimeout(kwsysProcess* cp, double timeout); /** * Set the working directory for the child process. The working * directory can be absolute or relative to the current directory. * Returns 1 for success and 0 for failure. */ kwsysEXPORT int kwsysProcess_SetWorkingDirectory(kwsysProcess* cp, const char* dir); /** * Set the name of a file to be attached to the given pipe. Returns 1 * for success and 0 for failure. */ kwsysEXPORT int kwsysProcess_SetPipeFile(kwsysProcess* cp, int pipe, const char* file); /** * Set whether the given pipe in the child is shared with the parent * process. The default is no for Pipe_STDOUT and Pipe_STDERR and yes * for Pipe_STDIN. */ kwsysEXPORT void kwsysProcess_SetPipeShared(kwsysProcess* cp, int pipe, int shared); /** * Specify a platform-specific native pipe for use as one of the child * interface pipes. The native pipe is specified by an array of two * descriptors or handles. The first entry in the array (index 0) * should be the read end of the pipe. The second entry in the array * (index 1) should be the write end of the pipe. If a null pointer * is given the option will be disabled. * * For Pipe_STDIN the native pipe is connected to the first child in * the pipeline as its stdin. After the children are created the * write end of the pipe will be closed in the child process and the * read end will be closed in the parent process. * * For Pipe_STDOUT and Pipe_STDERR the pipe is connected to the last * child as its stdout or stderr. After the children are created the * write end of the pipe will be closed in the parent process and the * read end will be closed in the child process. */ kwsysEXPORT void kwsysProcess_SetPipeNative(kwsysProcess* cp, int pipe, kwsysProcess_Pipe_Handle p[2]); /** * Get/Set a possibly platform-specific option. Possible options are: * * kwsysProcess_Option_Detach = Whether to detach the process. * 0 = No (default) * 1 = Yes * * kwsysProcess_Option_HideWindow = Whether to hide window on Windows. * 0 = No (default) * 1 = Yes * * kwsysProcess_Option_MergeOutput = Whether to merge stdout/stderr. * No content will be returned as stderr. * Any actual stderr will be on stdout. * 0 = No (default) * 1 = Yes * * kwsysProcess_Option_Verbatim = Whether SetCommand and AddCommand * should treat the first argument * as a verbatim command line * and ignore the rest of the arguments. * 0 = No (default) * 1 = Yes * * kwsysProcess_Option_CreateProcessGroup = Whether to place the process in a * new process group. This is * useful if you want to send Ctrl+C * to the process. On UNIX, also * places the process in a new * session. * 0 = No (default) * 1 = Yes */ kwsysEXPORT int kwsysProcess_GetOption(kwsysProcess* cp, int optionId); kwsysEXPORT void kwsysProcess_SetOption(kwsysProcess* cp, int optionId, int value); enum kwsysProcess_Option_e { kwsysProcess_Option_HideWindow, kwsysProcess_Option_Detach, kwsysProcess_Option_MergeOutput, kwsysProcess_Option_Verbatim, kwsysProcess_Option_CreateProcessGroup }; /** * Get the current state of the Process instance. Possible states are: * * kwsysProcess_State_Starting = Execute has not yet been called. * kwsysProcess_State_Error = Error administrating the child process. * kwsysProcess_State_Exception = Child process exited abnormally. * kwsysProcess_State_Executing = Child process is currently running. * kwsysProcess_State_Exited = Child process exited normally. * kwsysProcess_State_Expired = Child process's timeout expired. * kwsysProcess_State_Killed = Child process terminated by Kill method. * kwsysProcess_State_Disowned = Child is no longer managed by this object. */ kwsysEXPORT int kwsysProcess_GetState(kwsysProcess* cp); enum kwsysProcess_State_e { kwsysProcess_State_Starting, kwsysProcess_State_Error, kwsysProcess_State_Exception, kwsysProcess_State_Executing, kwsysProcess_State_Exited, kwsysProcess_State_Expired, kwsysProcess_State_Killed, kwsysProcess_State_Disowned }; /** * When GetState returns "Exception", this method returns a * platform-independent description of the exceptional behavior that * caused the child to terminate abnormally. Possible exceptions are: * * kwsysProcess_Exception_None = No exceptional behavior occurred. * kwsysProcess_Exception_Fault = Child crashed with a memory fault. * kwsysProcess_Exception_Illegal = Child crashed with an illegal instruction. * kwsysProcess_Exception_Interrupt = Child was interrupted by user (Cntl-C/Break). * kwsysProcess_Exception_Numerical = Child crashed with a numerical exception. * kwsysProcess_Exception_Other = Child terminated for another reason. */ kwsysEXPORT int kwsysProcess_GetExitException(kwsysProcess* cp); enum kwsysProcess_Exception_e { kwsysProcess_Exception_None, kwsysProcess_Exception_Fault, kwsysProcess_Exception_Illegal, kwsysProcess_Exception_Interrupt, kwsysProcess_Exception_Numerical, kwsysProcess_Exception_Other }; /** * When GetState returns "Exited" or "Exception", this method returns * the platform-specific raw exit code of the process. UNIX platforms * should use WIFEXITED/WEXITSTATUS and WIFSIGNALED/WTERMSIG to access * this value. Windows users should compare the value to the various * EXCEPTION_* values. * * If GetState returns "Exited", use GetExitValue to get the * platform-independent child return value. */ kwsysEXPORT int kwsysProcess_GetExitCode(kwsysProcess* cp); /** * When GetState returns "Exited", this method returns the child's * platform-independent exit code (such as the value returned by the * child's main). */ kwsysEXPORT int kwsysProcess_GetExitValue(kwsysProcess* cp); /** * When GetState returns "Error", this method returns a string * describing the problem. Otherwise, it returns NULL. */ kwsysEXPORT const char* kwsysProcess_GetErrorString(kwsysProcess* cp); /** * When GetState returns "Exception", this method returns a string * describing the problem. Otherwise, it returns NULL. */ kwsysEXPORT const char* kwsysProcess_GetExceptionString(kwsysProcess* cp); /** * Start executing the child process. */ kwsysEXPORT void kwsysProcess_Execute(kwsysProcess* cp); /** * Stop management of a detached child process. This closes any pipes * being read. If the child was not created with the * kwsysProcess_Option_Detach option, this method does nothing. This * is because disowning a non-detached process will cause the child * exit signal to be left unhandled until this process exits. */ kwsysEXPORT void kwsysProcess_Disown(kwsysProcess* cp); /** * Block until data are available on a pipe, a timeout expires, or the * child process terminates. Arguments are as follows: * * data = If data are read, the pointer to which this points is * set to point to the data. * length = If data are read, the integer to which this points is * set to the length of the data read. * timeout = Specifies the maximum time this call may block. Upon * return after reading data, the time elapsed is subtracted * from the timeout value. If this timeout expires, the * value is set to 0. A NULL pointer passed for this argument * indicates no timeout for the call. A negative or zero * value passed for this argument may be used for polling * and will always return immediately. * * Return value will be one of: * * Pipe_None = No more data will be available from the child process, * ( == 0) or no process has been executed. WaitForExit should * be called to wait for the process to terminate. * Pipe_STDOUT = Data have been read from the child's stdout pipe. * Pipe_STDERR = Data have been read from the child's stderr pipe. * Pipe_Timeout = No data available within timeout specified for the * call. Time elapsed has been subtracted from timeout * argument. */ kwsysEXPORT int kwsysProcess_WaitForData(kwsysProcess* cp, char** data, int* length, double* timeout); enum kwsysProcess_Pipes_e { kwsysProcess_Pipe_None, kwsysProcess_Pipe_STDIN, kwsysProcess_Pipe_STDOUT, kwsysProcess_Pipe_STDERR, kwsysProcess_Pipe_Timeout=255 }; /** * Block until the child process terminates or the given timeout * expires. If no process is running, returns immediatly. The * argument is: * * timeout = Specifies the maximum time this call may block. Upon * returning due to child termination, the elapsed time * is subtracted from the given value. A NULL pointer * passed for this argument indicates no timeout for the * call. * * Return value will be one of: * * 0 = Child did not terminate within timeout specified for * the call. Time elapsed has been subtracted from timeout * argument. * 1 = Child has terminated or was not running. */ kwsysEXPORT int kwsysProcess_WaitForExit(kwsysProcess* cp, double* timeout); /** * Interrupt the process group for the child process that is currently * running by sending it the appropriate operating-system specific signal. * The caller should call WaitForExit after this returns to wait for the * child to terminate. * * WARNING: If you didn't specify kwsysProcess_Option_CreateProcessGroup, * you will interrupt your own process group. */ kwsysEXPORT void kwsysProcess_Interrupt(kwsysProcess* cp); /** * Forcefully terminate the child process that is currently running. * The caller should call WaitForExit after this returns to wait for * the child to terminate. */ kwsysEXPORT void kwsysProcess_Kill(kwsysProcess* cp); #if defined(__cplusplus) } /* extern "C" */ #endif /* If we are building a kwsys .c or .cxx file, let it use these macros. Otherwise, undefine them to keep the namespace clean. */ #if !defined(KWSYS_NAMESPACE) # undef kwsys_ns # undef kwsysEXPORT # if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # undef kwsysProcess # undef kwsysProcess_s # undef kwsysProcess_New # undef kwsysProcess_Delete # undef kwsysProcess_SetCommand # undef kwsysProcess_AddCommand # undef kwsysProcess_SetTimeout # undef kwsysProcess_SetWorkingDirectory # undef kwsysProcess_SetPipeFile # undef kwsysProcess_SetPipeNative # undef kwsysProcess_SetPipeShared # undef kwsysProcess_Option_Detach # undef kwsysProcess_Option_HideWindow # undef kwsysProcess_Option_MergeOutput # undef kwsysProcess_Option_Verbatim # undef kwsysProcess_Option_CreateProcessGroup # undef kwsysProcess_GetOption # undef kwsysProcess_SetOption # undef kwsysProcess_Option_e # undef kwsysProcess_State_Starting # undef kwsysProcess_State_Error # undef kwsysProcess_State_Exception # undef kwsysProcess_State_Executing # undef kwsysProcess_State_Exited # undef kwsysProcess_State_Expired # undef kwsysProcess_State_Killed # undef kwsysProcess_State_Disowned # undef kwsysProcess_GetState # undef kwsysProcess_State_e # undef kwsysProcess_Exception_None # undef kwsysProcess_Exception_Fault # undef kwsysProcess_Exception_Illegal # undef kwsysProcess_Exception_Interrupt # undef kwsysProcess_Exception_Numerical # undef kwsysProcess_Exception_Other # undef kwsysProcess_GetExitException # undef kwsysProcess_Exception_e # undef kwsysProcess_GetExitCode # undef kwsysProcess_GetExitValue # undef kwsysProcess_GetErrorString # undef kwsysProcess_GetExceptionString # undef kwsysProcess_Execute # undef kwsysProcess_Disown # undef kwsysProcess_WaitForData # undef kwsysProcess_Pipes_e # undef kwsysProcess_Pipe_None # undef kwsysProcess_Pipe_STDIN # undef kwsysProcess_Pipe_STDOUT # undef kwsysProcess_Pipe_STDERR # undef kwsysProcess_Pipe_Timeout # undef kwsysProcess_Pipe_Handle # undef kwsysProcess_WaitForExit # undef kwsysProcess_Interrupt # undef kwsysProcess_Kill # endif #endif #endif KWStyle-master/Utilities/KWSys/ProcessUNIX.c000066400000000000000000002530501265471724600212150ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(Process.h) #include KWSYS_HEADER(System.h) /* Work-around CMake dependency scanning limitation. This must duplicate the above list of headers. */ #if 0 # include "Process.h.in" # include "System.h.in" #endif /* Implementation for UNIX On UNIX, a child process is forked to exec the program. Three output pipes are read by the parent process using a select call to block until data are ready. Two of the pipes are stdout and stderr for the child. The third is a special pipe populated by a signal handler to indicate that a child has terminated. This is used in conjunction with the timeout on the select call to implement a timeout for program even when it closes stdout and stderr and at the same time avoiding races. */ /* TODO: We cannot create the pipeline of processes in suspended states. How do we cleanup processes already started when one fails to load? Right now we are just killing them, which is probably not the right thing to do. */ #if defined(__CYGWIN__) /* Increase the file descriptor limit for select() before including related system headers. (Default: 64) */ # define FD_SETSIZE 16384 #endif #include /* ptrdiff_t */ #include /* snprintf */ #include /* malloc, free */ #include /* strdup, strerror, memset */ #include /* struct timeval */ #include /* pid_t, fd_set */ #include /* waitpid */ #include /* open mode */ #include /* pipe, close, fork, execvp, select, _exit */ #include /* fcntl */ #include /* errno */ #include /* gettimeofday */ #include /* sigaction */ #include /* DIR, dirent */ #include /* isspace */ #include /* assert */ #if defined(__VMS) # define KWSYSPE_VMS_NONBLOCK , O_NONBLOCK #else # define KWSYSPE_VMS_NONBLOCK #endif #if defined(KWSYS_C_HAS_PTRDIFF_T) && KWSYS_C_HAS_PTRDIFF_T typedef ptrdiff_t kwsysProcess_ptrdiff_t; #else typedef int kwsysProcess_ptrdiff_t; #endif #if defined(KWSYS_C_HAS_SSIZE_T) && KWSYS_C_HAS_SSIZE_T typedef ssize_t kwsysProcess_ssize_t; #else typedef int kwsysProcess_ssize_t; #endif #if defined(__BEOS__) && !defined(__ZETA__) /* BeOS 5 doesn't have usleep(), but it has snooze(), which is identical. */ # include static inline void kwsysProcess_usleep(unsigned int msec) { snooze(msec); } #else # define kwsysProcess_usleep usleep #endif /* * BeOS's select() works like WinSock: it's for networking only, and * doesn't work with Unix file handles...socket and file handles are * different namespaces (the same descriptor means different things in * each context!) * * So on Unix-like systems where select() is flakey, we'll set the * pipes' file handles to be non-blocking and just poll them directly * without select(). */ #if !defined(__BEOS__) && !defined(__VMS) && !defined(__MINT__) # define KWSYSPE_USE_SELECT 1 #endif /* Some platforms do not have siginfo on their signal handlers. */ #if defined(SA_SIGINFO) && !defined(__BEOS__) # define KWSYSPE_USE_SIGINFO 1 #endif /* The number of pipes for the child's output. The standard stdout and stderr pipes are the first two. One more pipe is used to detect when the child process has terminated. The third pipe is not given to the child process, so it cannot close it until it terminates. */ #define KWSYSPE_PIPE_COUNT 3 #define KWSYSPE_PIPE_STDOUT 0 #define KWSYSPE_PIPE_STDERR 1 #define KWSYSPE_PIPE_SIGNAL 2 /* The maximum amount to read from a pipe at a time. */ #define KWSYSPE_PIPE_BUFFER_SIZE 1024 /* Keep track of times using a signed representation. Switch to the native (possibly unsigned) representation only when calling native functions. */ typedef struct timeval kwsysProcessTimeNative; typedef struct kwsysProcessTime_s kwsysProcessTime; struct kwsysProcessTime_s { long tv_sec; long tv_usec; }; typedef struct kwsysProcessCreateInformation_s { int StdIn; int StdOut; int StdErr; int ErrorPipe[2]; } kwsysProcessCreateInformation; /*--------------------------------------------------------------------------*/ static void kwsysProcessVolatileFree(volatile void* p); static int kwsysProcessInitialize(kwsysProcess* cp); static void kwsysProcessCleanup(kwsysProcess* cp, int error); static void kwsysProcessCleanupDescriptor(int* pfd); static void kwsysProcessClosePipes(kwsysProcess* cp); static int kwsysProcessSetNonBlocking(int fd); static int kwsysProcessCreate(kwsysProcess* cp, int prIndex, kwsysProcessCreateInformation* si); static void kwsysProcessDestroy(kwsysProcess* cp); static int kwsysProcessSetupOutputPipeFile(int* p, const char* name); static int kwsysProcessSetupOutputPipeNative(int* p, int des[2]); static int kwsysProcessGetTimeoutTime(kwsysProcess* cp, double* userTimeout, kwsysProcessTime* timeoutTime); static int kwsysProcessGetTimeoutLeft(kwsysProcessTime* timeoutTime, double* userTimeout, kwsysProcessTimeNative* timeoutLength, int zeroIsExpired); static kwsysProcessTime kwsysProcessTimeGetCurrent(void); static double kwsysProcessTimeToDouble(kwsysProcessTime t); static kwsysProcessTime kwsysProcessTimeFromDouble(double d); static int kwsysProcessTimeLess(kwsysProcessTime in1, kwsysProcessTime in2); static kwsysProcessTime kwsysProcessTimeAdd(kwsysProcessTime in1, kwsysProcessTime in2); static kwsysProcessTime kwsysProcessTimeSubtract(kwsysProcessTime in1, kwsysProcessTime in2); static void kwsysProcessSetExitException(kwsysProcess* cp, int sig); static void kwsysProcessChildErrorExit(int errorPipe); static void kwsysProcessRestoreDefaultSignalHandlers(void); static pid_t kwsysProcessFork(kwsysProcess* cp, kwsysProcessCreateInformation* si); static void kwsysProcessKill(pid_t process_id); #if defined(__VMS) static int kwsysProcessSetVMSFeature(const char* name, int value); #endif static int kwsysProcessesAdd(kwsysProcess* cp); static void kwsysProcessesRemove(kwsysProcess* cp); #if KWSYSPE_USE_SIGINFO static void kwsysProcessesSignalHandler(int signum, siginfo_t* info, void* ucontext); #else static void kwsysProcessesSignalHandler(int signum); #endif /*--------------------------------------------------------------------------*/ /* Structure containing data used to implement the child's execution. */ struct kwsysProcess_s { /* The command lines to execute. */ char*** Commands; volatile int NumberOfCommands; /* Descriptors for the read ends of the child's output pipes and the signal pipe. */ int PipeReadEnds[KWSYSPE_PIPE_COUNT]; /* Descriptors for the child's ends of the pipes. Used temporarily during process creation. */ int PipeChildStd[3]; /* Write descriptor for child termination signal pipe. */ int SignalPipe; /* Buffer for pipe data. */ char PipeBuffer[KWSYSPE_PIPE_BUFFER_SIZE]; /* Process IDs returned by the calls to fork. Everything is volatile because the signal handler accesses them. You must be very careful when reaping PIDs or modifying this array to avoid race conditions. */ volatile pid_t* volatile ForkPIDs; /* Flag for whether the children were terminated by a faild select. */ int SelectError; /* The timeout length. */ double Timeout; /* The working directory for the process. */ char* WorkingDirectory; /* Whether to create the child as a detached process. */ int OptionDetach; /* Whether the child was created as a detached process. */ int Detached; /* Whether to treat command lines as verbatim. */ int Verbatim; /* Whether to merge stdout/stderr of the child. */ int MergeOutput; /* Whether to create the process in a new process group. */ volatile sig_atomic_t CreateProcessGroup; /* Time at which the child started. Negative for no timeout. */ kwsysProcessTime StartTime; /* Time at which the child will timeout. Negative for no timeout. */ kwsysProcessTime TimeoutTime; /* Flag for whether the timeout expired. */ int TimeoutExpired; /* The number of pipes left open during execution. */ int PipesLeft; #if KWSYSPE_USE_SELECT /* File descriptor set for call to select. */ fd_set PipeSet; #endif /* The number of children still executing. */ int CommandsLeft; /* The current status of the child process. Must be atomic because the signal handler checks this to avoid a race. */ volatile sig_atomic_t State; /* The exceptional behavior that terminated the child process, if * any. */ int ExitException; /* The exit code of the child process. */ int ExitCode; /* The exit value of the child process, if any. */ int ExitValue; /* Whether the process was killed. */ volatile sig_atomic_t Killed; /* Buffer for error message in case of failure. */ char ErrorMessage[KWSYSPE_PIPE_BUFFER_SIZE+1]; /* Description for the ExitException. */ char ExitExceptionString[KWSYSPE_PIPE_BUFFER_SIZE+1]; /* The exit codes of each child process in the pipeline. */ int* CommandExitCodes; /* Name of files to which stdin and stdout pipes are attached. */ char* PipeFileSTDIN; char* PipeFileSTDOUT; char* PipeFileSTDERR; /* Whether each pipe is shared with the parent process. */ int PipeSharedSTDIN; int PipeSharedSTDOUT; int PipeSharedSTDERR; /* Native pipes provided by the user. */ int PipeNativeSTDIN[2]; int PipeNativeSTDOUT[2]; int PipeNativeSTDERR[2]; /* The real working directory of this process. */ int RealWorkingDirectoryLength; char* RealWorkingDirectory; }; /*--------------------------------------------------------------------------*/ kwsysProcess* kwsysProcess_New(void) { /* Allocate a process control structure. */ kwsysProcess* cp = (kwsysProcess*)malloc(sizeof(kwsysProcess)); if(!cp) { return 0; } memset(cp, 0, sizeof(kwsysProcess)); /* Share stdin with the parent process by default. */ cp->PipeSharedSTDIN = 1; /* No native pipes by default. */ cp->PipeNativeSTDIN[0] = -1; cp->PipeNativeSTDIN[1] = -1; cp->PipeNativeSTDOUT[0] = -1; cp->PipeNativeSTDOUT[1] = -1; cp->PipeNativeSTDERR[0] = -1; cp->PipeNativeSTDERR[1] = -1; /* Set initial status. */ cp->State = kwsysProcess_State_Starting; return cp; } /*--------------------------------------------------------------------------*/ void kwsysProcess_Delete(kwsysProcess* cp) { /* Make sure we have an instance. */ if(!cp) { return; } /* If the process is executing, wait for it to finish. */ if(cp->State == kwsysProcess_State_Executing) { if(cp->Detached) { kwsysProcess_Disown(cp); } else { kwsysProcess_WaitForExit(cp, 0); } } /* Free memory. */ kwsysProcess_SetCommand(cp, 0); kwsysProcess_SetWorkingDirectory(cp, 0); kwsysProcess_SetPipeFile(cp, kwsysProcess_Pipe_STDIN, 0); kwsysProcess_SetPipeFile(cp, kwsysProcess_Pipe_STDOUT, 0); kwsysProcess_SetPipeFile(cp, kwsysProcess_Pipe_STDERR, 0); if(cp->CommandExitCodes) { free(cp->CommandExitCodes); } free(cp); } /*--------------------------------------------------------------------------*/ int kwsysProcess_SetCommand(kwsysProcess* cp, char const* const* command) { int i; if(!cp) { return 0; } for(i=0; i < cp->NumberOfCommands; ++i) { char** c = cp->Commands[i]; while(*c) { free(*c++); } free(cp->Commands[i]); } cp->NumberOfCommands = 0; if(cp->Commands) { free(cp->Commands); cp->Commands = 0; } if(command) { return kwsysProcess_AddCommand(cp, command); } return 1; } /*--------------------------------------------------------------------------*/ int kwsysProcess_AddCommand(kwsysProcess* cp, char const* const* command) { int newNumberOfCommands; char*** newCommands; /* Make sure we have a command to add. */ if(!cp || !command || !*command) { return 0; } /* Allocate a new array for command pointers. */ newNumberOfCommands = cp->NumberOfCommands + 1; if(!(newCommands = (char***)malloc(sizeof(char**) *(size_t)(newNumberOfCommands)))) { /* Out of memory. */ return 0; } /* Copy any existing commands into the new array. */ { int i; for(i=0; i < cp->NumberOfCommands; ++i) { newCommands[i] = cp->Commands[i]; } } /* Add the new command. */ if(cp->Verbatim) { /* In order to run the given command line verbatim we need to parse it. */ newCommands[cp->NumberOfCommands] = kwsysSystem_Parse_CommandForUnix(*command, 0); if(!newCommands[cp->NumberOfCommands] || !newCommands[cp->NumberOfCommands][0]) { /* Out of memory or no command parsed. */ free(newCommands); return 0; } } else { /* Copy each argument string individually. */ char const* const* c = command; kwsysProcess_ptrdiff_t n = 0; kwsysProcess_ptrdiff_t i = 0; while(*c++); n = c - command - 1; newCommands[cp->NumberOfCommands] = (char**)malloc((size_t)(n+1)*sizeof(char*)); if(!newCommands[cp->NumberOfCommands]) { /* Out of memory. */ free(newCommands); return 0; } for(i=0; i < n; ++i) { assert(command[i]); /* Quiet Clang scan-build. */ newCommands[cp->NumberOfCommands][i] = strdup(command[i]); if(!newCommands[cp->NumberOfCommands][i]) { break; } } if(i < n) { /* Out of memory. */ for(;i > 0; --i) { free(newCommands[cp->NumberOfCommands][i-1]); } free(newCommands); return 0; } newCommands[cp->NumberOfCommands][n] = 0; } /* Successfully allocated new command array. Free the old array. */ free(cp->Commands); cp->Commands = newCommands; cp->NumberOfCommands = newNumberOfCommands; return 1; } /*--------------------------------------------------------------------------*/ void kwsysProcess_SetTimeout(kwsysProcess* cp, double timeout) { if(!cp) { return; } cp->Timeout = timeout; if(cp->Timeout < 0) { cp->Timeout = 0; } } /*--------------------------------------------------------------------------*/ int kwsysProcess_SetWorkingDirectory(kwsysProcess* cp, const char* dir) { if(!cp) { return 0; } if(cp->WorkingDirectory == dir) { return 1; } if(cp->WorkingDirectory && dir && strcmp(cp->WorkingDirectory, dir) == 0) { return 1; } if(cp->WorkingDirectory) { free(cp->WorkingDirectory); cp->WorkingDirectory = 0; } if(dir) { cp->WorkingDirectory = (char*)malloc(strlen(dir) + 1); if(!cp->WorkingDirectory) { return 0; } strcpy(cp->WorkingDirectory, dir); } return 1; } /*--------------------------------------------------------------------------*/ int kwsysProcess_SetPipeFile(kwsysProcess* cp, int prPipe, const char* file) { char** pfile; if(!cp) { return 0; } switch(prPipe) { case kwsysProcess_Pipe_STDIN: pfile = &cp->PipeFileSTDIN; break; case kwsysProcess_Pipe_STDOUT: pfile = &cp->PipeFileSTDOUT; break; case kwsysProcess_Pipe_STDERR: pfile = &cp->PipeFileSTDERR; break; default: return 0; } if(*pfile) { free(*pfile); *pfile = 0; } if(file) { *pfile = (char*)malloc(strlen(file)+1); if(!*pfile) { return 0; } strcpy(*pfile, file); } /* If we are redirecting the pipe, do not share it or use a native pipe. */ if(*pfile) { kwsysProcess_SetPipeNative(cp, prPipe, 0); kwsysProcess_SetPipeShared(cp, prPipe, 0); } return 1; } /*--------------------------------------------------------------------------*/ void kwsysProcess_SetPipeShared(kwsysProcess* cp, int prPipe, int shared) { if(!cp) { return; } switch(prPipe) { case kwsysProcess_Pipe_STDIN: cp->PipeSharedSTDIN = shared?1:0; break; case kwsysProcess_Pipe_STDOUT: cp->PipeSharedSTDOUT = shared?1:0; break; case kwsysProcess_Pipe_STDERR: cp->PipeSharedSTDERR = shared?1:0; break; default: return; } /* If we are sharing the pipe, do not redirect it to a file or use a native pipe. */ if(shared) { kwsysProcess_SetPipeFile(cp, prPipe, 0); kwsysProcess_SetPipeNative(cp, prPipe, 0); } } /*--------------------------------------------------------------------------*/ void kwsysProcess_SetPipeNative(kwsysProcess* cp, int prPipe, int p[2]) { int* pPipeNative = 0; if(!cp) { return; } switch(prPipe) { case kwsysProcess_Pipe_STDIN: pPipeNative = cp->PipeNativeSTDIN; break; case kwsysProcess_Pipe_STDOUT: pPipeNative = cp->PipeNativeSTDOUT; break; case kwsysProcess_Pipe_STDERR: pPipeNative = cp->PipeNativeSTDERR; break; default: return; } /* Copy the native pipe descriptors provided. */ if(p) { pPipeNative[0] = p[0]; pPipeNative[1] = p[1]; } else { pPipeNative[0] = -1; pPipeNative[1] = -1; } /* If we are using a native pipe, do not share it or redirect it to a file. */ if(p) { kwsysProcess_SetPipeFile(cp, prPipe, 0); kwsysProcess_SetPipeShared(cp, prPipe, 0); } } /*--------------------------------------------------------------------------*/ int kwsysProcess_GetOption(kwsysProcess* cp, int optionId) { if(!cp) { return 0; } switch(optionId) { case kwsysProcess_Option_Detach: return cp->OptionDetach; case kwsysProcess_Option_MergeOutput: return cp->MergeOutput; case kwsysProcess_Option_Verbatim: return cp->Verbatim; case kwsysProcess_Option_CreateProcessGroup: return cp->CreateProcessGroup; default: return 0; } } /*--------------------------------------------------------------------------*/ void kwsysProcess_SetOption(kwsysProcess* cp, int optionId, int value) { if(!cp) { return; } switch(optionId) { case kwsysProcess_Option_Detach: cp->OptionDetach = value; break; case kwsysProcess_Option_MergeOutput: cp->MergeOutput = value; break; case kwsysProcess_Option_Verbatim: cp->Verbatim = value; break; case kwsysProcess_Option_CreateProcessGroup: cp->CreateProcessGroup = value; break; default: break; } } /*--------------------------------------------------------------------------*/ int kwsysProcess_GetState(kwsysProcess* cp) { return cp? cp->State : kwsysProcess_State_Error; } /*--------------------------------------------------------------------------*/ int kwsysProcess_GetExitException(kwsysProcess* cp) { return cp? cp->ExitException : kwsysProcess_Exception_Other; } /*--------------------------------------------------------------------------*/ int kwsysProcess_GetExitCode(kwsysProcess* cp) { return cp? cp->ExitCode : 0; } /*--------------------------------------------------------------------------*/ int kwsysProcess_GetExitValue(kwsysProcess* cp) { return cp? cp->ExitValue : -1; } /*--------------------------------------------------------------------------*/ const char* kwsysProcess_GetErrorString(kwsysProcess* cp) { if(!cp) { return "Process management structure could not be allocated"; } else if(cp->State == kwsysProcess_State_Error) { return cp->ErrorMessage; } return "Success"; } /*--------------------------------------------------------------------------*/ const char* kwsysProcess_GetExceptionString(kwsysProcess* cp) { if(!cp) { return "GetExceptionString called with NULL process management structure"; } else if(cp->State == kwsysProcess_State_Exception) { return cp->ExitExceptionString; } return "No exception"; } /*--------------------------------------------------------------------------*/ void kwsysProcess_Execute(kwsysProcess* cp) { int i; /* Do not execute a second copy simultaneously. */ if(!cp || cp->State == kwsysProcess_State_Executing) { return; } /* Make sure we have something to run. */ if(cp->NumberOfCommands < 1) { strcpy(cp->ErrorMessage, "No command"); cp->State = kwsysProcess_State_Error; return; } /* Initialize the control structure for a new process. */ if(!kwsysProcessInitialize(cp)) { strcpy(cp->ErrorMessage, "Out of memory"); cp->State = kwsysProcess_State_Error; return; } #if defined(__VMS) /* Make sure pipes behave like streams on VMS. */ if(!kwsysProcessSetVMSFeature("DECC$STREAM_PIPE", 1)) { kwsysProcessCleanup(cp, 1); return; } #endif /* Save the real working directory of this process and change to the working directory for the child processes. This is needed to make pipe file paths evaluate correctly. */ if(cp->WorkingDirectory) { int r; if(!getcwd(cp->RealWorkingDirectory, (size_t)(cp->RealWorkingDirectoryLength))) { kwsysProcessCleanup(cp, 1); return; } /* Some platforms specify that the chdir call may be interrupted. Repeat the call until it finishes. */ while(((r = chdir(cp->WorkingDirectory)) < 0) && (errno == EINTR)); if(r < 0) { kwsysProcessCleanup(cp, 1); return; } } /* If not running a detached child, add this object to the global set of process objects that wish to be notified when a child exits. */ if(!cp->OptionDetach) { if(!kwsysProcessesAdd(cp)) { kwsysProcessCleanup(cp, 1); return; } } /* Setup the stdin pipe for the first process. */ if(cp->PipeFileSTDIN) { /* Open a file for the child's stdin to read. */ cp->PipeChildStd[0] = open(cp->PipeFileSTDIN, O_RDONLY); if(cp->PipeChildStd[0] < 0) { kwsysProcessCleanup(cp, 1); return; } /* Set close-on-exec flag on the pipe's end. */ if(fcntl(cp->PipeChildStd[0], F_SETFD, FD_CLOEXEC) < 0) { kwsysProcessCleanup(cp, 1); return; } } else if(cp->PipeSharedSTDIN) { cp->PipeChildStd[0] = 0; } else if(cp->PipeNativeSTDIN[0] >= 0) { cp->PipeChildStd[0] = cp->PipeNativeSTDIN[0]; /* Set close-on-exec flag on the pipe's ends. The read end will be dup2-ed into the stdin descriptor after the fork but before the exec. */ if((fcntl(cp->PipeNativeSTDIN[0], F_SETFD, FD_CLOEXEC) < 0) || (fcntl(cp->PipeNativeSTDIN[1], F_SETFD, FD_CLOEXEC) < 0)) { kwsysProcessCleanup(cp, 1); return; } } else { cp->PipeChildStd[0] = -1; } /* Create the output pipe for the last process. We always create this so the pipe can be passed to select even if it will report closed immediately. */ { /* Create the pipe. */ int p[2]; if(pipe(p KWSYSPE_VMS_NONBLOCK) < 0) { kwsysProcessCleanup(cp, 1); return; } /* Store the pipe. */ cp->PipeReadEnds[KWSYSPE_PIPE_STDOUT] = p[0]; cp->PipeChildStd[1] = p[1]; /* Set close-on-exec flag on the pipe's ends. */ if((fcntl(p[0], F_SETFD, FD_CLOEXEC) < 0) || (fcntl(p[1], F_SETFD, FD_CLOEXEC) < 0)) { kwsysProcessCleanup(cp, 1); return; } /* Set to non-blocking in case select lies, or for the polling implementation. */ if(!kwsysProcessSetNonBlocking(p[0])) { kwsysProcessCleanup(cp, 1); return; } } if (cp->PipeFileSTDOUT) { /* Use a file for stdout. */ if(!kwsysProcessSetupOutputPipeFile(&cp->PipeChildStd[1], cp->PipeFileSTDOUT)) { kwsysProcessCleanup(cp, 1); return; } } else if (cp->PipeSharedSTDOUT) { /* Use the parent stdout. */ kwsysProcessCleanupDescriptor(&cp->PipeChildStd[1]); cp->PipeChildStd[1] = 1; } else if (cp->PipeNativeSTDOUT[1] >= 0) { /* Use the given descriptor for stdout. */ if(!kwsysProcessSetupOutputPipeNative(&cp->PipeChildStd[1], cp->PipeNativeSTDOUT)) { kwsysProcessCleanup(cp, 1); return; } } /* Create stderr pipe to be shared by all processes in the pipeline. We always create this so the pipe can be passed to select even if it will report closed immediately. */ { /* Create the pipe. */ int p[2]; if(pipe(p KWSYSPE_VMS_NONBLOCK) < 0) { kwsysProcessCleanup(cp, 1); return; } /* Store the pipe. */ cp->PipeReadEnds[KWSYSPE_PIPE_STDERR] = p[0]; cp->PipeChildStd[2] = p[1]; /* Set close-on-exec flag on the pipe's ends. */ if((fcntl(p[0], F_SETFD, FD_CLOEXEC) < 0) || (fcntl(p[1], F_SETFD, FD_CLOEXEC) < 0)) { kwsysProcessCleanup(cp, 1); return; } /* Set to non-blocking in case select lies, or for the polling implementation. */ if(!kwsysProcessSetNonBlocking(p[0])) { kwsysProcessCleanup(cp, 1); return; } } if (cp->PipeFileSTDERR) { /* Use a file for stderr. */ if(!kwsysProcessSetupOutputPipeFile(&cp->PipeChildStd[2], cp->PipeFileSTDERR)) { kwsysProcessCleanup(cp, 1); return; } } else if (cp->PipeSharedSTDERR) { /* Use the parent stderr. */ kwsysProcessCleanupDescriptor(&cp->PipeChildStd[2]); cp->PipeChildStd[2] = 2; } else if (cp->PipeNativeSTDERR[1] >= 0) { /* Use the given handle for stderr. */ if(!kwsysProcessSetupOutputPipeNative(&cp->PipeChildStd[2], cp->PipeNativeSTDERR)) { kwsysProcessCleanup(cp, 1); return; } } /* The timeout period starts now. */ cp->StartTime = kwsysProcessTimeGetCurrent(); cp->TimeoutTime.tv_sec = -1; cp->TimeoutTime.tv_usec = -1; /* Create the pipeline of processes. */ { kwsysProcessCreateInformation si = {-1, -1, -1, {-1, -1}}; int nextStdIn = cp->PipeChildStd[0]; for(i=0; i < cp->NumberOfCommands; ++i) { /* Setup the process's pipes. */ si.StdIn = nextStdIn; if (i == cp->NumberOfCommands-1) { nextStdIn = -1; si.StdOut = cp->PipeChildStd[1]; } else { /* Create a pipe to sit between the children. */ int p[2] = {-1,-1}; if(pipe(p KWSYSPE_VMS_NONBLOCK) < 0) { if (nextStdIn != cp->PipeChildStd[0]) { kwsysProcessCleanupDescriptor(&nextStdIn); } kwsysProcessCleanup(cp, 1); return; } /* Set close-on-exec flag on the pipe's ends. */ if((fcntl(p[0], F_SETFD, FD_CLOEXEC) < 0) || (fcntl(p[1], F_SETFD, FD_CLOEXEC) < 0)) { close(p[0]); close(p[1]); if (nextStdIn != cp->PipeChildStd[0]) { kwsysProcessCleanupDescriptor(&nextStdIn); } kwsysProcessCleanup(cp, 1); return; } nextStdIn = p[0]; si.StdOut = p[1]; } si.StdErr = cp->MergeOutput? cp->PipeChildStd[1] : cp->PipeChildStd[2]; { int res = kwsysProcessCreate(cp, i, &si); /* Close our copies of pipes used between children. */ if (si.StdIn != cp->PipeChildStd[0]) { kwsysProcessCleanupDescriptor(&si.StdIn); } if (si.StdOut != cp->PipeChildStd[1]) { kwsysProcessCleanupDescriptor(&si.StdOut); } if (si.StdErr != cp->PipeChildStd[2] && !cp->MergeOutput) { kwsysProcessCleanupDescriptor(&si.StdErr); } if(!res) { kwsysProcessCleanupDescriptor(&si.ErrorPipe[0]); kwsysProcessCleanupDescriptor(&si.ErrorPipe[1]); if (nextStdIn != cp->PipeChildStd[0]) { kwsysProcessCleanupDescriptor(&nextStdIn); } kwsysProcessCleanup(cp, 1); return; } } } } /* The parent process does not need the child's pipe ends. */ for (i=0; i < 3; ++i) { kwsysProcessCleanupDescriptor(&cp->PipeChildStd[i]); } /* Restore the working directory. */ if(cp->RealWorkingDirectory) { /* Some platforms specify that the chdir call may be interrupted. Repeat the call until it finishes. */ while((chdir(cp->RealWorkingDirectory) < 0) && (errno == EINTR)); free(cp->RealWorkingDirectory); cp->RealWorkingDirectory = 0; } /* All the pipes are now open. */ cp->PipesLeft = KWSYSPE_PIPE_COUNT; /* The process has now started. */ cp->State = kwsysProcess_State_Executing; cp->Detached = cp->OptionDetach; } /*--------------------------------------------------------------------------*/ kwsysEXPORT void kwsysProcess_Disown(kwsysProcess* cp) { /* Make sure a detached child process is running. */ if(!cp || !cp->Detached || cp->State != kwsysProcess_State_Executing || cp->TimeoutExpired || cp->Killed) { return; } /* Close all the pipes safely. */ kwsysProcessClosePipes(cp); /* We will not wait for exit, so cleanup now. */ kwsysProcessCleanup(cp, 0); /* The process has been disowned. */ cp->State = kwsysProcess_State_Disowned; } /*--------------------------------------------------------------------------*/ typedef struct kwsysProcessWaitData_s { int Expired; int PipeId; int User; double* UserTimeout; kwsysProcessTime TimeoutTime; } kwsysProcessWaitData; static int kwsysProcessWaitForPipe(kwsysProcess* cp, char** data, int* length, kwsysProcessWaitData* wd); /*--------------------------------------------------------------------------*/ int kwsysProcess_WaitForData(kwsysProcess* cp, char** data, int* length, double* userTimeout) { kwsysProcessTime userStartTime = {0, 0}; kwsysProcessWaitData wd = { 0, kwsysProcess_Pipe_None, 0, 0, {0, 0} }; wd.UserTimeout = userTimeout; /* Make sure we are executing a process. */ if(!cp || cp->State != kwsysProcess_State_Executing || cp->Killed || cp->TimeoutExpired) { return kwsysProcess_Pipe_None; } /* Record the time at which user timeout period starts. */ if(userTimeout) { userStartTime = kwsysProcessTimeGetCurrent(); } /* Calculate the time at which a timeout will expire, and whether it is the user or process timeout. */ wd.User = kwsysProcessGetTimeoutTime(cp, userTimeout, &wd.TimeoutTime); /* Data can only be available when pipes are open. If the process is not running, cp->PipesLeft will be 0. */ while(cp->PipesLeft > 0 && !kwsysProcessWaitForPipe(cp, data, length, &wd)) {} /* Update the user timeout. */ if(userTimeout) { kwsysProcessTime userEndTime = kwsysProcessTimeGetCurrent(); kwsysProcessTime difference = kwsysProcessTimeSubtract(userEndTime, userStartTime); double d = kwsysProcessTimeToDouble(difference); *userTimeout -= d; if(*userTimeout < 0) { *userTimeout = 0; } } /* Check what happened. */ if(wd.PipeId) { /* Data are ready on a pipe. */ return wd.PipeId; } else if(wd.Expired) { /* A timeout has expired. */ if(wd.User) { /* The user timeout has expired. It has no time left. */ return kwsysProcess_Pipe_Timeout; } else { /* The process timeout has expired. Kill the children now. */ kwsysProcess_Kill(cp); cp->Killed = 0; cp->TimeoutExpired = 1; return kwsysProcess_Pipe_None; } } else { /* No pipes are left open. */ return kwsysProcess_Pipe_None; } } /*--------------------------------------------------------------------------*/ static int kwsysProcessWaitForPipe(kwsysProcess* cp, char** data, int* length, kwsysProcessWaitData* wd) { int i; kwsysProcessTimeNative timeoutLength; #if KWSYSPE_USE_SELECT int numReady = 0; int max = -1; kwsysProcessTimeNative* timeout = 0; /* Check for any open pipes with data reported ready by the last call to select. According to "man select_tut" we must deal with all descriptors reported by a call to select before passing them to another select call. */ for(i=0; i < KWSYSPE_PIPE_COUNT; ++i) { if(cp->PipeReadEnds[i] >= 0 && FD_ISSET(cp->PipeReadEnds[i], &cp->PipeSet)) { kwsysProcess_ssize_t n; /* We are handling this pipe now. Remove it from the set. */ FD_CLR(cp->PipeReadEnds[i], &cp->PipeSet); /* The pipe is ready to read without blocking. Keep trying to read until the operation is not interrupted. */ while(((n = read(cp->PipeReadEnds[i], cp->PipeBuffer, KWSYSPE_PIPE_BUFFER_SIZE)) < 0) && (errno == EINTR)); if(n > 0) { /* We have data on this pipe. */ if(i == KWSYSPE_PIPE_SIGNAL) { /* A child process has terminated. */ kwsysProcessDestroy(cp); } else if(data && length) { /* Report this data. */ *data = cp->PipeBuffer; *length = (int)(n); switch(i) { case KWSYSPE_PIPE_STDOUT: wd->PipeId = kwsysProcess_Pipe_STDOUT; break; case KWSYSPE_PIPE_STDERR: wd->PipeId = kwsysProcess_Pipe_STDERR; break; }; return 1; } } else if(n < 0 && errno == EAGAIN) { /* No data are really ready. The select call lied. See the "man select" page on Linux for cases when this occurs. */ } else { /* We are done reading from this pipe. */ kwsysProcessCleanupDescriptor(&cp->PipeReadEnds[i]); --cp->PipesLeft; } } } /* If we have data, break early. */ if(wd->PipeId) { return 1; } /* Make sure the set is empty (it should always be empty here anyway). */ FD_ZERO(&cp->PipeSet); /* Setup a timeout if required. */ if(wd->TimeoutTime.tv_sec < 0) { timeout = 0; } else { timeout = &timeoutLength; } if(kwsysProcessGetTimeoutLeft(&wd->TimeoutTime, wd->User?wd->UserTimeout:0, &timeoutLength, 0)) { /* Timeout has already expired. */ wd->Expired = 1; return 1; } /* Add the pipe reading ends that are still open. */ max = -1; for(i=0; i < KWSYSPE_PIPE_COUNT; ++i) { if(cp->PipeReadEnds[i] >= 0) { FD_SET(cp->PipeReadEnds[i], &cp->PipeSet); if(cp->PipeReadEnds[i] > max) { max = cp->PipeReadEnds[i]; } } } /* Make sure we have a non-empty set. */ if(max < 0) { /* All pipes have closed. Child has terminated. */ return 1; } /* Run select to block until data are available. Repeat call until it is not interrupted. */ while(((numReady = select(max+1, &cp->PipeSet, 0, 0, timeout)) < 0) && (errno == EINTR)); /* Check result of select. */ if(numReady == 0) { /* Select's timeout expired. */ wd->Expired = 1; return 1; } else if(numReady < 0) { /* Select returned an error. Leave the error description in the pipe buffer. */ strncpy(cp->ErrorMessage, strerror(errno), KWSYSPE_PIPE_BUFFER_SIZE); /* Kill the children now. */ kwsysProcess_Kill(cp); cp->Killed = 0; cp->SelectError = 1; } return 0; #else /* Poll pipes for data since we do not have select. */ for(i=0; i < KWSYSPE_PIPE_COUNT; ++i) { if(cp->PipeReadEnds[i] >= 0) { const int fd = cp->PipeReadEnds[i]; int n = read(fd, cp->PipeBuffer, KWSYSPE_PIPE_BUFFER_SIZE); if(n > 0) { /* We have data on this pipe. */ if(i == KWSYSPE_PIPE_SIGNAL) { /* A child process has terminated. */ kwsysProcessDestroy(cp); } else if(data && length) { /* Report this data. */ *data = cp->PipeBuffer; *length = n; switch(i) { case KWSYSPE_PIPE_STDOUT: wd->PipeId = kwsysProcess_Pipe_STDOUT; break; case KWSYSPE_PIPE_STDERR: wd->PipeId = kwsysProcess_Pipe_STDERR; break; }; } return 1; } else if (n == 0) /* EOF */ { /* We are done reading from this pipe. */ #if defined(__VMS) if(!cp->CommandsLeft) #endif { kwsysProcessCleanupDescriptor(&cp->PipeReadEnds[i]); --cp->PipesLeft; } } else if (n < 0) /* error */ { #if defined(__VMS) if(!cp->CommandsLeft) { kwsysProcessCleanupDescriptor(&cp->PipeReadEnds[i]); --cp->PipesLeft; } else #endif if((errno != EINTR) && (errno != EAGAIN)) { strncpy(cp->ErrorMessage,strerror(errno), KWSYSPE_PIPE_BUFFER_SIZE); /* Kill the children now. */ kwsysProcess_Kill(cp); cp->Killed = 0; cp->SelectError = 1; return 1; } } } } /* If we have data, break early. */ if(wd->PipeId) { return 1; } if(kwsysProcessGetTimeoutLeft(&wd->TimeoutTime, wd->User?wd->UserTimeout:0, &timeoutLength, 1)) { /* Timeout has already expired. */ wd->Expired = 1; return 1; } /* Sleep a little, try again. */ { unsigned int msec = ((timeoutLength.tv_sec * 1000) + (timeoutLength.tv_usec / 1000)); if (msec > 100000) { msec = 100000; /* do not sleep more than 100 milliseconds at a time */ } kwsysProcess_usleep(msec); } return 0; #endif } /*--------------------------------------------------------------------------*/ int kwsysProcess_WaitForExit(kwsysProcess* cp, double* userTimeout) { int status = 0; int prPipe = 0; /* Make sure we are executing a process. */ if(!cp || cp->State != kwsysProcess_State_Executing) { return 1; } /* Wait for all the pipes to close. Ignore all data. */ while((prPipe = kwsysProcess_WaitForData(cp, 0, 0, userTimeout)) > 0) { if(prPipe == kwsysProcess_Pipe_Timeout) { return 0; } } /* Check if there was an error in one of the waitpid calls. */ if(cp->State == kwsysProcess_State_Error) { /* The error message is already in its buffer. Tell kwsysProcessCleanup to not create it. */ kwsysProcessCleanup(cp, 0); return 1; } /* Check whether the child reported an error invoking the process. */ if(cp->SelectError) { /* The error message is already in its buffer. Tell kwsysProcessCleanup to not create it. */ kwsysProcessCleanup(cp, 0); cp->State = kwsysProcess_State_Error; return 1; } /* Use the status of the last process in the pipeline. */ status = cp->CommandExitCodes[cp->NumberOfCommands-1]; /* Determine the outcome. */ if(cp->Killed) { /* We killed the child. */ cp->State = kwsysProcess_State_Killed; } else if(cp->TimeoutExpired) { /* The timeout expired. */ cp->State = kwsysProcess_State_Expired; } else if(WIFEXITED(status)) { /* The child exited normally. */ cp->State = kwsysProcess_State_Exited; cp->ExitException = kwsysProcess_Exception_None; cp->ExitCode = status; cp->ExitValue = (int)WEXITSTATUS(status); } else if(WIFSIGNALED(status)) { /* The child received an unhandled signal. */ cp->State = kwsysProcess_State_Exception; cp->ExitCode = status; kwsysProcessSetExitException(cp, (int)WTERMSIG(status)); } else { /* Error getting the child return code. */ strcpy(cp->ErrorMessage, "Error getting child return code."); cp->State = kwsysProcess_State_Error; } /* Normal cleanup. */ kwsysProcessCleanup(cp, 0); return 1; } /*--------------------------------------------------------------------------*/ void kwsysProcess_Interrupt(kwsysProcess* cp) { int i; /* Make sure we are executing a process. */ if(!cp || cp->State != kwsysProcess_State_Executing || cp->TimeoutExpired || cp->Killed) { return; } /* Interrupt the children. */ if (cp->CreateProcessGroup) { if(cp->ForkPIDs) { for(i=0; i < cp->NumberOfCommands; ++i) { /* Make sure the PID is still valid. */ if(cp->ForkPIDs[i]) { /* The user created a process group for this process. The group ID is the process ID for the original process in the group. */ kill(-cp->ForkPIDs[i], SIGINT); } } } } else { /* No process group was created. Kill our own process group. NOTE: While one could argue that we could call kill(cp->ForkPIDs[i], SIGINT) as a way to still interrupt the process even though it's not in a special group, this is not an option on Windows. Therefore, we kill the current process group for consistency with Windows. */ kill(0, SIGINT); } } /*--------------------------------------------------------------------------*/ void kwsysProcess_Kill(kwsysProcess* cp) { int i; /* Make sure we are executing a process. */ if(!cp || cp->State != kwsysProcess_State_Executing) { return; } /* First close the child exit report pipe write end to avoid causing a SIGPIPE when the child terminates and our signal handler tries to report it after we have already closed the read end. */ kwsysProcessCleanupDescriptor(&cp->SignalPipe); #if !defined(__APPLE__) /* Close all the pipe read ends. Do this before killing the children because Cygwin has problems killing processes that are blocking to wait for writing to their output pipes. */ kwsysProcessClosePipes(cp); #endif /* Kill the children. */ cp->Killed = 1; for(i=0; i < cp->NumberOfCommands; ++i) { int status; if(cp->ForkPIDs[i]) { /* Kill the child. */ kwsysProcessKill(cp->ForkPIDs[i]); /* Reap the child. Keep trying until the call is not interrupted. */ while((waitpid(cp->ForkPIDs[i], &status, 0) < 0) && (errno == EINTR)); } } #if defined(__APPLE__) /* Close all the pipe read ends. Do this after killing the children because OS X has problems closing pipe read ends whose pipes are full and still have an open write end. */ kwsysProcessClosePipes(cp); #endif cp->CommandsLeft = 0; } /*--------------------------------------------------------------------------*/ /* Call the free() function with a pointer to volatile without causing compiler warnings. */ static void kwsysProcessVolatileFree(volatile void* p) { /* clang has made it impossible to free memory that points to volatile without first using special pragmas to disable a warning... */ #if defined(__clang__) # pragma clang diagnostic push # pragma clang diagnostic ignored "-Wcast-qual" #endif free((void*)p); /* The cast will silence most compilers, but not clang. */ #if defined(__clang__) # pragma clang diagnostic pop #endif } /*--------------------------------------------------------------------------*/ /* Initialize a process control structure for kwsysProcess_Execute. */ static int kwsysProcessInitialize(kwsysProcess* cp) { int i; volatile pid_t* oldForkPIDs; for(i=0; i < KWSYSPE_PIPE_COUNT; ++i) { cp->PipeReadEnds[i] = -1; } for(i=0; i < 3; ++i) { cp->PipeChildStd[i] = -1; } cp->SignalPipe = -1; cp->SelectError = 0; cp->StartTime.tv_sec = -1; cp->StartTime.tv_usec = -1; cp->TimeoutTime.tv_sec = -1; cp->TimeoutTime.tv_usec = -1; cp->TimeoutExpired = 0; cp->PipesLeft = 0; cp->CommandsLeft = 0; #if KWSYSPE_USE_SELECT FD_ZERO(&cp->PipeSet); #endif cp->State = kwsysProcess_State_Starting; cp->Killed = 0; cp->ExitException = kwsysProcess_Exception_None; cp->ExitCode = 1; cp->ExitValue = 1; cp->ErrorMessage[0] = 0; strcpy(cp->ExitExceptionString, "No exception"); oldForkPIDs = cp->ForkPIDs; cp->ForkPIDs = (volatile pid_t*)malloc( sizeof(volatile pid_t)*(size_t)(cp->NumberOfCommands)); if(oldForkPIDs) { kwsysProcessVolatileFree(oldForkPIDs); } if(!cp->ForkPIDs) { return 0; } for(i=0; i < cp->NumberOfCommands; ++i) { cp->ForkPIDs[i] = 0; /* can't use memset due to volatile */ } if(cp->CommandExitCodes) { free(cp->CommandExitCodes); } cp->CommandExitCodes = (int*)malloc(sizeof(int)* (size_t)(cp->NumberOfCommands)); if(!cp->CommandExitCodes) { return 0; } memset(cp->CommandExitCodes, 0, sizeof(int)*(size_t)(cp->NumberOfCommands)); /* Allocate memory to save the real working directory. */ if ( cp->WorkingDirectory ) { #if defined(MAXPATHLEN) cp->RealWorkingDirectoryLength = MAXPATHLEN; #elif defined(PATH_MAX) cp->RealWorkingDirectoryLength = PATH_MAX; #else cp->RealWorkingDirectoryLength = 4096; #endif cp->RealWorkingDirectory = (char*)malloc((size_t)(cp->RealWorkingDirectoryLength)); if(!cp->RealWorkingDirectory) { return 0; } } return 1; } /*--------------------------------------------------------------------------*/ /* Free all resources used by the given kwsysProcess instance that were allocated by kwsysProcess_Execute. */ static void kwsysProcessCleanup(kwsysProcess* cp, int error) { int i; if(error) { /* We are cleaning up due to an error. Report the error message if one has not been provided already. */ if(cp->ErrorMessage[0] == 0) { strncpy(cp->ErrorMessage, strerror(errno), KWSYSPE_PIPE_BUFFER_SIZE); } /* Set the error state. */ cp->State = kwsysProcess_State_Error; /* Kill any children already started. */ if(cp->ForkPIDs) { int status; for(i=0; i < cp->NumberOfCommands; ++i) { if(cp->ForkPIDs[i]) { /* Kill the child. */ kwsysProcessKill(cp->ForkPIDs[i]); /* Reap the child. Keep trying until the call is not interrupted. */ while((waitpid(cp->ForkPIDs[i], &status, 0) < 0) && (errno == EINTR)); } } } /* Restore the working directory. */ if(cp->RealWorkingDirectory) { while((chdir(cp->RealWorkingDirectory) < 0) && (errno == EINTR)); } } /* If not creating a detached child, remove this object from the global set of process objects that wish to be notified when a child exits. */ if(!cp->OptionDetach) { kwsysProcessesRemove(cp); } /* Free memory. */ if(cp->ForkPIDs) { kwsysProcessVolatileFree(cp->ForkPIDs); cp->ForkPIDs = 0; } if(cp->RealWorkingDirectory) { free(cp->RealWorkingDirectory); cp->RealWorkingDirectory = 0; } /* Close pipe handles. */ for(i=0; i < KWSYSPE_PIPE_COUNT; ++i) { kwsysProcessCleanupDescriptor(&cp->PipeReadEnds[i]); } for(i=0; i < 3; ++i) { kwsysProcessCleanupDescriptor(&cp->PipeChildStd[i]); } } /*--------------------------------------------------------------------------*/ /* Close the given file descriptor if it is open. Reset its value to -1. */ static void kwsysProcessCleanupDescriptor(int* pfd) { if(pfd && *pfd > 2) { /* Keep trying to close until it is not interrupted by a * signal. */ while((close(*pfd) < 0) && (errno == EINTR)); *pfd = -1; } } /*--------------------------------------------------------------------------*/ static void kwsysProcessClosePipes(kwsysProcess* cp) { int i; /* Close any pipes that are still open. */ for(i=0; i < KWSYSPE_PIPE_COUNT; ++i) { if(cp->PipeReadEnds[i] >= 0) { #if KWSYSPE_USE_SELECT /* If the pipe was reported by the last call to select, we must read from it. This is needed to satisfy the suggestions from "man select_tut" and is not needed for the polling implementation. Ignore the data. */ if(FD_ISSET(cp->PipeReadEnds[i], &cp->PipeSet)) { /* We are handling this pipe now. Remove it from the set. */ FD_CLR(cp->PipeReadEnds[i], &cp->PipeSet); /* The pipe is ready to read without blocking. Keep trying to read until the operation is not interrupted. */ while((read(cp->PipeReadEnds[i], cp->PipeBuffer, KWSYSPE_PIPE_BUFFER_SIZE) < 0) && (errno == EINTR)); } #endif /* We are done reading from this pipe. */ kwsysProcessCleanupDescriptor(&cp->PipeReadEnds[i]); --cp->PipesLeft; } } } /*--------------------------------------------------------------------------*/ static int kwsysProcessSetNonBlocking(int fd) { int flags = fcntl(fd, F_GETFL); if(flags >= 0) { flags = fcntl(fd, F_SETFL, flags | O_NONBLOCK); } return flags >= 0; } /*--------------------------------------------------------------------------*/ #if defined(__VMS) int decc$set_child_standard_streams(int fd1, int fd2, int fd3); #endif /*--------------------------------------------------------------------------*/ static int kwsysProcessCreate(kwsysProcess* cp, int prIndex, kwsysProcessCreateInformation* si) { sigset_t mask, old_mask; int pgidPipe[2]; char tmp; ssize_t readRes; /* Create the error reporting pipe. */ if(pipe(si->ErrorPipe) < 0) { return 0; } /* Create a pipe for detecting that the child process has created a process group and session. */ if(pipe(pgidPipe) < 0) { kwsysProcessCleanupDescriptor(&si->ErrorPipe[0]); kwsysProcessCleanupDescriptor(&si->ErrorPipe[1]); return 0; } /* Set close-on-exec flag on the pipe's write end. */ if(fcntl(si->ErrorPipe[1], F_SETFD, FD_CLOEXEC) < 0 || fcntl(pgidPipe[1], F_SETFD, FD_CLOEXEC) < 0) { kwsysProcessCleanupDescriptor(&si->ErrorPipe[0]); kwsysProcessCleanupDescriptor(&si->ErrorPipe[1]); kwsysProcessCleanupDescriptor(&pgidPipe[0]); kwsysProcessCleanupDescriptor(&pgidPipe[1]); return 0; } /* Block SIGINT / SIGTERM while we start. The purpose is so that our signal handler doesn't get called from the child process after the fork and before the exec, and subsequently start kill()'ing PIDs from ForkPIDs. */ sigemptyset(&mask); sigaddset(&mask, SIGINT); sigaddset(&mask, SIGTERM); if(sigprocmask(SIG_BLOCK, &mask, &old_mask) < 0) { kwsysProcessCleanupDescriptor(&si->ErrorPipe[0]); kwsysProcessCleanupDescriptor(&si->ErrorPipe[1]); kwsysProcessCleanupDescriptor(&pgidPipe[0]); kwsysProcessCleanupDescriptor(&pgidPipe[1]); return 0; } /* Fork off a child process. */ #if defined(__VMS) /* VMS needs vfork and execvp to be in the same function because they use setjmp/longjmp to run the child startup code in the parent! TODO: OptionDetach. Also TODO: CreateProcessGroup. */ cp->ForkPIDs[prIndex] = vfork(); #else cp->ForkPIDs[prIndex] = kwsysProcessFork(cp, si); #endif if(cp->ForkPIDs[prIndex] < 0) { sigprocmask(SIG_SETMASK, &old_mask, 0); kwsysProcessCleanupDescriptor(&si->ErrorPipe[0]); kwsysProcessCleanupDescriptor(&si->ErrorPipe[1]); kwsysProcessCleanupDescriptor(&pgidPipe[0]); kwsysProcessCleanupDescriptor(&pgidPipe[1]); return 0; } if(cp->ForkPIDs[prIndex] == 0) { #if defined(__VMS) /* Specify standard pipes for child process. */ decc$set_child_standard_streams(si->StdIn, si->StdOut, si->StdErr); #else /* Close the read end of the error reporting / process group setup pipe. */ close(si->ErrorPipe[0]); close(pgidPipe[0]); /* Setup the stdin, stdout, and stderr pipes. */ if(si->StdIn > 0) { dup2(si->StdIn, 0); } else if(si->StdIn < 0) { close(0); } if(si->StdOut != 1) { dup2(si->StdOut, 1); } if(si->StdErr != 2) { dup2(si->StdErr, 2); } /* Clear the close-on-exec flag for stdin, stdout, and stderr. All other pipe handles will be closed when exec succeeds. */ fcntl(0, F_SETFD, 0); fcntl(1, F_SETFD, 0); fcntl(2, F_SETFD, 0); /* Restore all default signal handlers. */ kwsysProcessRestoreDefaultSignalHandlers(); /* Now that we have restored default signal handling and created the process group, restore mask. */ sigprocmask(SIG_SETMASK, &old_mask, 0); /* Create new process group. We use setsid instead of setpgid to avoid the child getting hung up on signals like SIGTTOU. (In the real world, this has been observed where "git svn" ends up calling the "resize" program which opens /dev/tty. */ if(cp->CreateProcessGroup && setsid() < 0) { kwsysProcessChildErrorExit(si->ErrorPipe[1]); } #endif /* Execute the real process. If successful, this does not return. */ execvp(cp->Commands[prIndex][0], cp->Commands[prIndex]); /* TODO: What does VMS do if the child fails to start? */ /* TODO: On VMS, how do we put the process in a new group? */ /* Failure. Report error to parent and terminate. */ kwsysProcessChildErrorExit(si->ErrorPipe[1]); } #if defined(__VMS) /* Restore the standard pipes of this process. */ decc$set_child_standard_streams(0, 1, 2); #endif /* We are done with the error reporting pipe and process group setup pipe write end. */ kwsysProcessCleanupDescriptor(&si->ErrorPipe[1]); kwsysProcessCleanupDescriptor(&pgidPipe[1]); /* Make sure the child is in the process group before we proceed. This avoids race conditions with calls to the kill function that we make for signalling process groups. */ while((readRes = read(pgidPipe[0], &tmp, 1)) > 0); if(readRes < 0) { sigprocmask(SIG_SETMASK, &old_mask, 0); kwsysProcessCleanupDescriptor(&si->ErrorPipe[0]); kwsysProcessCleanupDescriptor(&pgidPipe[0]); return 0; } kwsysProcessCleanupDescriptor(&pgidPipe[0]); /* Unmask signals. */ if(sigprocmask(SIG_SETMASK, &old_mask, 0) < 0) { kwsysProcessCleanupDescriptor(&si->ErrorPipe[0]); return 0; } /* A child has been created. */ ++cp->CommandsLeft; /* Block until the child's exec call succeeds and closes the error pipe or writes data to the pipe to report an error. */ { kwsysProcess_ssize_t total = 0; kwsysProcess_ssize_t n = 1; /* Read the entire error message up to the length of our buffer. */ while(total < KWSYSPE_PIPE_BUFFER_SIZE && n > 0) { /* Keep trying to read until the operation is not interrupted. */ while(((n = read(si->ErrorPipe[0], cp->ErrorMessage+total, (size_t)(KWSYSPE_PIPE_BUFFER_SIZE-total))) < 0) && (errno == EINTR)); if(n > 0) { total += n; } } /* We are done with the error reporting pipe read end. */ kwsysProcessCleanupDescriptor(&si->ErrorPipe[0]); if(total > 0) { /* The child failed to execute the process. */ return 0; } } return 1; } /*--------------------------------------------------------------------------*/ static void kwsysProcessDestroy(kwsysProcess* cp) { /* A child process has terminated. Reap it if it is one handled by this object. */ int i; /* Temporarily disable signals that access ForkPIDs. We don't want them to read a reaped PID, and writes to ForkPIDs are not atomic. */ sigset_t mask, old_mask; sigemptyset(&mask); sigaddset(&mask, SIGINT); sigaddset(&mask, SIGTERM); if(sigprocmask(SIG_BLOCK, &mask, &old_mask) < 0) { return; } for(i=0; i < cp->NumberOfCommands; ++i) { if(cp->ForkPIDs[i]) { int result; while(((result = waitpid(cp->ForkPIDs[i], &cp->CommandExitCodes[i], WNOHANG)) < 0) && (errno == EINTR)); if(result > 0) { /* This child has termianted. */ cp->ForkPIDs[i] = 0; if(--cp->CommandsLeft == 0) { /* All children have terminated. Close the signal pipe write end so that no more notifications are sent to this object. */ kwsysProcessCleanupDescriptor(&cp->SignalPipe); /* TODO: Once the children have terminated, switch WaitForData to use a non-blocking read to get the rest of the data from the pipe. This is needed when grandchildren keep the output pipes open. */ } } else if(result < 0 && cp->State != kwsysProcess_State_Error) { /* Unexpected error. Report the first time this happens. */ strncpy(cp->ErrorMessage, strerror(errno), KWSYSPE_PIPE_BUFFER_SIZE); cp->State = kwsysProcess_State_Error; } } } /* Re-enable signals. */ sigprocmask(SIG_SETMASK, &old_mask, 0); } /*--------------------------------------------------------------------------*/ static int kwsysProcessSetupOutputPipeFile(int* p, const char* name) { int fout; if(!name) { return 1; } /* Close the existing descriptor. */ kwsysProcessCleanupDescriptor(p); /* Open a file for the pipe to write. */ if((fout = open(name, O_WRONLY | O_CREAT | O_TRUNC, 0666)) < 0) { return 0; } /* Set close-on-exec flag on the pipe's end. */ if(fcntl(fout, F_SETFD, FD_CLOEXEC) < 0) { return 0; } /* Assign the replacement descriptor. */ *p = fout; return 1; } /*--------------------------------------------------------------------------*/ static int kwsysProcessSetupOutputPipeNative(int* p, int des[2]) { /* Close the existing descriptor. */ kwsysProcessCleanupDescriptor(p); /* Set close-on-exec flag on the pipe's ends. The proper end will be dup2-ed into the standard descriptor number after fork but before exec. */ if((fcntl(des[0], F_SETFD, FD_CLOEXEC) < 0) || (fcntl(des[1], F_SETFD, FD_CLOEXEC) < 0)) { return 0; } /* Assign the replacement descriptor. */ *p = des[1]; return 1; } /*--------------------------------------------------------------------------*/ /* Get the time at which either the process or user timeout will expire. Returns 1 if the user timeout is first, and 0 otherwise. */ static int kwsysProcessGetTimeoutTime(kwsysProcess* cp, double* userTimeout, kwsysProcessTime* timeoutTime) { /* The first time this is called, we need to calculate the time at which the child will timeout. */ if(cp->Timeout > 0 && cp->TimeoutTime.tv_sec < 0) { kwsysProcessTime length = kwsysProcessTimeFromDouble(cp->Timeout); cp->TimeoutTime = kwsysProcessTimeAdd(cp->StartTime, length); } /* Start with process timeout. */ *timeoutTime = cp->TimeoutTime; /* Check if the user timeout is earlier. */ if(userTimeout) { kwsysProcessTime currentTime = kwsysProcessTimeGetCurrent(); kwsysProcessTime userTimeoutLength = kwsysProcessTimeFromDouble(*userTimeout); kwsysProcessTime userTimeoutTime = kwsysProcessTimeAdd(currentTime, userTimeoutLength); if(timeoutTime->tv_sec < 0 || kwsysProcessTimeLess(userTimeoutTime, *timeoutTime)) { *timeoutTime = userTimeoutTime; return 1; } } return 0; } /*--------------------------------------------------------------------------*/ /* Get the length of time before the given timeout time arrives. Returns 1 if the time has already arrived, and 0 otherwise. */ static int kwsysProcessGetTimeoutLeft(kwsysProcessTime* timeoutTime, double* userTimeout, kwsysProcessTimeNative* timeoutLength, int zeroIsExpired) { if(timeoutTime->tv_sec < 0) { /* No timeout time has been requested. */ return 0; } else { /* Calculate the remaining time. */ kwsysProcessTime currentTime = kwsysProcessTimeGetCurrent(); kwsysProcessTime timeLeft = kwsysProcessTimeSubtract(*timeoutTime, currentTime); if(timeLeft.tv_sec < 0 && userTimeout && *userTimeout <= 0) { /* Caller has explicitly requested a zero timeout. */ timeLeft.tv_sec = 0; timeLeft.tv_usec = 0; } if(timeLeft.tv_sec < 0 || (timeLeft.tv_sec == 0 && timeLeft.tv_usec == 0 && zeroIsExpired)) { /* Timeout has already expired. */ return 1; } else { /* There is some time left. */ timeoutLength->tv_sec = timeLeft.tv_sec; timeoutLength->tv_usec = timeLeft.tv_usec; return 0; } } } /*--------------------------------------------------------------------------*/ static kwsysProcessTime kwsysProcessTimeGetCurrent(void) { kwsysProcessTime current; kwsysProcessTimeNative current_native; gettimeofday(¤t_native, 0); current.tv_sec = (long)current_native.tv_sec; current.tv_usec = (long)current_native.tv_usec; return current; } /*--------------------------------------------------------------------------*/ static double kwsysProcessTimeToDouble(kwsysProcessTime t) { return (double)t.tv_sec + (double)(t.tv_usec)*0.000001; } /*--------------------------------------------------------------------------*/ static kwsysProcessTime kwsysProcessTimeFromDouble(double d) { kwsysProcessTime t; t.tv_sec = (long)d; t.tv_usec = (long)((d-(double)(t.tv_sec))*1000000); return t; } /*--------------------------------------------------------------------------*/ static int kwsysProcessTimeLess(kwsysProcessTime in1, kwsysProcessTime in2) { return ((in1.tv_sec < in2.tv_sec) || ((in1.tv_sec == in2.tv_sec) && (in1.tv_usec < in2.tv_usec))); } /*--------------------------------------------------------------------------*/ static kwsysProcessTime kwsysProcessTimeAdd(kwsysProcessTime in1, kwsysProcessTime in2) { kwsysProcessTime out; out.tv_sec = in1.tv_sec + in2.tv_sec; out.tv_usec = in1.tv_usec + in2.tv_usec; if(out.tv_usec > 1000000) { out.tv_usec -= 1000000; out.tv_sec += 1; } return out; } /*--------------------------------------------------------------------------*/ static kwsysProcessTime kwsysProcessTimeSubtract(kwsysProcessTime in1, kwsysProcessTime in2) { kwsysProcessTime out; out.tv_sec = in1.tv_sec - in2.tv_sec; out.tv_usec = in1.tv_usec - in2.tv_usec; if(out.tv_usec < 0) { out.tv_usec += 1000000; out.tv_sec -= 1; } return out; } /*--------------------------------------------------------------------------*/ #define KWSYSPE_CASE(type, str) \ cp->ExitException = kwsysProcess_Exception_##type; \ strcpy(cp->ExitExceptionString, str) static void kwsysProcessSetExitException(kwsysProcess* cp, int sig) { switch (sig) { #ifdef SIGSEGV case SIGSEGV: KWSYSPE_CASE(Fault, "Segmentation fault"); break; #endif #ifdef SIGBUS # if !defined(SIGSEGV) || SIGBUS != SIGSEGV case SIGBUS: KWSYSPE_CASE(Fault, "Bus error"); break; # endif #endif #ifdef SIGFPE case SIGFPE: KWSYSPE_CASE(Numerical, "Floating-point exception"); break; #endif #ifdef SIGILL case SIGILL: KWSYSPE_CASE(Illegal, "Illegal instruction"); break; #endif #ifdef SIGINT case SIGINT: KWSYSPE_CASE(Interrupt, "User interrupt"); break; #endif #ifdef SIGABRT case SIGABRT: KWSYSPE_CASE(Other, "Child aborted"); break; #endif #ifdef SIGKILL case SIGKILL: KWSYSPE_CASE(Other, "Child killed"); break; #endif #ifdef SIGTERM case SIGTERM: KWSYSPE_CASE(Other, "Child terminated"); break; #endif #ifdef SIGHUP case SIGHUP: KWSYSPE_CASE(Other, "SIGHUP"); break; #endif #ifdef SIGQUIT case SIGQUIT: KWSYSPE_CASE(Other, "SIGQUIT"); break; #endif #ifdef SIGTRAP case SIGTRAP: KWSYSPE_CASE(Other, "SIGTRAP"); break; #endif #ifdef SIGIOT # if !defined(SIGABRT) || SIGIOT != SIGABRT case SIGIOT: KWSYSPE_CASE(Other, "SIGIOT"); break; # endif #endif #ifdef SIGUSR1 case SIGUSR1: KWSYSPE_CASE(Other, "SIGUSR1"); break; #endif #ifdef SIGUSR2 case SIGUSR2: KWSYSPE_CASE(Other, "SIGUSR2"); break; #endif #ifdef SIGPIPE case SIGPIPE: KWSYSPE_CASE(Other, "SIGPIPE"); break; #endif #ifdef SIGALRM case SIGALRM: KWSYSPE_CASE(Other, "SIGALRM"); break; #endif #ifdef SIGSTKFLT case SIGSTKFLT: KWSYSPE_CASE(Other, "SIGSTKFLT"); break; #endif #ifdef SIGCHLD case SIGCHLD: KWSYSPE_CASE(Other, "SIGCHLD"); break; #elif defined(SIGCLD) case SIGCLD: KWSYSPE_CASE(Other, "SIGCLD"); break; #endif #ifdef SIGCONT case SIGCONT: KWSYSPE_CASE(Other, "SIGCONT"); break; #endif #ifdef SIGSTOP case SIGSTOP: KWSYSPE_CASE(Other, "SIGSTOP"); break; #endif #ifdef SIGTSTP case SIGTSTP: KWSYSPE_CASE(Other, "SIGTSTP"); break; #endif #ifdef SIGTTIN case SIGTTIN: KWSYSPE_CASE(Other, "SIGTTIN"); break; #endif #ifdef SIGTTOU case SIGTTOU: KWSYSPE_CASE(Other, "SIGTTOU"); break; #endif #ifdef SIGURG case SIGURG: KWSYSPE_CASE(Other, "SIGURG"); break; #endif #ifdef SIGXCPU case SIGXCPU: KWSYSPE_CASE(Other, "SIGXCPU"); break; #endif #ifdef SIGXFSZ case SIGXFSZ: KWSYSPE_CASE(Other, "SIGXFSZ"); break; #endif #ifdef SIGVTALRM case SIGVTALRM: KWSYSPE_CASE(Other, "SIGVTALRM"); break; #endif #ifdef SIGPROF case SIGPROF: KWSYSPE_CASE(Other, "SIGPROF"); break; #endif #ifdef SIGWINCH case SIGWINCH: KWSYSPE_CASE(Other, "SIGWINCH"); break; #endif #ifdef SIGPOLL case SIGPOLL: KWSYSPE_CASE(Other, "SIGPOLL"); break; #endif #ifdef SIGIO # if !defined(SIGPOLL) || SIGIO != SIGPOLL case SIGIO: KWSYSPE_CASE(Other, "SIGIO"); break; # endif #endif #ifdef SIGPWR case SIGPWR: KWSYSPE_CASE(Other, "SIGPWR"); break; #endif #ifdef SIGSYS case SIGSYS: KWSYSPE_CASE(Other, "SIGSYS"); break; #endif #ifdef SIGUNUSED # if !defined(SIGSYS) || SIGUNUSED != SIGSYS case SIGUNUSED: KWSYSPE_CASE(Other, "SIGUNUSED"); break; # endif #endif default: cp->ExitException = kwsysProcess_Exception_Other; sprintf(cp->ExitExceptionString, "Signal %d", sig); break; } } #undef KWSYSPE_CASE /*--------------------------------------------------------------------------*/ /* When the child process encounters an error before its program is invoked, this is called to report the error to the parent and exit. */ static void kwsysProcessChildErrorExit(int errorPipe) { /* Construct the error message. */ char buffer[KWSYSPE_PIPE_BUFFER_SIZE]; kwsysProcess_ssize_t result; strncpy(buffer, strerror(errno), KWSYSPE_PIPE_BUFFER_SIZE); /* Report the error to the parent through the special pipe. */ result=write(errorPipe, buffer, strlen(buffer)); (void)result; /* Terminate without cleanup. */ _exit(1); } /*--------------------------------------------------------------------------*/ /* Restores all signal handlers to their default values. */ static void kwsysProcessRestoreDefaultSignalHandlers(void) { struct sigaction act; memset(&act, 0, sizeof(struct sigaction)); act.sa_handler = SIG_DFL; #ifdef SIGHUP sigaction(SIGHUP, &act, 0); #endif #ifdef SIGINT sigaction(SIGINT, &act, 0); #endif #ifdef SIGQUIT sigaction(SIGQUIT, &act, 0); #endif #ifdef SIGILL sigaction(SIGILL, &act, 0); #endif #ifdef SIGTRAP sigaction(SIGTRAP, &act, 0); #endif #ifdef SIGABRT sigaction(SIGABRT, &act, 0); #endif #ifdef SIGIOT sigaction(SIGIOT, &act, 0); #endif #ifdef SIGBUS sigaction(SIGBUS, &act, 0); #endif #ifdef SIGFPE sigaction(SIGFPE, &act, 0); #endif #ifdef SIGUSR1 sigaction(SIGUSR1, &act, 0); #endif #ifdef SIGSEGV sigaction(SIGSEGV, &act, 0); #endif #ifdef SIGUSR2 sigaction(SIGUSR2, &act, 0); #endif #ifdef SIGPIPE sigaction(SIGPIPE, &act, 0); #endif #ifdef SIGALRM sigaction(SIGALRM, &act, 0); #endif #ifdef SIGTERM sigaction(SIGTERM, &act, 0); #endif #ifdef SIGSTKFLT sigaction(SIGSTKFLT, &act, 0); #endif #ifdef SIGCLD sigaction(SIGCLD, &act, 0); #endif #ifdef SIGCHLD sigaction(SIGCHLD, &act, 0); #endif #ifdef SIGCONT sigaction(SIGCONT, &act, 0); #endif #ifdef SIGTSTP sigaction(SIGTSTP, &act, 0); #endif #ifdef SIGTTIN sigaction(SIGTTIN, &act, 0); #endif #ifdef SIGTTOU sigaction(SIGTTOU, &act, 0); #endif #ifdef SIGURG sigaction(SIGURG, &act, 0); #endif #ifdef SIGXCPU sigaction(SIGXCPU, &act, 0); #endif #ifdef SIGXFSZ sigaction(SIGXFSZ, &act, 0); #endif #ifdef SIGVTALRM sigaction(SIGVTALRM, &act, 0); #endif #ifdef SIGPROF sigaction(SIGPROF, &act, 0); #endif #ifdef SIGWINCH sigaction(SIGWINCH, &act, 0); #endif #ifdef SIGPOLL sigaction(SIGPOLL, &act, 0); #endif #ifdef SIGIO sigaction(SIGIO, &act, 0); #endif #ifdef SIGPWR sigaction(SIGPWR, &act, 0); #endif #ifdef SIGSYS sigaction(SIGSYS, &act, 0); #endif #ifdef SIGUNUSED sigaction(SIGUNUSED, &act, 0); #endif } /*--------------------------------------------------------------------------*/ static void kwsysProcessExit(void) { _exit(0); } /*--------------------------------------------------------------------------*/ #if !defined(__VMS) static pid_t kwsysProcessFork(kwsysProcess* cp, kwsysProcessCreateInformation* si) { /* Create a detached process if requested. */ if(cp->OptionDetach) { /* Create an intermediate process. */ pid_t middle_pid = fork(); if(middle_pid < 0) { /* Fork failed. Return as if we were not detaching. */ return middle_pid; } else if(middle_pid == 0) { /* This is the intermediate process. Create the real child. */ pid_t child_pid = fork(); if(child_pid == 0) { /* This is the real child process. There is nothing to do here. */ return 0; } else { /* Use the error pipe to report the pid to the real parent. */ while((write(si->ErrorPipe[1], &child_pid, sizeof(child_pid)) < 0) && (errno == EINTR)); /* Exit without cleanup. The parent holds all resources. */ kwsysProcessExit(); return 0; /* Never reached, but avoids SunCC warning. */ } } else { /* This is the original parent process. The intermediate process will use the error pipe to report the pid of the detached child. */ pid_t child_pid; int status; while((read(si->ErrorPipe[0], &child_pid, sizeof(child_pid)) < 0) && (errno == EINTR)); /* Wait for the intermediate process to exit and clean it up. */ while((waitpid(middle_pid, &status, 0) < 0) && (errno == EINTR)); return child_pid; } } else { /* Not creating a detached process. Use normal fork. */ return fork(); } } #endif /*--------------------------------------------------------------------------*/ /* We try to obtain process information by invoking the ps command. Here we define the command to call on each platform and the corresponding parsing format string. The parsing format should have two integers to store: the pid and then the ppid. */ #if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) \ || defined(__OpenBSD__) || defined(__GLIBC__) || defined(__GNU__) # define KWSYSPE_PS_COMMAND "ps axo pid,ppid" # define KWSYSPE_PS_FORMAT "%d %d\n" #elif defined(__sun) && (defined(__SVR4) || defined(__svr4__)) /* Solaris */ # define KWSYSPE_PS_COMMAND "ps -e -o pid,ppid" # define KWSYSPE_PS_FORMAT "%d %d\n" #elif defined(__hpux) || defined(__sun__) || defined(__sgi) || defined(_AIX) \ || defined(__sparc) # define KWSYSPE_PS_COMMAND "ps -ef" # define KWSYSPE_PS_FORMAT "%*s %d %d %*[^\n]\n" #elif defined(__QNX__) # define KWSYSPE_PS_COMMAND "ps -Af" # define KWSYSPE_PS_FORMAT "%*d %d %d %*[^\n]\n" #elif defined(__CYGWIN__) # define KWSYSPE_PS_COMMAND "ps aux" # define KWSYSPE_PS_FORMAT "%d %d %*[^\n]\n" #endif /*--------------------------------------------------------------------------*/ static void kwsysProcessKill(pid_t process_id) { #if defined(__linux__) || defined(__CYGWIN__) DIR* procdir; #endif /* Suspend the process to be sure it will not create more children. */ kill(process_id, SIGSTOP); #if defined(__CYGWIN__) /* Some Cygwin versions seem to need help here. Give up our time slice so that the child can process SIGSTOP before we send SIGKILL. */ usleep(1); #endif /* Kill all children if we can find them. */ #if defined(__linux__) || defined(__CYGWIN__) /* First try using the /proc filesystem. */ if((procdir = opendir("/proc")) != NULL) { #if defined(MAXPATHLEN) char fname[MAXPATHLEN]; #elif defined(PATH_MAX) char fname[PATH_MAX]; #else char fname[4096]; #endif char buffer[KWSYSPE_PIPE_BUFFER_SIZE+1]; struct dirent* d; /* Each process has a directory in /proc whose name is the pid. Within this directory is a file called stat that has the following format: pid (command line) status ppid ... We want to get the ppid for all processes. Those that have process_id as their parent should be recursively killed. */ for(d = readdir(procdir); d; d = readdir(procdir)) { int pid; if(sscanf(d->d_name, "%d", &pid) == 1 && pid != 0) { struct stat finfo; sprintf(fname, "/proc/%d/stat", pid); if(stat(fname, &finfo) == 0) { FILE* f = fopen(fname, "r"); if(f) { size_t nread = fread(buffer, 1, KWSYSPE_PIPE_BUFFER_SIZE, f); fclose(f); buffer[nread] = '\0'; if(nread > 0) { const char* rparen = strrchr(buffer, ')'); int ppid; if(rparen && (sscanf(rparen+1, "%*s %d", &ppid) == 1)) { if(ppid == process_id) { /* Recursively kill this child and its children. */ kwsysProcessKill(pid); } } } } } } } closedir(procdir); } else #endif { #if defined(KWSYSPE_PS_COMMAND) /* Try running "ps" to get the process information. */ FILE* ps = popen(KWSYSPE_PS_COMMAND, "r"); /* Make sure the process started and provided a valid header. */ if(ps && fscanf(ps, "%*[^\n]\n") != EOF) { /* Look for processes whose parent is the process being killed. */ int pid, ppid; while(fscanf(ps, KWSYSPE_PS_FORMAT, &pid, &ppid) == 2) { if(ppid == process_id) { /* Recursively kill this child and its children. */ kwsysProcessKill(pid); } } } /* We are done with the ps process. */ if(ps) { pclose(ps); } #endif } /* Kill the process. */ kill(process_id, SIGKILL); #if defined(__APPLE__) /* On OS X 10.3 the above SIGSTOP occasionally prevents the SIGKILL from working. Just in case, we resume the child and kill it again. There is a small race condition in this obscure case. If the child manages to fork again between these two signals, we will not catch its children. */ kill(process_id, SIGCONT); kill(process_id, SIGKILL); #endif } /*--------------------------------------------------------------------------*/ #if defined(__VMS) int decc$feature_get_index(const char* name); int decc$feature_set_value(int index, int mode, int value); static int kwsysProcessSetVMSFeature(const char* name, int value) { int i; errno = 0; i = decc$feature_get_index(name); return i >= 0 && (decc$feature_set_value(i, 1, value) >= 0 || errno == 0); } #endif /*--------------------------------------------------------------------------*/ /* Global set of executing processes for use by the signal handler. This global instance will be zero-initialized by the compiler. */ typedef struct kwsysProcessInstances_s { int Count; int Size; kwsysProcess** Processes; } kwsysProcessInstances; static kwsysProcessInstances kwsysProcesses; /* The old SIGCHLD / SIGINT / SIGTERM handlers. */ static struct sigaction kwsysProcessesOldSigChldAction; static struct sigaction kwsysProcessesOldSigIntAction; static struct sigaction kwsysProcessesOldSigTermAction; /*--------------------------------------------------------------------------*/ static void kwsysProcessesUpdate(kwsysProcessInstances* newProcesses) { /* Block signals while we update the set of pipes to check. TODO: sigprocmask is undefined for threaded apps. See pthread_sigmask. */ sigset_t newset; sigset_t oldset; sigemptyset(&newset); sigaddset(&newset, SIGCHLD); sigaddset(&newset, SIGINT); sigaddset(&newset, SIGTERM); sigprocmask(SIG_BLOCK, &newset, &oldset); /* Store the new set in that seen by the signal handler. */ kwsysProcesses = *newProcesses; /* Restore the signal mask to the previous setting. */ sigprocmask(SIG_SETMASK, &oldset, 0); } /*--------------------------------------------------------------------------*/ static int kwsysProcessesAdd(kwsysProcess* cp) { /* Create a pipe through which the signal handler can notify the given process object that a child has exited. */ { /* Create the pipe. */ int p[2]; if(pipe(p KWSYSPE_VMS_NONBLOCK) < 0) { return 0; } /* Store the pipes now to be sure they are cleaned up later. */ cp->PipeReadEnds[KWSYSPE_PIPE_SIGNAL] = p[0]; cp->SignalPipe = p[1]; /* Switch the pipe to non-blocking mode so that reading a byte can be an atomic test-and-set. */ if(!kwsysProcessSetNonBlocking(p[0]) || !kwsysProcessSetNonBlocking(p[1])) { return 0; } /* The children do not need this pipe. Set close-on-exec flag on the pipe's ends. */ if((fcntl(p[0], F_SETFD, FD_CLOEXEC) < 0) || (fcntl(p[1], F_SETFD, FD_CLOEXEC) < 0)) { return 0; } } /* Attempt to add the given signal pipe to the signal handler set. */ { /* Make sure there is enough space for the new signal pipe. */ kwsysProcessInstances oldProcesses = kwsysProcesses; kwsysProcessInstances newProcesses = oldProcesses; if(oldProcesses.Count == oldProcesses.Size) { /* Start with enough space for a small number of process instances and double the size each time more is needed. */ newProcesses.Size = oldProcesses.Size? oldProcesses.Size*2 : 4; /* Try allocating the new block of memory. */ if((newProcesses.Processes = ((kwsysProcess**) malloc((size_t)(newProcesses.Size)* sizeof(kwsysProcess*))))) { /* Copy the old pipe set to the new memory. */ if(oldProcesses.Count > 0) { memcpy(newProcesses.Processes, oldProcesses.Processes, ((size_t)(oldProcesses.Count) * sizeof(kwsysProcess*))); } } else { /* Failed to allocate memory for the new signal pipe set. */ return 0; } } /* Append the new signal pipe to the set. */ newProcesses.Processes[newProcesses.Count++] = cp; /* Store the new set in that seen by the signal handler. */ kwsysProcessesUpdate(&newProcesses); /* Free the original pipes if new ones were allocated. */ if(newProcesses.Processes != oldProcesses.Processes) { free(oldProcesses.Processes); } /* If this is the first process, enable the signal handler. */ if(newProcesses.Count == 1) { /* Install our handler for SIGCHLD. Repeat call until it is not interrupted. */ struct sigaction newSigAction; memset(&newSigAction, 0, sizeof(struct sigaction)); #if KWSYSPE_USE_SIGINFO newSigAction.sa_sigaction = kwsysProcessesSignalHandler; newSigAction.sa_flags = SA_NOCLDSTOP | SA_SIGINFO; # ifdef SA_RESTART newSigAction.sa_flags |= SA_RESTART; # endif #else newSigAction.sa_handler = kwsysProcessesSignalHandler; newSigAction.sa_flags = SA_NOCLDSTOP; #endif sigemptyset(&newSigAction.sa_mask); while((sigaction(SIGCHLD, &newSigAction, &kwsysProcessesOldSigChldAction) < 0) && (errno == EINTR)); /* Install our handler for SIGINT / SIGTERM. Repeat call until it is not interrupted. */ sigemptyset(&newSigAction.sa_mask); sigaddset(&newSigAction.sa_mask, SIGTERM); while((sigaction(SIGINT, &newSigAction, &kwsysProcessesOldSigIntAction) < 0) && (errno == EINTR)); sigemptyset(&newSigAction.sa_mask); sigaddset(&newSigAction.sa_mask, SIGINT); while((sigaction(SIGTERM, &newSigAction, &kwsysProcessesOldSigIntAction) < 0) && (errno == EINTR)); } } return 1; } /*--------------------------------------------------------------------------*/ static void kwsysProcessesRemove(kwsysProcess* cp) { /* Attempt to remove the given signal pipe from the signal handler set. */ { /* Find the given process in the set. */ kwsysProcessInstances newProcesses = kwsysProcesses; int i; for(i=0; i < newProcesses.Count; ++i) { if(newProcesses.Processes[i] == cp) { break; } } if(i < newProcesses.Count) { /* Remove the process from the set. */ --newProcesses.Count; for(; i < newProcesses.Count; ++i) { newProcesses.Processes[i] = newProcesses.Processes[i+1]; } /* If this was the last process, disable the signal handler. */ if(newProcesses.Count == 0) { /* Restore the signal handlers. Repeat call until it is not interrupted. */ while((sigaction(SIGCHLD, &kwsysProcessesOldSigChldAction, 0) < 0) && (errno == EINTR)); while((sigaction(SIGINT, &kwsysProcessesOldSigIntAction, 0) < 0) && (errno == EINTR)); while((sigaction(SIGTERM, &kwsysProcessesOldSigTermAction, 0) < 0) && (errno == EINTR)); /* Free the table of process pointers since it is now empty. This is safe because the signal handler has been removed. */ newProcesses.Size = 0; free(newProcesses.Processes); newProcesses.Processes = 0; } /* Store the new set in that seen by the signal handler. */ kwsysProcessesUpdate(&newProcesses); } } /* Close the pipe through which the signal handler may have notified the given process object that a child has exited. */ kwsysProcessCleanupDescriptor(&cp->SignalPipe); } /*--------------------------------------------------------------------------*/ static void kwsysProcessesSignalHandler(int signum #if KWSYSPE_USE_SIGINFO , siginfo_t* info, void* ucontext #endif ) { int i, j, procStatus, old_errno = errno; #if KWSYSPE_USE_SIGINFO (void)info; (void)ucontext; #endif /* Signal all process objects that a child has terminated. */ switch(signum) { case SIGCHLD: for(i=0; i < kwsysProcesses.Count; ++i) { /* Set the pipe in a signalled state. */ char buf = 1; kwsysProcess* cp = kwsysProcesses.Processes[i]; kwsysProcess_ssize_t pipeStatus= read(cp->PipeReadEnds[KWSYSPE_PIPE_SIGNAL], &buf, 1); (void)pipeStatus; pipeStatus=write(cp->SignalPipe, &buf, 1); (void)pipeStatus; } break; case SIGINT: case SIGTERM: /* Signal child processes that are running in new process groups. */ for(i=0; i < kwsysProcesses.Count; ++i) { kwsysProcess* cp = kwsysProcesses.Processes[i]; /* Check Killed to avoid data race condition when killing. Check State to avoid data race condition in kwsysProcessCleanup when there is an error (it leaves a reaped PID). */ if(cp->CreateProcessGroup && !cp->Killed && cp->State != kwsysProcess_State_Error && cp->ForkPIDs) { for(j=0; j < cp->NumberOfCommands; ++j) { /* Make sure the PID is still valid. */ if(cp->ForkPIDs[j]) { /* The user created a process group for this process. The group ID is the process ID for the original process in the group. */ kill(-cp->ForkPIDs[j], SIGINT); } } } } /* Wait for all processes to terminate. */ while(wait(&procStatus) >= 0 || errno != ECHILD) { } /* Terminate the process, which is now in an inconsistent state because we reaped all the PIDs that it may have been reaping or may have reaped in the future. Reraise the signal so that the proper exit code is returned. */ { /* Install default signal handler. */ struct sigaction defSigAction; sigset_t unblockSet; memset(&defSigAction, 0, sizeof(defSigAction)); defSigAction.sa_handler = SIG_DFL; sigemptyset(&defSigAction.sa_mask); while((sigaction(signum, &defSigAction, 0) < 0) && (errno == EINTR)); /* Unmask the signal. */ sigemptyset(&unblockSet); sigaddset(&unblockSet, signum); sigprocmask(SIG_UNBLOCK, &unblockSet, 0); /* Raise the signal again. */ raise(signum); /* We shouldn't get here... but if we do... */ _exit(1); } /* break omitted to silence unreachable code clang compiler warning. */ } #if !KWSYSPE_USE_SIGINFO /* Re-Install our handler. Repeat call until it is not interrupted. */ { struct sigaction newSigAction; struct sigaction &oldSigAction; memset(&newSigAction, 0, sizeof(struct sigaction)); newSigChldAction.sa_handler = kwsysProcessesSignalHandler; newSigChldAction.sa_flags = SA_NOCLDSTOP; sigemptyset(&newSigAction.sa_mask); switch(signum) { case SIGCHLD: oldSigAction = &kwsysProcessesOldSigChldAction; break; case SIGINT: sigaddset(&newSigAction.sa_mask, SIGTERM); oldSigAction = &kwsysProcessesOldSigIntAction; break; case SIGTERM: sigaddset(&newSigAction.sa_mask, SIGINT); oldSigAction = &kwsysProcessesOldSigTermAction; break; default: return 0; } while((sigaction(signum, &newSigAction, oldSigAction) < 0) && (errno == EINTR)); } #endif errno = old_errno; } KWStyle-master/Utilities/KWSys/ProcessWin32.c000066400000000000000000002646011265471724600213400ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(Process.h) #include KWSYS_HEADER(Encoding.h) /* Work-around CMake dependency scanning limitation. This must duplicate the above list of headers. */ #if 0 # include "Process.h.in" # include "Encoding_c.h.in" #endif /* Implementation for Windows On windows, a thread is created to wait for data on each pipe. The threads are synchronized with the main thread to simulate the use of a UNIX-style select system call. */ #ifdef _MSC_VER #pragma warning (push, 1) #endif #include /* Windows API */ #if defined(_MSC_VER) && _MSC_VER >= 1800 # define KWSYS_WINDOWS_DEPRECATED_GetVersionEx #endif #include /* strlen, strdup */ #include /* sprintf */ #include /* _unlink */ #ifdef __WATCOMC__ #define _unlink unlink #endif #ifndef _MAX_FNAME #define _MAX_FNAME 4096 #endif #ifndef _MAX_PATH #define _MAX_PATH 4096 #endif #ifdef _MSC_VER #pragma warning (pop) #pragma warning (disable: 4514) #pragma warning (disable: 4706) #endif #if defined(__BORLANDC__) # pragma warn -8004 /* assigned a value that is never used */ # pragma warn -8060 /* Assignment inside if() condition. */ #endif /* There are pipes for the process pipeline's stdout and stderr. */ #define KWSYSPE_PIPE_COUNT 2 #define KWSYSPE_PIPE_STDOUT 0 #define KWSYSPE_PIPE_STDERR 1 /* The maximum amount to read from a pipe at a time. */ #define KWSYSPE_PIPE_BUFFER_SIZE 1024 /* Debug output macro. */ #if 0 # define KWSYSPE_DEBUG(x) \ ( \ (void*)cp == (void*)0x00226DE0? \ ( \ fprintf(stderr, "%d/%p/%d ", (int)GetCurrentProcessId(), cp, __LINE__), \ fprintf x, \ fflush(stderr), \ 1 \ ) : (1) \ ) #else # define KWSYSPE_DEBUG(x) (void)1 #endif typedef LARGE_INTEGER kwsysProcessTime; typedef struct kwsysProcessCreateInformation_s { /* Windows child startup control data. */ STARTUPINFOW StartupInfo; /* Original handles before making inherited duplicates. */ HANDLE hStdInput; HANDLE hStdOutput; HANDLE hStdError; } kwsysProcessCreateInformation; /*--------------------------------------------------------------------------*/ typedef struct kwsysProcessPipeData_s kwsysProcessPipeData; static DWORD WINAPI kwsysProcessPipeThreadRead(LPVOID ptd); static void kwsysProcessPipeThreadReadPipe(kwsysProcess* cp, kwsysProcessPipeData* td); static DWORD WINAPI kwsysProcessPipeThreadWake(LPVOID ptd); static void kwsysProcessPipeThreadWakePipe(kwsysProcess* cp, kwsysProcessPipeData* td); static int kwsysProcessInitialize(kwsysProcess* cp); static DWORD kwsysProcessCreate(kwsysProcess* cp, int index, kwsysProcessCreateInformation* si); static void kwsysProcessDestroy(kwsysProcess* cp, int event); static DWORD kwsysProcessSetupOutputPipeFile(PHANDLE handle, const char* name); static void kwsysProcessSetupSharedPipe(DWORD nStdHandle, PHANDLE handle); static void kwsysProcessSetupPipeNative(HANDLE native, PHANDLE handle); static void kwsysProcessCleanupHandle(PHANDLE h); static void kwsysProcessCleanup(kwsysProcess* cp, DWORD error); static void kwsysProcessCleanErrorMessage(kwsysProcess* cp); static int kwsysProcessGetTimeoutTime(kwsysProcess* cp, double* userTimeout, kwsysProcessTime* timeoutTime); static int kwsysProcessGetTimeoutLeft(kwsysProcessTime* timeoutTime, double* userTimeout, kwsysProcessTime* timeoutLength); static kwsysProcessTime kwsysProcessTimeGetCurrent(void); static DWORD kwsysProcessTimeToDWORD(kwsysProcessTime t); static double kwsysProcessTimeToDouble(kwsysProcessTime t); static kwsysProcessTime kwsysProcessTimeFromDouble(double d); static int kwsysProcessTimeLess(kwsysProcessTime in1, kwsysProcessTime in2); static kwsysProcessTime kwsysProcessTimeAdd(kwsysProcessTime in1, kwsysProcessTime in2); static kwsysProcessTime kwsysProcessTimeSubtract(kwsysProcessTime in1, kwsysProcessTime in2); static void kwsysProcessSetExitException(kwsysProcess* cp, int code); static void kwsysProcessKillTree(int pid); static void kwsysProcessDisablePipeThreads(kwsysProcess* cp); static int kwsysProcessesInitialize(void); static int kwsysTryEnterCreateProcessSection(void); static void kwsysLeaveCreateProcessSection(void); static int kwsysProcessesAdd(HANDLE hProcess, DWORD dwProcessId, int newProcessGroup); static void kwsysProcessesRemove(HANDLE hProcess); static BOOL WINAPI kwsysCtrlHandler(DWORD dwCtrlType); /*--------------------------------------------------------------------------*/ /* A structure containing synchronization data for each thread. */ typedef struct kwsysProcessPipeSync_s kwsysProcessPipeSync; struct kwsysProcessPipeSync_s { /* Handle to the thread. */ HANDLE Thread; /* Semaphore indicating to the thread that a process has started. */ HANDLE Ready; /* Semaphore indicating to the thread that it should begin work. */ HANDLE Go; /* Semaphore indicating thread has reset for another process. */ HANDLE Reset; }; /*--------------------------------------------------------------------------*/ /* A structure containing data for each pipe's threads. */ struct kwsysProcessPipeData_s { /* ------------- Data managed per instance of kwsysProcess ------------- */ /* Synchronization data for reading thread. */ kwsysProcessPipeSync Reader; /* Synchronization data for waking thread. */ kwsysProcessPipeSync Waker; /* Index of this pipe. */ int Index; /* The kwsysProcess instance owning this pipe. */ kwsysProcess* Process; /* ------------- Data managed per call to Execute ------------- */ /* Buffer for data read in this pipe's thread. */ char DataBuffer[KWSYSPE_PIPE_BUFFER_SIZE]; /* The length of the data stored in the buffer. */ DWORD DataLength; /* Whether the pipe has been closed. */ int Closed; /* Handle for the read end of this pipe. */ HANDLE Read; /* Handle for the write end of this pipe. */ HANDLE Write; }; /*--------------------------------------------------------------------------*/ /* Structure containing data used to implement the child's execution. */ struct kwsysProcess_s { /* ------------- Data managed per instance of kwsysProcess ------------- */ /* The status of the process structure. */ int State; /* The command lines to execute. */ wchar_t** Commands; int NumberOfCommands; /* The exit code of each command. */ DWORD* CommandExitCodes; /* The working directory for the child process. */ wchar_t* WorkingDirectory; /* Whether to create the child as a detached process. */ int OptionDetach; /* Whether the child was created as a detached process. */ int Detached; /* Whether to hide the child process's window. */ int HideWindow; /* Whether to treat command lines as verbatim. */ int Verbatim; /* Whether to merge stdout/stderr of the child. */ int MergeOutput; /* Whether to create the process in a new process group. */ int CreateProcessGroup; /* Mutex to protect the shared index used by threads to report data. */ HANDLE SharedIndexMutex; /* Semaphore used by threads to signal data ready. */ HANDLE Full; /* Whether we are currently deleting this kwsysProcess instance. */ int Deleting; /* Data specific to each pipe and its thread. */ kwsysProcessPipeData Pipe[KWSYSPE_PIPE_COUNT]; /* Name of files to which stdin and stdout pipes are attached. */ char* PipeFileSTDIN; char* PipeFileSTDOUT; char* PipeFileSTDERR; /* Whether each pipe is shared with the parent process. */ int PipeSharedSTDIN; int PipeSharedSTDOUT; int PipeSharedSTDERR; /* Native pipes provided by the user. */ HANDLE PipeNativeSTDIN[2]; HANDLE PipeNativeSTDOUT[2]; HANDLE PipeNativeSTDERR[2]; /* ------------- Data managed per call to Execute ------------- */ /* The exceptional behavior that terminated the process, if any. */ int ExitException; /* The process exit code. */ DWORD ExitCode; /* The process return code, if any. */ int ExitValue; /* Index of last pipe to report data, if any. */ int CurrentIndex; /* Index shared by threads to report data. */ int SharedIndex; /* The timeout length. */ double Timeout; /* Time at which the child started. */ kwsysProcessTime StartTime; /* Time at which the child will timeout. Negative for no timeout. */ kwsysProcessTime TimeoutTime; /* Flag for whether the process was killed. */ int Killed; /* Flag for whether the timeout expired. */ int TimeoutExpired; /* Flag for whether the process has terminated. */ int Terminated; /* The number of pipes still open during execution and while waiting for pipes to close after process termination. */ int PipesLeft; /* Buffer for error messages. */ char ErrorMessage[KWSYSPE_PIPE_BUFFER_SIZE+1]; /* Description for the ExitException. */ char ExitExceptionString[KWSYSPE_PIPE_BUFFER_SIZE+1]; /* Windows process information data. */ PROCESS_INFORMATION* ProcessInformation; /* Data and process termination events for which to wait. */ PHANDLE ProcessEvents; int ProcessEventsLength; /* Real working directory of our own process. */ DWORD RealWorkingDirectoryLength; wchar_t* RealWorkingDirectory; /* Own handles for the child's ends of the pipes in the parent process. Used temporarily during process creation. */ HANDLE PipeChildStd[3]; }; /*--------------------------------------------------------------------------*/ kwsysProcess* kwsysProcess_New(void) { int i; /* Process control structure. */ kwsysProcess* cp; /* Windows version number data. */ OSVERSIONINFO osv; /* Initialize list of processes before we get any farther. It's especially important that the console Ctrl handler be added BEFORE starting the first process. This prevents the risk of an orphaned process being started by the main thread while the default Ctrl handler is in progress. */ if(!kwsysProcessesInitialize()) { return 0; } /* Allocate a process control structure. */ cp = (kwsysProcess*)malloc(sizeof(kwsysProcess)); if(!cp) { /* Could not allocate memory for the control structure. */ return 0; } ZeroMemory(cp, sizeof(*cp)); /* Share stdin with the parent process by default. */ cp->PipeSharedSTDIN = 1; /* Set initial status. */ cp->State = kwsysProcess_State_Starting; /* Choose a method of running the child based on version of windows. */ ZeroMemory(&osv, sizeof(osv)); osv.dwOSVersionInfoSize = sizeof(osv); #ifdef KWSYS_WINDOWS_DEPRECATED_GetVersionEx # pragma warning (push) # ifdef __INTEL_COMPILER # pragma warning (disable:1478) # else # pragma warning (disable:4996) # endif #endif GetVersionEx(&osv); #ifdef KWSYS_WINDOWS_DEPRECATED_GetVersionEx # pragma warning (pop) #endif if(osv.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) { /* Win9x no longer supported. */ kwsysProcess_Delete(cp); return 0; } /* Initially no thread owns the mutex. Initialize semaphore to 1. */ if(!(cp->SharedIndexMutex = CreateSemaphore(0, 1, 1, 0))) { kwsysProcess_Delete(cp); return 0; } /* Initially no data are available. Initialize semaphore to 0. */ if(!(cp->Full = CreateSemaphore(0, 0, 1, 0))) { kwsysProcess_Delete(cp); return 0; } /* Create the thread to read each pipe. */ for(i=0; i < KWSYSPE_PIPE_COUNT; ++i) { DWORD dummy=0; /* Assign the thread its index. */ cp->Pipe[i].Index = i; /* Give the thread a pointer back to the kwsysProcess instance. */ cp->Pipe[i].Process = cp; /* No process is yet running. Initialize semaphore to 0. */ if(!(cp->Pipe[i].Reader.Ready = CreateSemaphore(0, 0, 1, 0))) { kwsysProcess_Delete(cp); return 0; } /* The pipe is not yet reset. Initialize semaphore to 0. */ if(!(cp->Pipe[i].Reader.Reset = CreateSemaphore(0, 0, 1, 0))) { kwsysProcess_Delete(cp); return 0; } /* The thread's buffer is initially empty. Initialize semaphore to 1. */ if(!(cp->Pipe[i].Reader.Go = CreateSemaphore(0, 1, 1, 0))) { kwsysProcess_Delete(cp); return 0; } /* Create the reading thread. It will block immediately. The thread will not make deeply nested calls, so we need only a small stack. */ if(!(cp->Pipe[i].Reader.Thread = CreateThread(0, 1024, kwsysProcessPipeThreadRead, &cp->Pipe[i], 0, &dummy))) { kwsysProcess_Delete(cp); return 0; } /* No process is yet running. Initialize semaphore to 0. */ if(!(cp->Pipe[i].Waker.Ready = CreateSemaphore(0, 0, 1, 0))) { kwsysProcess_Delete(cp); return 0; } /* The pipe is not yet reset. Initialize semaphore to 0. */ if(!(cp->Pipe[i].Waker.Reset = CreateSemaphore(0, 0, 1, 0))) { kwsysProcess_Delete(cp); return 0; } /* The waker should not wake immediately. Initialize semaphore to 0. */ if(!(cp->Pipe[i].Waker.Go = CreateSemaphore(0, 0, 1, 0))) { kwsysProcess_Delete(cp); return 0; } /* Create the waking thread. It will block immediately. The thread will not make deeply nested calls, so we need only a small stack. */ if(!(cp->Pipe[i].Waker.Thread = CreateThread(0, 1024, kwsysProcessPipeThreadWake, &cp->Pipe[i], 0, &dummy))) { kwsysProcess_Delete(cp); return 0; } } for(i=0; i < 3; ++i) { cp->PipeChildStd[i] = INVALID_HANDLE_VALUE; } return cp; } /*--------------------------------------------------------------------------*/ void kwsysProcess_Delete(kwsysProcess* cp) { int i; /* Make sure we have an instance. */ if(!cp) { return; } /* If the process is executing, wait for it to finish. */ if(cp->State == kwsysProcess_State_Executing) { if(cp->Detached) { kwsysProcess_Disown(cp); } else { kwsysProcess_WaitForExit(cp, 0); } } /* We are deleting the kwsysProcess instance. */ cp->Deleting = 1; /* Terminate each of the threads. */ for(i=0; i < KWSYSPE_PIPE_COUNT; ++i) { /* Terminate this reading thread. */ if(cp->Pipe[i].Reader.Thread) { /* Signal the thread we are ready for it. It will terminate immediately since Deleting is set. */ ReleaseSemaphore(cp->Pipe[i].Reader.Ready, 1, 0); /* Wait for the thread to exit. */ WaitForSingleObject(cp->Pipe[i].Reader.Thread, INFINITE); /* Close the handle to the thread. */ kwsysProcessCleanupHandle(&cp->Pipe[i].Reader.Thread); } /* Terminate this waking thread. */ if(cp->Pipe[i].Waker.Thread) { /* Signal the thread we are ready for it. It will terminate immediately since Deleting is set. */ ReleaseSemaphore(cp->Pipe[i].Waker.Ready, 1, 0); /* Wait for the thread to exit. */ WaitForSingleObject(cp->Pipe[i].Waker.Thread, INFINITE); /* Close the handle to the thread. */ kwsysProcessCleanupHandle(&cp->Pipe[i].Waker.Thread); } /* Cleanup the pipe's semaphores. */ kwsysProcessCleanupHandle(&cp->Pipe[i].Reader.Ready); kwsysProcessCleanupHandle(&cp->Pipe[i].Reader.Go); kwsysProcessCleanupHandle(&cp->Pipe[i].Reader.Reset); kwsysProcessCleanupHandle(&cp->Pipe[i].Waker.Ready); kwsysProcessCleanupHandle(&cp->Pipe[i].Waker.Go); kwsysProcessCleanupHandle(&cp->Pipe[i].Waker.Reset); } /* Close the shared semaphores. */ kwsysProcessCleanupHandle(&cp->SharedIndexMutex); kwsysProcessCleanupHandle(&cp->Full); /* Free memory. */ kwsysProcess_SetCommand(cp, 0); kwsysProcess_SetWorkingDirectory(cp, 0); kwsysProcess_SetPipeFile(cp, kwsysProcess_Pipe_STDIN, 0); kwsysProcess_SetPipeFile(cp, kwsysProcess_Pipe_STDOUT, 0); kwsysProcess_SetPipeFile(cp, kwsysProcess_Pipe_STDERR, 0); if(cp->CommandExitCodes) { free(cp->CommandExitCodes); } free(cp); } /*--------------------------------------------------------------------------*/ int kwsysProcess_SetCommand(kwsysProcess* cp, char const* const* command) { int i; if(!cp) { return 0; } for(i=0; i < cp->NumberOfCommands; ++i) { free(cp->Commands[i]); } cp->NumberOfCommands = 0; if(cp->Commands) { free(cp->Commands); cp->Commands = 0; } if(command) { return kwsysProcess_AddCommand(cp, command); } return 1; } /*--------------------------------------------------------------------------*/ int kwsysProcess_AddCommand(kwsysProcess* cp, char const* const* command) { int newNumberOfCommands; wchar_t** newCommands; /* Make sure we have a command to add. */ if(!cp || !command || !*command) { return 0; } /* Allocate a new array for command pointers. */ newNumberOfCommands = cp->NumberOfCommands + 1; if(!(newCommands = (wchar_t**)malloc(sizeof(wchar_t*) * newNumberOfCommands))) { /* Out of memory. */ return 0; } /* Copy any existing commands into the new array. */ { int i; for(i=0; i < cp->NumberOfCommands; ++i) { newCommands[i] = cp->Commands[i]; } } if (cp->Verbatim) { /* Copy the verbatim command line into the buffer. */ newCommands[cp->NumberOfCommands] = kwsysEncoding_DupToWide(*command); } else { /* Encode the arguments so CommandLineToArgvW can decode them from the command line string in the child. */ char buffer[32768]; /* CreateProcess max command-line length. */ char* end = buffer + sizeof(buffer); char* out = buffer; char const* const* a; for (a = command; *a; ++a) { int quote = !**a; /* Quote the empty string. */ int slashes = 0; char const* c; if (a != command && out != end) { *out++ = ' '; } for (c = *a; !quote && *c; ++c) { quote = (*c == ' ' || *c == '\t'); } if (quote && out != end) { *out++ = '"'; } for (c = *a; *c; ++c) { if (*c == '\\') { ++slashes; } else { if (*c == '"') { // Add n+1 backslashes to total 2n+1 before internal '"'. while(slashes-- >= 0 && out != end) { *out++ = '\\'; } } slashes = 0; } if (out != end) { *out++ = *c; } } if (quote) { // Add n backslashes to total 2n before ending '"'. while (slashes-- > 0 && out != end) { *out++ = '\\'; } if (out != end) { *out++ = '"'; } } } if(out != end) { *out = '\0'; newCommands[cp->NumberOfCommands] = kwsysEncoding_DupToWide(buffer); } else { newCommands[cp->NumberOfCommands] = 0; } } if (!newCommands[cp->NumberOfCommands]) { /* Out of memory or command line too long. */ free(newCommands); return 0; } /* Save the new array of commands. */ free(cp->Commands); cp->Commands = newCommands; cp->NumberOfCommands = newNumberOfCommands; return 1; } /*--------------------------------------------------------------------------*/ void kwsysProcess_SetTimeout(kwsysProcess* cp, double timeout) { if(!cp) { return; } cp->Timeout = timeout; if(cp->Timeout < 0) { cp->Timeout = 0; } } /*--------------------------------------------------------------------------*/ int kwsysProcess_SetWorkingDirectory(kwsysProcess* cp, const char* dir) { if(!cp) { return 0; } if(cp->WorkingDirectory) { free(cp->WorkingDirectory); cp->WorkingDirectory = 0; } if(dir && dir[0]) { wchar_t* wdir = kwsysEncoding_DupToWide(dir); /* We must convert the working directory to a full path. */ DWORD length = GetFullPathNameW(wdir, 0, 0, 0); if(length > 0) { wchar_t* work_dir = malloc(length*sizeof(wchar_t)); if(!work_dir) { free(wdir); return 0; } if(!GetFullPathNameW(wdir, length, work_dir, 0)) { free(work_dir); free(wdir); return 0; } cp->WorkingDirectory = work_dir; } free(wdir); } return 1; } /*--------------------------------------------------------------------------*/ int kwsysProcess_SetPipeFile(kwsysProcess* cp, int pipe, const char* file) { char** pfile; if(!cp) { return 0; } switch(pipe) { case kwsysProcess_Pipe_STDIN: pfile = &cp->PipeFileSTDIN; break; case kwsysProcess_Pipe_STDOUT: pfile = &cp->PipeFileSTDOUT; break; case kwsysProcess_Pipe_STDERR: pfile = &cp->PipeFileSTDERR; break; default: return 0; } if(*pfile) { free(*pfile); *pfile = 0; } if(file) { *pfile = (char*)malloc(strlen(file)+1); if(!*pfile) { return 0; } strcpy(*pfile, file); } /* If we are redirecting the pipe, do not share it or use a native pipe. */ if(*pfile) { kwsysProcess_SetPipeNative(cp, pipe, 0); kwsysProcess_SetPipeShared(cp, pipe, 0); } return 1; } /*--------------------------------------------------------------------------*/ void kwsysProcess_SetPipeShared(kwsysProcess* cp, int pipe, int shared) { if(!cp) { return; } switch(pipe) { case kwsysProcess_Pipe_STDIN: cp->PipeSharedSTDIN = shared?1:0; break; case kwsysProcess_Pipe_STDOUT: cp->PipeSharedSTDOUT = shared?1:0; break; case kwsysProcess_Pipe_STDERR: cp->PipeSharedSTDERR = shared?1:0; break; default: return; } /* If we are sharing the pipe, do not redirect it to a file or use a native pipe. */ if(shared) { kwsysProcess_SetPipeFile(cp, pipe, 0); kwsysProcess_SetPipeNative(cp, pipe, 0); } } /*--------------------------------------------------------------------------*/ void kwsysProcess_SetPipeNative(kwsysProcess* cp, int pipe, HANDLE p[2]) { HANDLE* pPipeNative = 0; if(!cp) { return; } switch(pipe) { case kwsysProcess_Pipe_STDIN: pPipeNative = cp->PipeNativeSTDIN; break; case kwsysProcess_Pipe_STDOUT: pPipeNative = cp->PipeNativeSTDOUT; break; case kwsysProcess_Pipe_STDERR: pPipeNative = cp->PipeNativeSTDERR; break; default: return; } /* Copy the native pipe handles provided. */ if(p) { pPipeNative[0] = p[0]; pPipeNative[1] = p[1]; } else { pPipeNative[0] = 0; pPipeNative[1] = 0; } /* If we are using a native pipe, do not share it or redirect it to a file. */ if(p) { kwsysProcess_SetPipeFile(cp, pipe, 0); kwsysProcess_SetPipeShared(cp, pipe, 0); } } /*--------------------------------------------------------------------------*/ int kwsysProcess_GetOption(kwsysProcess* cp, int optionId) { if(!cp) { return 0; } switch(optionId) { case kwsysProcess_Option_Detach: return cp->OptionDetach; case kwsysProcess_Option_HideWindow: return cp->HideWindow; case kwsysProcess_Option_MergeOutput: return cp->MergeOutput; case kwsysProcess_Option_Verbatim: return cp->Verbatim; case kwsysProcess_Option_CreateProcessGroup: return cp->CreateProcessGroup; default: return 0; } } /*--------------------------------------------------------------------------*/ void kwsysProcess_SetOption(kwsysProcess* cp, int optionId, int value) { if(!cp) { return; } switch(optionId) { case kwsysProcess_Option_Detach: cp->OptionDetach = value; break; case kwsysProcess_Option_HideWindow: cp->HideWindow = value; break; case kwsysProcess_Option_MergeOutput: cp->MergeOutput = value; break; case kwsysProcess_Option_Verbatim: cp->Verbatim = value; break; case kwsysProcess_Option_CreateProcessGroup: cp->CreateProcessGroup = value; break; default: break; } } /*--------------------------------------------------------------------------*/ int kwsysProcess_GetState(kwsysProcess* cp) { return cp? cp->State : kwsysProcess_State_Error; } /*--------------------------------------------------------------------------*/ int kwsysProcess_GetExitException(kwsysProcess* cp) { return cp? cp->ExitException : kwsysProcess_Exception_Other; } /*--------------------------------------------------------------------------*/ int kwsysProcess_GetExitValue(kwsysProcess* cp) { return cp? cp->ExitValue : -1; } /*--------------------------------------------------------------------------*/ int kwsysProcess_GetExitCode(kwsysProcess* cp) { return cp? cp->ExitCode : 0; } /*--------------------------------------------------------------------------*/ const char* kwsysProcess_GetErrorString(kwsysProcess* cp) { if(!cp) { return "Process management structure could not be allocated"; } else if(cp->State == kwsysProcess_State_Error) { return cp->ErrorMessage; } return "Success"; } /*--------------------------------------------------------------------------*/ const char* kwsysProcess_GetExceptionString(kwsysProcess* cp) { if(!cp) { return "GetExceptionString called with NULL process management structure"; } else if(cp->State == kwsysProcess_State_Exception) { return cp->ExitExceptionString; } return "No exception"; } /*--------------------------------------------------------------------------*/ void kwsysProcess_Execute(kwsysProcess* cp) { int i; /* Do not execute a second time. */ if(!cp || cp->State == kwsysProcess_State_Executing) { return; } /* Make sure we have something to run. */ if(cp->NumberOfCommands < 1) { strcpy(cp->ErrorMessage, "No command"); cp->State = kwsysProcess_State_Error; return; } /* Initialize the control structure for a new process. */ if(!kwsysProcessInitialize(cp)) { strcpy(cp->ErrorMessage, "Out of memory"); cp->State = kwsysProcess_State_Error; return; } /* Save the real working directory of this process and change to the working directory for the child processes. This is needed to make pipe file paths evaluate correctly. */ if(cp->WorkingDirectory) { if(!GetCurrentDirectoryW(cp->RealWorkingDirectoryLength, cp->RealWorkingDirectory)) { kwsysProcessCleanup(cp, GetLastError()); return; } SetCurrentDirectoryW(cp->WorkingDirectory); } /* Setup the stdin pipe for the first process. */ if(cp->PipeFileSTDIN) { /* Create a handle to read a file for stdin. */ wchar_t* wstdin = kwsysEncoding_DupToWide(cp->PipeFileSTDIN); DWORD error; cp->PipeChildStd[0] = CreateFileW(wstdin, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0); error = GetLastError(); /* Check now in case free changes this. */ free(wstdin); if(cp->PipeChildStd[0] == INVALID_HANDLE_VALUE) { kwsysProcessCleanup(cp, error); return; } } else if(cp->PipeSharedSTDIN) { /* Share this process's stdin with the child. */ kwsysProcessSetupSharedPipe(STD_INPUT_HANDLE, &cp->PipeChildStd[0]); } else if(cp->PipeNativeSTDIN[0]) { /* Use the provided native pipe. */ kwsysProcessSetupPipeNative(cp->PipeNativeSTDIN[0], &cp->PipeChildStd[0]); } else { /* Explicitly give the child no stdin. */ cp->PipeChildStd[0] = INVALID_HANDLE_VALUE; } /* Create the output pipe for the last process. We always create this so the pipe thread can run even if we do not end up giving the write end to the child below. */ if(!CreatePipe(&cp->Pipe[KWSYSPE_PIPE_STDOUT].Read, &cp->Pipe[KWSYSPE_PIPE_STDOUT].Write, 0, 0)) { kwsysProcessCleanup(cp, GetLastError()); return; } if(cp->PipeFileSTDOUT) { /* Use a file for stdout. */ DWORD error = kwsysProcessSetupOutputPipeFile(&cp->PipeChildStd[1], cp->PipeFileSTDOUT); if(error) { kwsysProcessCleanup(cp, error); return; } } else if(cp->PipeSharedSTDOUT) { /* Use the parent stdout. */ kwsysProcessSetupSharedPipe(STD_OUTPUT_HANDLE, &cp->PipeChildStd[1]); } else if(cp->PipeNativeSTDOUT[1]) { /* Use the given handle for stdout. */ kwsysProcessSetupPipeNative(cp->PipeNativeSTDOUT[1], &cp->PipeChildStd[1]); } else { /* Use our pipe for stdout. Duplicate the handle since our waker thread will use the original. Do not make it inherited yet. */ if(!DuplicateHandle(GetCurrentProcess(), cp->Pipe[KWSYSPE_PIPE_STDOUT].Write, GetCurrentProcess(), &cp->PipeChildStd[1], 0, FALSE, DUPLICATE_SAME_ACCESS)) { kwsysProcessCleanup(cp, GetLastError()); return; } } /* Create stderr pipe to be shared by all processes in the pipeline. We always create this so the pipe thread can run even if we do not end up giving the write end to the child below. */ if(!CreatePipe(&cp->Pipe[KWSYSPE_PIPE_STDERR].Read, &cp->Pipe[KWSYSPE_PIPE_STDERR].Write, 0, 0)) { kwsysProcessCleanup(cp, GetLastError()); return; } if(cp->PipeFileSTDERR) { /* Use a file for stderr. */ DWORD error = kwsysProcessSetupOutputPipeFile(&cp->PipeChildStd[2], cp->PipeFileSTDERR); if(error) { kwsysProcessCleanup(cp, error); return; } } else if(cp->PipeSharedSTDERR) { /* Use the parent stderr. */ kwsysProcessSetupSharedPipe(STD_ERROR_HANDLE, &cp->PipeChildStd[2]); } else if(cp->PipeNativeSTDERR[1]) { /* Use the given handle for stderr. */ kwsysProcessSetupPipeNative(cp->PipeNativeSTDERR[1], &cp->PipeChildStd[2]); } else { /* Use our pipe for stderr. Duplicate the handle since our waker thread will use the original. Do not make it inherited yet. */ if(!DuplicateHandle(GetCurrentProcess(), cp->Pipe[KWSYSPE_PIPE_STDERR].Write, GetCurrentProcess(), &cp->PipeChildStd[2], 0, FALSE, DUPLICATE_SAME_ACCESS)) { kwsysProcessCleanup(cp, GetLastError()); return; } } /* Create the pipeline of processes. */ { /* Child startup control data. */ kwsysProcessCreateInformation si; HANDLE nextStdInput = cp->PipeChildStd[0]; /* Initialize startup info data. */ ZeroMemory(&si, sizeof(si)); si.StartupInfo.cb = sizeof(si.StartupInfo); /* Decide whether a child window should be shown. */ si.StartupInfo.dwFlags |= STARTF_USESHOWWINDOW; si.StartupInfo.wShowWindow = (unsigned short)(cp->HideWindow?SW_HIDE:SW_SHOWDEFAULT); /* Connect the child's output pipes to the threads. */ si.StartupInfo.dwFlags |= STARTF_USESTDHANDLES; for(i=0; i < cp->NumberOfCommands; ++i) { /* Setup the process's pipes. */ si.hStdInput = nextStdInput; if (i == cp->NumberOfCommands-1) { /* The last child gets the overall stdout. */ nextStdInput = INVALID_HANDLE_VALUE; si.hStdOutput = cp->PipeChildStd[1]; } else { /* Create a pipe to sit between the children. */ HANDLE p[2] = {INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE}; if (!CreatePipe(&p[0], &p[1], 0, 0)) { DWORD error = GetLastError(); if (nextStdInput != cp->PipeChildStd[0]) { kwsysProcessCleanupHandle(&nextStdInput); } kwsysProcessCleanup(cp, error); return; } nextStdInput = p[0]; si.hStdOutput = p[1]; } si.hStdError = cp->MergeOutput? cp->PipeChildStd[1] : cp->PipeChildStd[2]; { DWORD error = kwsysProcessCreate(cp, i, &si); /* Close our copies of pipes used between children. */ if (si.hStdInput != cp->PipeChildStd[0]) { kwsysProcessCleanupHandle(&si.hStdInput); } if (si.hStdOutput != cp->PipeChildStd[1]) { kwsysProcessCleanupHandle(&si.hStdOutput); } if (si.hStdError != cp->PipeChildStd[2] && !cp->MergeOutput) { kwsysProcessCleanupHandle(&si.hStdError); } if (!error) { cp->ProcessEvents[i+1] = cp->ProcessInformation[i].hProcess; } else { if (nextStdInput != cp->PipeChildStd[0]) { kwsysProcessCleanupHandle(&nextStdInput); } kwsysProcessCleanup(cp, error); return; } } } } /* The parent process does not need the child's pipe ends. */ for (i=0; i < 3; ++i) { kwsysProcessCleanupHandle(&cp->PipeChildStd[i]); } /* Restore the working directory. */ if(cp->RealWorkingDirectory) { SetCurrentDirectoryW(cp->RealWorkingDirectory); free(cp->RealWorkingDirectory); cp->RealWorkingDirectory = 0; } /* The timeout period starts now. */ cp->StartTime = kwsysProcessTimeGetCurrent(); cp->TimeoutTime = kwsysProcessTimeFromDouble(-1); /* All processes in the pipeline have been started in suspended mode. Resume them all now. */ for(i=0; i < cp->NumberOfCommands; ++i) { ResumeThread(cp->ProcessInformation[i].hThread); } /* ---- It is no longer safe to call kwsysProcessCleanup. ----- */ /* Tell the pipe threads that a process has started. */ for(i=0; i < KWSYSPE_PIPE_COUNT; ++i) { ReleaseSemaphore(cp->Pipe[i].Reader.Ready, 1, 0); ReleaseSemaphore(cp->Pipe[i].Waker.Ready, 1, 0); } /* We don't care about the children's main threads. */ for(i=0; i < cp->NumberOfCommands; ++i) { kwsysProcessCleanupHandle(&cp->ProcessInformation[i].hThread); } /* No pipe has reported data. */ cp->CurrentIndex = KWSYSPE_PIPE_COUNT; cp->PipesLeft = KWSYSPE_PIPE_COUNT; /* The process has now started. */ cp->State = kwsysProcess_State_Executing; cp->Detached = cp->OptionDetach; } /*--------------------------------------------------------------------------*/ void kwsysProcess_Disown(kwsysProcess* cp) { int i; /* Make sure we are executing a detached process. */ if(!cp || !cp->Detached || cp->State != kwsysProcess_State_Executing || cp->TimeoutExpired || cp->Killed || cp->Terminated) { return; } /* Disable the reading threads. */ kwsysProcessDisablePipeThreads(cp); /* Wait for all pipe threads to reset. */ for(i=0; i < KWSYSPE_PIPE_COUNT; ++i) { WaitForSingleObject(cp->Pipe[i].Reader.Reset, INFINITE); WaitForSingleObject(cp->Pipe[i].Waker.Reset, INFINITE); } /* We will not wait for exit, so cleanup now. */ kwsysProcessCleanup(cp, 0); /* The process has been disowned. */ cp->State = kwsysProcess_State_Disowned; } /*--------------------------------------------------------------------------*/ int kwsysProcess_WaitForData(kwsysProcess* cp, char** data, int* length, double* userTimeout) { kwsysProcessTime userStartTime; kwsysProcessTime timeoutLength; kwsysProcessTime timeoutTime; DWORD timeout; int user; int done = 0; int expired = 0; int pipeId = kwsysProcess_Pipe_None; DWORD w; /* Make sure we are executing a process. */ if(!cp || cp->State != kwsysProcess_State_Executing || cp->Killed || cp->TimeoutExpired) { return kwsysProcess_Pipe_None; } /* Record the time at which user timeout period starts. */ userStartTime = kwsysProcessTimeGetCurrent(); /* Calculate the time at which a timeout will expire, and whether it is the user or process timeout. */ user = kwsysProcessGetTimeoutTime(cp, userTimeout, &timeoutTime); /* Loop until we have a reason to return. */ while(!done && cp->PipesLeft > 0) { /* If we previously got data from a thread, let it know we are done with the data. */ if(cp->CurrentIndex < KWSYSPE_PIPE_COUNT) { KWSYSPE_DEBUG((stderr, "releasing reader %d\n", cp->CurrentIndex)); ReleaseSemaphore(cp->Pipe[cp->CurrentIndex].Reader.Go, 1, 0); cp->CurrentIndex = KWSYSPE_PIPE_COUNT; } /* Setup a timeout if required. */ if(kwsysProcessGetTimeoutLeft(&timeoutTime, user?userTimeout:0, &timeoutLength)) { /* Timeout has already expired. */ expired = 1; break; } if(timeoutTime.QuadPart < 0) { timeout = INFINITE; } else { timeout = kwsysProcessTimeToDWORD(timeoutLength); } /* Wait for a pipe's thread to signal or a process to terminate. */ w = WaitForMultipleObjects(cp->ProcessEventsLength, cp->ProcessEvents, 0, timeout); if(w == WAIT_TIMEOUT) { /* Timeout has expired. */ expired = 1; done = 1; } else if(w == WAIT_OBJECT_0) { /* Save the index of the reporting thread and release the mutex. The thread will block until we signal its Empty mutex. */ cp->CurrentIndex = cp->SharedIndex; ReleaseSemaphore(cp->SharedIndexMutex, 1, 0); /* Data are available or a pipe closed. */ if(cp->Pipe[cp->CurrentIndex].Closed) { /* The pipe closed at the write end. Close the read end and inform the wakeup thread it is done with this process. */ kwsysProcessCleanupHandle(&cp->Pipe[cp->CurrentIndex].Read); ReleaseSemaphore(cp->Pipe[cp->CurrentIndex].Waker.Go, 1, 0); KWSYSPE_DEBUG((stderr, "wakeup %d\n", cp->CurrentIndex)); --cp->PipesLeft; } else if(data && length) { /* Report this data. */ *data = cp->Pipe[cp->CurrentIndex].DataBuffer; *length = cp->Pipe[cp->CurrentIndex].DataLength; switch(cp->CurrentIndex) { case KWSYSPE_PIPE_STDOUT: pipeId = kwsysProcess_Pipe_STDOUT; break; case KWSYSPE_PIPE_STDERR: pipeId = kwsysProcess_Pipe_STDERR; break; } done = 1; } } else { /* A process has terminated. */ kwsysProcessDestroy(cp, w-WAIT_OBJECT_0); } } /* Update the user timeout. */ if(userTimeout) { kwsysProcessTime userEndTime = kwsysProcessTimeGetCurrent(); kwsysProcessTime difference = kwsysProcessTimeSubtract(userEndTime, userStartTime); double d = kwsysProcessTimeToDouble(difference); *userTimeout -= d; if(*userTimeout < 0) { *userTimeout = 0; } } /* Check what happened. */ if(pipeId) { /* Data are ready on a pipe. */ return pipeId; } else if(expired) { /* A timeout has expired. */ if(user) { /* The user timeout has expired. It has no time left. */ return kwsysProcess_Pipe_Timeout; } else { /* The process timeout has expired. Kill the child now. */ KWSYSPE_DEBUG((stderr, "killing child because timeout expired\n")); kwsysProcess_Kill(cp); cp->TimeoutExpired = 1; cp->Killed = 0; return kwsysProcess_Pipe_None; } } else { /* The children have terminated and no more data are available. */ return kwsysProcess_Pipe_None; } } /*--------------------------------------------------------------------------*/ int kwsysProcess_WaitForExit(kwsysProcess* cp, double* userTimeout) { int i; int pipe; /* Make sure we are executing a process. */ if(!cp || cp->State != kwsysProcess_State_Executing) { return 1; } /* Wait for the process to terminate. Ignore all data. */ while((pipe = kwsysProcess_WaitForData(cp, 0, 0, userTimeout)) > 0) { if(pipe == kwsysProcess_Pipe_Timeout) { /* The user timeout has expired. */ return 0; } } KWSYSPE_DEBUG((stderr, "no more data\n")); /* When the last pipe closes in WaitForData, the loop terminates without releasing the pipe's thread. Release it now. */ if(cp->CurrentIndex < KWSYSPE_PIPE_COUNT) { KWSYSPE_DEBUG((stderr, "releasing reader %d\n", cp->CurrentIndex)); ReleaseSemaphore(cp->Pipe[cp->CurrentIndex].Reader.Go, 1, 0); cp->CurrentIndex = KWSYSPE_PIPE_COUNT; } /* Wait for all pipe threads to reset. */ for(i=0; i < KWSYSPE_PIPE_COUNT; ++i) { KWSYSPE_DEBUG((stderr, "waiting reader reset %d\n", i)); WaitForSingleObject(cp->Pipe[i].Reader.Reset, INFINITE); KWSYSPE_DEBUG((stderr, "waiting waker reset %d\n", i)); WaitForSingleObject(cp->Pipe[i].Waker.Reset, INFINITE); } /* ---- It is now safe again to call kwsysProcessCleanup. ----- */ /* Close all the pipes. */ kwsysProcessCleanup(cp, 0); /* Determine the outcome. */ if(cp->Killed) { /* We killed the child. */ cp->State = kwsysProcess_State_Killed; } else if(cp->TimeoutExpired) { /* The timeout expired. */ cp->State = kwsysProcess_State_Expired; } else { /* The children exited. Report the outcome of the last process. */ cp->ExitCode = cp->CommandExitCodes[cp->NumberOfCommands-1]; if((cp->ExitCode & 0xF0000000) == 0xC0000000) { /* Child terminated due to exceptional behavior. */ cp->State = kwsysProcess_State_Exception; cp->ExitValue = 1; kwsysProcessSetExitException(cp, cp->ExitCode); } else { /* Child exited without exception. */ cp->State = kwsysProcess_State_Exited; cp->ExitException = kwsysProcess_Exception_None; cp->ExitValue = cp->ExitCode; } } return 1; } /*--------------------------------------------------------------------------*/ void kwsysProcess_Interrupt(kwsysProcess* cp) { int i; /* Make sure we are executing a process. */ if(!cp || cp->State != kwsysProcess_State_Executing || cp->TimeoutExpired || cp->Killed) { KWSYSPE_DEBUG((stderr, "interrupt: child not executing\n")); return; } /* Skip actually interrupting the child if it has already terminated. */ if(cp->Terminated) { KWSYSPE_DEBUG((stderr, "interrupt: child already terminated\n")); return; } /* Interrupt the children. */ if (cp->CreateProcessGroup) { if(cp->ProcessInformation) { for(i=0; i < cp->NumberOfCommands; ++i) { /* Make sure the process handle isn't closed (e.g. from disowning). */ if(cp->ProcessInformation[i].hProcess) { /* The user created a process group for this process. The group ID is the process ID for the original process in the group. Note that we have to use Ctrl+Break: Ctrl+C is not allowed for process groups. */ GenerateConsoleCtrlEvent(CTRL_BREAK_EVENT, cp->ProcessInformation[i].dwProcessId); } } } } else { /* No process group was created. Kill our own process group... */ GenerateConsoleCtrlEvent(CTRL_BREAK_EVENT, 0); } } /*--------------------------------------------------------------------------*/ void kwsysProcess_Kill(kwsysProcess* cp) { int i; /* Make sure we are executing a process. */ if(!cp || cp->State != kwsysProcess_State_Executing || cp->TimeoutExpired || cp->Killed) { KWSYSPE_DEBUG((stderr, "kill: child not executing\n")); return; } /* Disable the reading threads. */ KWSYSPE_DEBUG((stderr, "kill: disabling pipe threads\n")); kwsysProcessDisablePipeThreads(cp); /* Skip actually killing the child if it has already terminated. */ if(cp->Terminated) { KWSYSPE_DEBUG((stderr, "kill: child already terminated\n")); return; } /* Kill the children. */ cp->Killed = 1; for(i=0; i < cp->NumberOfCommands; ++i) { kwsysProcessKillTree(cp->ProcessInformation[i].dwProcessId); /* Remove from global list of processes and close handles. */ kwsysProcessesRemove(cp->ProcessInformation[i].hProcess); kwsysProcessCleanupHandle(&cp->ProcessInformation[i].hThread); kwsysProcessCleanupHandle(&cp->ProcessInformation[i].hProcess); } /* We are killing the children and ignoring all data. Do not wait for them to exit. */ } /*--------------------------------------------------------------------------*/ /* Function executed for each pipe's thread. Argument is a pointer to the kwsysProcessPipeData instance for this thread. */ DWORD WINAPI kwsysProcessPipeThreadRead(LPVOID ptd) { kwsysProcessPipeData* td = (kwsysProcessPipeData*)ptd; kwsysProcess* cp = td->Process; /* Wait for a process to be ready. */ while((WaitForSingleObject(td->Reader.Ready, INFINITE), !cp->Deleting)) { /* Read output from the process for this thread's pipe. */ kwsysProcessPipeThreadReadPipe(cp, td); /* Signal the main thread we have reset for a new process. */ ReleaseSemaphore(td->Reader.Reset, 1, 0); } return 0; } /*--------------------------------------------------------------------------*/ /* Function called in each pipe's thread to handle data for one execution of a subprocess. */ void kwsysProcessPipeThreadReadPipe(kwsysProcess* cp, kwsysProcessPipeData* td) { /* Wait for space in the thread's buffer. */ while((KWSYSPE_DEBUG((stderr, "wait for read %d\n", td->Index)), WaitForSingleObject(td->Reader.Go, INFINITE), !td->Closed)) { KWSYSPE_DEBUG((stderr, "reading %d\n", td->Index)); /* Read data from the pipe. This may block until data are available. */ if(!ReadFile(td->Read, td->DataBuffer, KWSYSPE_PIPE_BUFFER_SIZE, &td->DataLength, 0)) { if(GetLastError() != ERROR_BROKEN_PIPE) { /* UNEXPECTED failure to read the pipe. */ } /* The pipe closed. There are no more data to read. */ td->Closed = 1; KWSYSPE_DEBUG((stderr, "read closed %d\n", td->Index)); } KWSYSPE_DEBUG((stderr, "read %d\n", td->Index)); /* Wait for our turn to be handled by the main thread. */ WaitForSingleObject(cp->SharedIndexMutex, INFINITE); KWSYSPE_DEBUG((stderr, "reporting read %d\n", td->Index)); /* Tell the main thread we have something to report. */ cp->SharedIndex = td->Index; ReleaseSemaphore(cp->Full, 1, 0); } /* We were signalled to exit with our buffer empty. Reset the mutex for a new process. */ KWSYSPE_DEBUG((stderr, "self releasing reader %d\n", td->Index)); ReleaseSemaphore(td->Reader.Go, 1, 0); } /*--------------------------------------------------------------------------*/ /* Function executed for each pipe's thread. Argument is a pointer to the kwsysProcessPipeData instance for this thread. */ DWORD WINAPI kwsysProcessPipeThreadWake(LPVOID ptd) { kwsysProcessPipeData* td = (kwsysProcessPipeData*)ptd; kwsysProcess* cp = td->Process; /* Wait for a process to be ready. */ while((WaitForSingleObject(td->Waker.Ready, INFINITE), !cp->Deleting)) { /* Wait for a possible wakeup. */ kwsysProcessPipeThreadWakePipe(cp, td); /* Signal the main thread we have reset for a new process. */ ReleaseSemaphore(td->Waker.Reset, 1, 0); } return 0; } /*--------------------------------------------------------------------------*/ /* Function called in each pipe's thread to handle reading thread wakeup for one execution of a subprocess. */ void kwsysProcessPipeThreadWakePipe(kwsysProcess* cp, kwsysProcessPipeData* td) { (void)cp; /* Wait for a possible wake command. */ KWSYSPE_DEBUG((stderr, "wait for wake %d\n", td->Index)); WaitForSingleObject(td->Waker.Go, INFINITE); KWSYSPE_DEBUG((stderr, "waking %d\n", td->Index)); /* If the pipe is not closed, we need to wake up the reading thread. */ if(!td->Closed) { DWORD dummy; KWSYSPE_DEBUG((stderr, "waker %d writing byte\n", td->Index)); WriteFile(td->Write, "", 1, &dummy, 0); KWSYSPE_DEBUG((stderr, "waker %d wrote byte\n", td->Index)); } } /*--------------------------------------------------------------------------*/ /* Initialize a process control structure for kwsysProcess_Execute. */ int kwsysProcessInitialize(kwsysProcess* cp) { /* Reset internal status flags. */ cp->TimeoutExpired = 0; cp->Terminated = 0; cp->Killed = 0; cp->ExitException = kwsysProcess_Exception_None; cp->ExitCode = 1; cp->ExitValue = 1; /* Reset error data. */ cp->ErrorMessage[0] = 0; strcpy(cp->ExitExceptionString, "No exception"); /* Allocate process information for each process. */ cp->ProcessInformation = (PROCESS_INFORMATION*)malloc(sizeof(PROCESS_INFORMATION) * cp->NumberOfCommands); if(!cp->ProcessInformation) { return 0; } ZeroMemory(cp->ProcessInformation, sizeof(PROCESS_INFORMATION) * cp->NumberOfCommands); if(cp->CommandExitCodes) { free(cp->CommandExitCodes); } cp->CommandExitCodes = (DWORD*)malloc(sizeof(DWORD)*cp->NumberOfCommands); if(!cp->CommandExitCodes) { return 0; } ZeroMemory(cp->CommandExitCodes, sizeof(DWORD)*cp->NumberOfCommands); /* Allocate event wait array. The first event is cp->Full, the rest are the process termination events. */ cp->ProcessEvents = (PHANDLE)malloc(sizeof(HANDLE)*(cp->NumberOfCommands+1)); if(!cp->ProcessEvents) { return 0; } ZeroMemory(cp->ProcessEvents, sizeof(HANDLE) * (cp->NumberOfCommands+1)); cp->ProcessEvents[0] = cp->Full; cp->ProcessEventsLength = cp->NumberOfCommands+1; /* Allocate space to save the real working directory of this process. */ if(cp->WorkingDirectory) { cp->RealWorkingDirectoryLength = GetCurrentDirectoryW(0, 0); if(cp->RealWorkingDirectoryLength > 0) { cp->RealWorkingDirectory = malloc(cp->RealWorkingDirectoryLength * sizeof(wchar_t)); if(!cp->RealWorkingDirectory) { return 0; } } } { int i; for (i=0; i < 3; ++i) { cp->PipeChildStd[i] = INVALID_HANDLE_VALUE; } } return 1; } /*--------------------------------------------------------------------------*/ static DWORD kwsysProcessCreateChildHandle(PHANDLE out, HANDLE in, int isStdIn) { DWORD flags; /* Check whether the handle is valid for this process. */ if (in != INVALID_HANDLE_VALUE && GetHandleInformation(in, &flags)) { /* Use the handle as-is if it is already inherited. */ if (flags & HANDLE_FLAG_INHERIT) { *out = in; return ERROR_SUCCESS; } /* Create an inherited copy of this handle. */ if (DuplicateHandle(GetCurrentProcess(), in, GetCurrentProcess(), out, 0, TRUE, DUPLICATE_SAME_ACCESS)) { return ERROR_SUCCESS; } else { return GetLastError(); } } else { /* The given handle is not valid for this process. Some child processes may break if they do not have a valid standard handle, so open NUL to give to the child. */ SECURITY_ATTRIBUTES sa; ZeroMemory(&sa, sizeof(sa)); sa.nLength = (DWORD)sizeof(sa); sa.bInheritHandle = 1; *out = CreateFileW(L"NUL", (isStdIn ? GENERIC_READ : (GENERIC_WRITE | FILE_READ_ATTRIBUTES)), FILE_SHARE_READ|FILE_SHARE_WRITE, &sa, OPEN_EXISTING, 0, 0); return (*out != INVALID_HANDLE_VALUE) ? ERROR_SUCCESS : GetLastError(); } } /*--------------------------------------------------------------------------*/ DWORD kwsysProcessCreate(kwsysProcess* cp, int index, kwsysProcessCreateInformation* si) { DWORD creationFlags; DWORD error = ERROR_SUCCESS; /* Check if we are currently exiting. */ if (!kwsysTryEnterCreateProcessSection()) { /* The Ctrl handler is currently working on exiting our process. Rather than return an error code, which could cause incorrect conclusions to be reached by the caller, we simply hang. (For example, a CMake try_run configure step might cause the project to configure wrong.) */ Sleep(INFINITE); } /* Create the child in a suspended state so we can wait until all children have been created before running any one. */ creationFlags = CREATE_SUSPENDED; if (cp->CreateProcessGroup) { creationFlags |= CREATE_NEW_PROCESS_GROUP; } /* Create inherited copies of the handles. */ (error = kwsysProcessCreateChildHandle(&si->StartupInfo.hStdInput, si->hStdInput, 1)) || (error = kwsysProcessCreateChildHandle(&si->StartupInfo.hStdOutput, si->hStdOutput, 0)) || (error = kwsysProcessCreateChildHandle(&si->StartupInfo.hStdError, si->hStdError, 0)) || /* Create the process. */ (!CreateProcessW(0, cp->Commands[index], 0, 0, TRUE, creationFlags, 0, 0, &si->StartupInfo, &cp->ProcessInformation[index]) && (error = GetLastError())); /* Close the inherited copies of the handles. */ if (si->StartupInfo.hStdInput != si->hStdInput) { kwsysProcessCleanupHandle(&si->StartupInfo.hStdInput); } if (si->StartupInfo.hStdOutput != si->hStdOutput) { kwsysProcessCleanupHandle(&si->StartupInfo.hStdOutput); } if (si->StartupInfo.hStdError != si->hStdError) { kwsysProcessCleanupHandle(&si->StartupInfo.hStdError); } /* Add the process to the global list of processes. */ if (!error && !kwsysProcessesAdd(cp->ProcessInformation[index].hProcess, cp->ProcessInformation[index].dwProcessId, cp->CreateProcessGroup)) { /* This failed for some reason. Kill the suspended process. */ TerminateProcess(cp->ProcessInformation[index].hProcess, 1); /* And clean up... */ kwsysProcessCleanupHandle(&cp->ProcessInformation[index].hProcess); kwsysProcessCleanupHandle(&cp->ProcessInformation[index].hThread); strcpy(cp->ErrorMessage, "kwsysProcessesAdd function failed"); error = ERROR_NOT_ENOUGH_MEMORY; /* Most likely reason. */ } /* If the console Ctrl handler is waiting for us, this will release it... */ kwsysLeaveCreateProcessSection(); return error; } /*--------------------------------------------------------------------------*/ void kwsysProcessDestroy(kwsysProcess* cp, int event) { int i; int index; /* Find the process index for the termination event. */ for(index=0; index < cp->NumberOfCommands; ++index) { if(cp->ProcessInformation[index].hProcess == cp->ProcessEvents[event]) { break; } } /* Check the exit code of the process. */ GetExitCodeProcess(cp->ProcessInformation[index].hProcess, &cp->CommandExitCodes[index]); /* Remove from global list of processes. */ kwsysProcessesRemove(cp->ProcessInformation[index].hProcess); /* Close the process handle for the terminated process. */ kwsysProcessCleanupHandle(&cp->ProcessInformation[index].hProcess); /* Remove the process from the available events. */ cp->ProcessEventsLength -= 1; for(i=event; i < cp->ProcessEventsLength; ++i) { cp->ProcessEvents[i] = cp->ProcessEvents[i+1]; } /* Check if all processes have terminated. */ if(cp->ProcessEventsLength == 1) { cp->Terminated = 1; /* Close our copies of the pipe write handles so the pipe threads can detect end-of-data. */ for(i=0; i < KWSYSPE_PIPE_COUNT; ++i) { /* TODO: If the child created its own child (our grandchild) which inherited a copy of the pipe write-end then the pipe may not close and we will still need the waker write pipe. However we still want to be able to detect end-of-data in the normal case. The reader thread will have to switch to using PeekNamedPipe to read the last bit of data from the pipe without blocking. This is equivalent to using a non-blocking read on posix. */ KWSYSPE_DEBUG((stderr, "closing wakeup write %d\n", i)); kwsysProcessCleanupHandle(&cp->Pipe[i].Write); } } } /*--------------------------------------------------------------------------*/ DWORD kwsysProcessSetupOutputPipeFile(PHANDLE phandle, const char* name) { HANDLE fout; wchar_t* wname; DWORD error; if(!name) { return ERROR_INVALID_PARAMETER; } /* Close the existing handle. */ kwsysProcessCleanupHandle(phandle); /* Create a handle to write a file for the pipe. */ wname = kwsysEncoding_DupToWide(name); fout = CreateFileW(wname, GENERIC_WRITE, FILE_SHARE_READ, 0, CREATE_ALWAYS, 0, 0); error = GetLastError(); free(wname); if(fout == INVALID_HANDLE_VALUE) { return error; } /* Assign the replacement handle. */ *phandle = fout; return ERROR_SUCCESS; } /*--------------------------------------------------------------------------*/ void kwsysProcessSetupSharedPipe(DWORD nStdHandle, PHANDLE handle) { /* Close the existing handle. */ kwsysProcessCleanupHandle(handle); /* Store the new standard handle. */ *handle = GetStdHandle(nStdHandle); } /*--------------------------------------------------------------------------*/ void kwsysProcessSetupPipeNative(HANDLE native, PHANDLE handle) { /* Close the existing handle. */ kwsysProcessCleanupHandle(handle); /* Store the new given handle. */ *handle = native; } /*--------------------------------------------------------------------------*/ /* Close the given handle if it is open. Reset its value to 0. */ void kwsysProcessCleanupHandle(PHANDLE h) { if(h && *h && *h != INVALID_HANDLE_VALUE && *h != GetStdHandle(STD_INPUT_HANDLE) && *h != GetStdHandle(STD_OUTPUT_HANDLE) && *h != GetStdHandle(STD_ERROR_HANDLE)) { CloseHandle(*h); *h = INVALID_HANDLE_VALUE; } } /*--------------------------------------------------------------------------*/ /* Close all handles created by kwsysProcess_Execute. */ void kwsysProcessCleanup(kwsysProcess* cp, DWORD error) { int i; /* If this is an error case, report the error. */ if(error) { /* Construct an error message if one has not been provided already. */ if(cp->ErrorMessage[0] == 0) { /* Format the error message. */ wchar_t err_msg[KWSYSPE_PIPE_BUFFER_SIZE]; DWORD length = FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, 0, error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), err_msg, KWSYSPE_PIPE_BUFFER_SIZE, 0); if(length < 1) { /* FormatMessage failed. Use a default message. */ _snprintf(cp->ErrorMessage, KWSYSPE_PIPE_BUFFER_SIZE, "Process execution failed with error 0x%X. " "FormatMessage failed with error 0x%X", error, GetLastError()); } if(!WideCharToMultiByte(CP_UTF8, 0, err_msg, -1, cp->ErrorMessage, KWSYSPE_PIPE_BUFFER_SIZE, NULL, NULL)) { /* WideCharToMultiByte failed. Use a default message. */ _snprintf(cp->ErrorMessage, KWSYSPE_PIPE_BUFFER_SIZE, "Process execution failed with error 0x%X. " "WideCharToMultiByte failed with error 0x%X", error, GetLastError()); } } /* Remove trailing period and newline, if any. */ kwsysProcessCleanErrorMessage(cp); /* Set the error state. */ cp->State = kwsysProcess_State_Error; /* Cleanup any processes already started in a suspended state. */ if(cp->ProcessInformation) { for(i=0; i < cp->NumberOfCommands; ++i) { if(cp->ProcessInformation[i].hProcess) { TerminateProcess(cp->ProcessInformation[i].hProcess, 255); WaitForSingleObject(cp->ProcessInformation[i].hProcess, INFINITE); } } for(i=0; i < cp->NumberOfCommands; ++i) { /* Remove from global list of processes and close handles. */ kwsysProcessesRemove(cp->ProcessInformation[i].hProcess); kwsysProcessCleanupHandle(&cp->ProcessInformation[i].hThread); kwsysProcessCleanupHandle(&cp->ProcessInformation[i].hProcess); } } /* Restore the working directory. */ if(cp->RealWorkingDirectory) { SetCurrentDirectoryW(cp->RealWorkingDirectory); } } /* Free memory. */ if(cp->ProcessInformation) { free(cp->ProcessInformation); cp->ProcessInformation = 0; } if(cp->ProcessEvents) { free(cp->ProcessEvents); cp->ProcessEvents = 0; } if(cp->RealWorkingDirectory) { free(cp->RealWorkingDirectory); cp->RealWorkingDirectory = 0; } /* Close each pipe. */ for(i=0; i < KWSYSPE_PIPE_COUNT; ++i) { kwsysProcessCleanupHandle(&cp->Pipe[i].Write); kwsysProcessCleanupHandle(&cp->Pipe[i].Read); cp->Pipe[i].Closed = 0; } for(i=0; i < 3; ++i) { kwsysProcessCleanupHandle(&cp->PipeChildStd[i]); } } /*--------------------------------------------------------------------------*/ void kwsysProcessCleanErrorMessage(kwsysProcess* cp) { /* Remove trailing period and newline, if any. */ size_t length = strlen(cp->ErrorMessage); if(cp->ErrorMessage[length-1] == '\n') { cp->ErrorMessage[length-1] = 0; --length; if(length > 0 && cp->ErrorMessage[length-1] == '\r') { cp->ErrorMessage[length-1] = 0; --length; } } if(length > 0 && cp->ErrorMessage[length-1] == '.') { cp->ErrorMessage[length-1] = 0; } } /*--------------------------------------------------------------------------*/ /* Get the time at which either the process or user timeout will expire. Returns 1 if the user timeout is first, and 0 otherwise. */ int kwsysProcessGetTimeoutTime(kwsysProcess* cp, double* userTimeout, kwsysProcessTime* timeoutTime) { /* The first time this is called, we need to calculate the time at which the child will timeout. */ if(cp->Timeout && cp->TimeoutTime.QuadPart < 0) { kwsysProcessTime length = kwsysProcessTimeFromDouble(cp->Timeout); cp->TimeoutTime = kwsysProcessTimeAdd(cp->StartTime, length); } /* Start with process timeout. */ *timeoutTime = cp->TimeoutTime; /* Check if the user timeout is earlier. */ if(userTimeout) { kwsysProcessTime currentTime = kwsysProcessTimeGetCurrent(); kwsysProcessTime userTimeoutLength = kwsysProcessTimeFromDouble(*userTimeout); kwsysProcessTime userTimeoutTime = kwsysProcessTimeAdd(currentTime, userTimeoutLength); if(timeoutTime->QuadPart < 0 || kwsysProcessTimeLess(userTimeoutTime, *timeoutTime)) { *timeoutTime = userTimeoutTime; return 1; } } return 0; } /*--------------------------------------------------------------------------*/ /* Get the length of time before the given timeout time arrives. Returns 1 if the time has already arrived, and 0 otherwise. */ int kwsysProcessGetTimeoutLeft(kwsysProcessTime* timeoutTime, double* userTimeout, kwsysProcessTime* timeoutLength) { if(timeoutTime->QuadPart < 0) { /* No timeout time has been requested. */ return 0; } else { /* Calculate the remaining time. */ kwsysProcessTime currentTime = kwsysProcessTimeGetCurrent(); *timeoutLength = kwsysProcessTimeSubtract(*timeoutTime, currentTime); if(timeoutLength->QuadPart < 0 && userTimeout && *userTimeout <= 0) { /* Caller has explicitly requested a zero timeout. */ timeoutLength->QuadPart = 0; } if(timeoutLength->QuadPart < 0) { /* Timeout has already expired. */ return 1; } else { /* There is some time left. */ return 0; } } } /*--------------------------------------------------------------------------*/ kwsysProcessTime kwsysProcessTimeGetCurrent() { kwsysProcessTime current; FILETIME ft; GetSystemTimeAsFileTime(&ft); current.LowPart = ft.dwLowDateTime; current.HighPart = ft.dwHighDateTime; return current; } /*--------------------------------------------------------------------------*/ DWORD kwsysProcessTimeToDWORD(kwsysProcessTime t) { return (DWORD)(t.QuadPart * 0.0001); } /*--------------------------------------------------------------------------*/ double kwsysProcessTimeToDouble(kwsysProcessTime t) { return t.QuadPart * 0.0000001; } /*--------------------------------------------------------------------------*/ kwsysProcessTime kwsysProcessTimeFromDouble(double d) { kwsysProcessTime t; t.QuadPart = (LONGLONG)(d*10000000); return t; } /*--------------------------------------------------------------------------*/ int kwsysProcessTimeLess(kwsysProcessTime in1, kwsysProcessTime in2) { return in1.QuadPart < in2.QuadPart; } /*--------------------------------------------------------------------------*/ kwsysProcessTime kwsysProcessTimeAdd(kwsysProcessTime in1, kwsysProcessTime in2) { kwsysProcessTime out; out.QuadPart = in1.QuadPart + in2.QuadPart; return out; } /*--------------------------------------------------------------------------*/ kwsysProcessTime kwsysProcessTimeSubtract(kwsysProcessTime in1, kwsysProcessTime in2) { kwsysProcessTime out; out.QuadPart = in1.QuadPart - in2.QuadPart; return out; } /*--------------------------------------------------------------------------*/ #define KWSYSPE_CASE(type, str) \ cp->ExitException = kwsysProcess_Exception_##type; \ strcpy(cp->ExitExceptionString, str) static void kwsysProcessSetExitException(kwsysProcess* cp, int code) { switch (code) { case STATUS_CONTROL_C_EXIT: KWSYSPE_CASE(Interrupt, "User interrupt"); break; case STATUS_FLOAT_DENORMAL_OPERAND: KWSYSPE_CASE(Numerical, "Floating-point exception (denormal operand)"); break; case STATUS_FLOAT_DIVIDE_BY_ZERO: KWSYSPE_CASE(Numerical, "Divide-by-zero"); break; case STATUS_FLOAT_INEXACT_RESULT: KWSYSPE_CASE(Numerical, "Floating-point exception (inexact result)"); break; case STATUS_FLOAT_INVALID_OPERATION: KWSYSPE_CASE(Numerical, "Invalid floating-point operation"); break; case STATUS_FLOAT_OVERFLOW: KWSYSPE_CASE(Numerical, "Floating-point overflow"); break; case STATUS_FLOAT_STACK_CHECK: KWSYSPE_CASE(Numerical, "Floating-point stack check failed"); break; case STATUS_FLOAT_UNDERFLOW: KWSYSPE_CASE(Numerical, "Floating-point underflow"); break; #ifdef STATUS_FLOAT_MULTIPLE_FAULTS case STATUS_FLOAT_MULTIPLE_FAULTS: KWSYSPE_CASE(Numerical, "Floating-point exception (multiple faults)"); break; #endif #ifdef STATUS_FLOAT_MULTIPLE_TRAPS case STATUS_FLOAT_MULTIPLE_TRAPS: KWSYSPE_CASE(Numerical, "Floating-point exception (multiple traps)"); break; #endif case STATUS_INTEGER_DIVIDE_BY_ZERO: KWSYSPE_CASE(Numerical, "Integer divide-by-zero"); break; case STATUS_INTEGER_OVERFLOW: KWSYSPE_CASE(Numerical, "Integer overflow"); break; case STATUS_DATATYPE_MISALIGNMENT: KWSYSPE_CASE(Fault, "Datatype misalignment"); break; case STATUS_ACCESS_VIOLATION: KWSYSPE_CASE(Fault, "Access violation"); break; case STATUS_IN_PAGE_ERROR: KWSYSPE_CASE(Fault, "In-page error"); break; case STATUS_INVALID_HANDLE: KWSYSPE_CASE(Fault, "Invalid hanlde"); break; case STATUS_NONCONTINUABLE_EXCEPTION: KWSYSPE_CASE(Fault, "Noncontinuable exception"); break; case STATUS_INVALID_DISPOSITION: KWSYSPE_CASE(Fault, "Invalid disposition"); break; case STATUS_ARRAY_BOUNDS_EXCEEDED: KWSYSPE_CASE(Fault, "Array bounds exceeded"); break; case STATUS_STACK_OVERFLOW: KWSYSPE_CASE(Fault, "Stack overflow"); break; case STATUS_ILLEGAL_INSTRUCTION: KWSYSPE_CASE(Illegal, "Illegal instruction"); break; case STATUS_PRIVILEGED_INSTRUCTION: KWSYSPE_CASE(Illegal, "Privileged instruction"); break; case STATUS_NO_MEMORY: default: cp->ExitException = kwsysProcess_Exception_Other; _snprintf(cp->ExitExceptionString, KWSYSPE_PIPE_BUFFER_SIZE, "Exit code 0x%x\n", code); break; } } #undef KWSYSPE_CASE typedef struct kwsysProcess_List_s kwsysProcess_List; static kwsysProcess_List* kwsysProcess_List_New(void); static void kwsysProcess_List_Delete(kwsysProcess_List* self); static int kwsysProcess_List_Update(kwsysProcess_List* self); static int kwsysProcess_List_NextProcess(kwsysProcess_List* self); static int kwsysProcess_List_GetCurrentProcessId(kwsysProcess_List* self); static int kwsysProcess_List_GetCurrentParentId(kwsysProcess_List* self); /*--------------------------------------------------------------------------*/ /* Windows NT 4 API definitions. */ #define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L) typedef LONG NTSTATUS; typedef LONG KPRIORITY; typedef struct _UNICODE_STRING UNICODE_STRING; struct _UNICODE_STRING { USHORT Length; USHORT MaximumLength; PWSTR Buffer; }; /* The process information structure. Declare only enough to get process identifiers. The rest may be ignored because we use the NextEntryDelta to move through an array of instances. */ typedef struct _SYSTEM_PROCESS_INFORMATION SYSTEM_PROCESS_INFORMATION; typedef SYSTEM_PROCESS_INFORMATION* PSYSTEM_PROCESS_INFORMATION; struct _SYSTEM_PROCESS_INFORMATION { ULONG NextEntryDelta; ULONG ThreadCount; ULONG Reserved1[6]; LARGE_INTEGER CreateTime; LARGE_INTEGER UserTime; LARGE_INTEGER KernelTime; UNICODE_STRING ProcessName; KPRIORITY BasePriority; ULONG ProcessId; ULONG InheritedFromProcessId; }; /*--------------------------------------------------------------------------*/ /* Toolhelp32 API definitions. */ #define TH32CS_SNAPPROCESS 0x00000002 #if defined(_WIN64) typedef unsigned __int64 ProcessULONG_PTR; #else typedef unsigned long ProcessULONG_PTR; #endif typedef struct tagPROCESSENTRY32 PROCESSENTRY32; typedef PROCESSENTRY32* LPPROCESSENTRY32; struct tagPROCESSENTRY32 { DWORD dwSize; DWORD cntUsage; DWORD th32ProcessID; ProcessULONG_PTR th32DefaultHeapID; DWORD th32ModuleID; DWORD cntThreads; DWORD th32ParentProcessID; LONG pcPriClassBase; DWORD dwFlags; char szExeFile[MAX_PATH]; }; /*--------------------------------------------------------------------------*/ /* Windows API function types. */ typedef HANDLE (WINAPI* CreateToolhelp32SnapshotType)(DWORD, DWORD); typedef BOOL (WINAPI* Process32FirstType)(HANDLE, LPPROCESSENTRY32); typedef BOOL (WINAPI* Process32NextType)(HANDLE, LPPROCESSENTRY32); typedef NTSTATUS (WINAPI* ZwQuerySystemInformationType)(ULONG, PVOID, ULONG, PULONG); /*--------------------------------------------------------------------------*/ static int kwsysProcess_List__New_NT4(kwsysProcess_List* self); static int kwsysProcess_List__New_Snapshot(kwsysProcess_List* self); static void kwsysProcess_List__Delete_NT4(kwsysProcess_List* self); static void kwsysProcess_List__Delete_Snapshot(kwsysProcess_List* self); static int kwsysProcess_List__Update_NT4(kwsysProcess_List* self); static int kwsysProcess_List__Update_Snapshot(kwsysProcess_List* self); static int kwsysProcess_List__Next_NT4(kwsysProcess_List* self); static int kwsysProcess_List__Next_Snapshot(kwsysProcess_List* self); static int kwsysProcess_List__GetProcessId_NT4(kwsysProcess_List* self); static int kwsysProcess_List__GetProcessId_Snapshot(kwsysProcess_List* self); static int kwsysProcess_List__GetParentId_NT4(kwsysProcess_List* self); static int kwsysProcess_List__GetParentId_Snapshot(kwsysProcess_List* self); struct kwsysProcess_List_s { /* Implementation switches at runtime based on version of Windows. */ int NT4; /* Implementation functions and data for NT 4. */ ZwQuerySystemInformationType P_ZwQuerySystemInformation; char* Buffer; int BufferSize; PSYSTEM_PROCESS_INFORMATION CurrentInfo; /* Implementation functions and data for other Windows versions. */ CreateToolhelp32SnapshotType P_CreateToolhelp32Snapshot; Process32FirstType P_Process32First; Process32NextType P_Process32Next; HANDLE Snapshot; PROCESSENTRY32 CurrentEntry; }; /*--------------------------------------------------------------------------*/ static kwsysProcess_List* kwsysProcess_List_New(void) { OSVERSIONINFO osv; kwsysProcess_List* self; /* Allocate and initialize the list object. */ if(!(self = (kwsysProcess_List*)malloc(sizeof(kwsysProcess_List)))) { return 0; } memset(self, 0, sizeof(*self)); /* Select an implementation. */ ZeroMemory(&osv, sizeof(osv)); osv.dwOSVersionInfoSize = sizeof(osv); #ifdef KWSYS_WINDOWS_DEPRECATED_GetVersionEx # pragma warning (push) # ifdef __INTEL_COMPILER # pragma warning (disable:1478) # else # pragma warning (disable:4996) # endif #endif GetVersionEx(&osv); #ifdef KWSYS_WINDOWS_DEPRECATED_GetVersionEx # pragma warning (pop) #endif self->NT4 = (osv.dwPlatformId == VER_PLATFORM_WIN32_NT && osv.dwMajorVersion < 5)? 1:0; /* Initialize the selected implementation. */ if(!(self->NT4? kwsysProcess_List__New_NT4(self) : kwsysProcess_List__New_Snapshot(self))) { kwsysProcess_List_Delete(self); return 0; } /* Update to the current set of processes. */ if(!kwsysProcess_List_Update(self)) { kwsysProcess_List_Delete(self); return 0; } return self; } /*--------------------------------------------------------------------------*/ static void kwsysProcess_List_Delete(kwsysProcess_List* self) { if(self) { if(self->NT4) { kwsysProcess_List__Delete_NT4(self); } else { kwsysProcess_List__Delete_Snapshot(self); } free(self); } } /*--------------------------------------------------------------------------*/ static int kwsysProcess_List_Update(kwsysProcess_List* self) { return self? (self->NT4? kwsysProcess_List__Update_NT4(self) : kwsysProcess_List__Update_Snapshot(self)) : 0; } /*--------------------------------------------------------------------------*/ static int kwsysProcess_List_GetCurrentProcessId(kwsysProcess_List* self) { return self? (self->NT4? kwsysProcess_List__GetProcessId_NT4(self) : kwsysProcess_List__GetProcessId_Snapshot(self)) : -1; } /*--------------------------------------------------------------------------*/ static int kwsysProcess_List_GetCurrentParentId(kwsysProcess_List* self) { return self? (self->NT4? kwsysProcess_List__GetParentId_NT4(self) : kwsysProcess_List__GetParentId_Snapshot(self)) : -1; } /*--------------------------------------------------------------------------*/ static int kwsysProcess_List_NextProcess(kwsysProcess_List* self) { return (self? (self->NT4? kwsysProcess_List__Next_NT4(self) : kwsysProcess_List__Next_Snapshot(self)) : 0); } /*--------------------------------------------------------------------------*/ static int kwsysProcess_List__New_NT4(kwsysProcess_List* self) { /* Get a handle to the NT runtime module that should already be loaded in this program. This does not actually increment the reference count to the module so we do not need to close the handle. */ HMODULE hNT = GetModuleHandleW(L"ntdll.dll"); if(hNT) { /* Get pointers to the needed API functions. */ self->P_ZwQuerySystemInformation = ((ZwQuerySystemInformationType) GetProcAddress(hNT, "ZwQuerySystemInformation")); } if(!self->P_ZwQuerySystemInformation) { return 0; } /* Allocate an initial process information buffer. */ self->BufferSize = 32768; self->Buffer = (char*)malloc(self->BufferSize); return self->Buffer? 1:0; } /*--------------------------------------------------------------------------*/ static void kwsysProcess_List__Delete_NT4(kwsysProcess_List* self) { /* Free the process information buffer. */ if(self->Buffer) { free(self->Buffer); } } /*--------------------------------------------------------------------------*/ static int kwsysProcess_List__Update_NT4(kwsysProcess_List* self) { self->CurrentInfo = 0; for(;;) { /* Query number 5 is for system process list. */ NTSTATUS status = self->P_ZwQuerySystemInformation(5, self->Buffer, self->BufferSize, 0); if(status == STATUS_INFO_LENGTH_MISMATCH) { /* The query requires a bigger buffer. */ int newBufferSize = self->BufferSize * 2; char* newBuffer = (char*)malloc(newBufferSize); if(newBuffer) { free(self->Buffer); self->Buffer = newBuffer; self->BufferSize = newBufferSize; } else { return 0; } } else if(status >= 0) { /* The query succeeded. Initialize traversal of the process list. */ self->CurrentInfo = (PSYSTEM_PROCESS_INFORMATION)self->Buffer; return 1; } else { /* The query failed. */ return 0; } } } /*--------------------------------------------------------------------------*/ static int kwsysProcess_List__Next_NT4(kwsysProcess_List* self) { if(self->CurrentInfo) { if(self->CurrentInfo->NextEntryDelta > 0) { self->CurrentInfo = ((PSYSTEM_PROCESS_INFORMATION) ((char*)self->CurrentInfo + self->CurrentInfo->NextEntryDelta)); return 1; } self->CurrentInfo = 0; } return 0; } /*--------------------------------------------------------------------------*/ static int kwsysProcess_List__GetProcessId_NT4(kwsysProcess_List* self) { return self->CurrentInfo? self->CurrentInfo->ProcessId : -1; } /*--------------------------------------------------------------------------*/ static int kwsysProcess_List__GetParentId_NT4(kwsysProcess_List* self) { return self->CurrentInfo? self->CurrentInfo->InheritedFromProcessId : -1; } /*--------------------------------------------------------------------------*/ static int kwsysProcess_List__New_Snapshot(kwsysProcess_List* self) { /* Get a handle to the Windows runtime module that should already be loaded in this program. This does not actually increment the reference count to the module so we do not need to close the handle. */ HMODULE hKernel = GetModuleHandleW(L"kernel32.dll"); if(hKernel) { self->P_CreateToolhelp32Snapshot = ((CreateToolhelp32SnapshotType) GetProcAddress(hKernel, "CreateToolhelp32Snapshot")); self->P_Process32First = ((Process32FirstType) GetProcAddress(hKernel, "Process32First")); self->P_Process32Next = ((Process32NextType) GetProcAddress(hKernel, "Process32Next")); } return (self->P_CreateToolhelp32Snapshot && self->P_Process32First && self->P_Process32Next)? 1:0; } /*--------------------------------------------------------------------------*/ static void kwsysProcess_List__Delete_Snapshot(kwsysProcess_List* self) { if(self->Snapshot) { CloseHandle(self->Snapshot); } } /*--------------------------------------------------------------------------*/ static int kwsysProcess_List__Update_Snapshot(kwsysProcess_List* self) { if(self->Snapshot) { CloseHandle(self->Snapshot); } if(!(self->Snapshot = self->P_CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0))) { return 0; } ZeroMemory(&self->CurrentEntry, sizeof(self->CurrentEntry)); self->CurrentEntry.dwSize = sizeof(self->CurrentEntry); if(!self->P_Process32First(self->Snapshot, &self->CurrentEntry)) { CloseHandle(self->Snapshot); self->Snapshot = 0; return 0; } return 1; } /*--------------------------------------------------------------------------*/ static int kwsysProcess_List__Next_Snapshot(kwsysProcess_List* self) { if(self->Snapshot) { if(self->P_Process32Next(self->Snapshot, &self->CurrentEntry)) { return 1; } CloseHandle(self->Snapshot); self->Snapshot = 0; } return 0; } /*--------------------------------------------------------------------------*/ static int kwsysProcess_List__GetProcessId_Snapshot(kwsysProcess_List* self) { return self->Snapshot? self->CurrentEntry.th32ProcessID : -1; } /*--------------------------------------------------------------------------*/ static int kwsysProcess_List__GetParentId_Snapshot(kwsysProcess_List* self) { return self->Snapshot? self->CurrentEntry.th32ParentProcessID : -1; } /*--------------------------------------------------------------------------*/ static void kwsysProcessKill(DWORD pid) { HANDLE h = OpenProcess(PROCESS_TERMINATE, 0, pid); if(h) { TerminateProcess(h, 255); WaitForSingleObject(h, INFINITE); CloseHandle(h); } } /*--------------------------------------------------------------------------*/ static void kwsysProcessKillTree(int pid) { kwsysProcess_List* plist = kwsysProcess_List_New(); kwsysProcessKill(pid); if(plist) { do { if(kwsysProcess_List_GetCurrentParentId(plist) == pid) { int ppid = kwsysProcess_List_GetCurrentProcessId(plist); kwsysProcessKillTree(ppid); } } while(kwsysProcess_List_NextProcess(plist)); kwsysProcess_List_Delete(plist); } } /*--------------------------------------------------------------------------*/ static void kwsysProcessDisablePipeThreads(kwsysProcess* cp) { int i; /* If data were just reported data, release the pipe's thread. */ if(cp->CurrentIndex < KWSYSPE_PIPE_COUNT) { KWSYSPE_DEBUG((stderr, "releasing reader %d\n", cp->CurrentIndex)); ReleaseSemaphore(cp->Pipe[cp->CurrentIndex].Reader.Go, 1, 0); cp->CurrentIndex = KWSYSPE_PIPE_COUNT; } /* Wakeup all reading threads that are not on closed pipes. */ for(i=0; i < KWSYSPE_PIPE_COUNT; ++i) { /* The wakeup threads will write one byte to the pipe write ends. If there are no data in the pipe then this is enough to wakeup the reading threads. If there are already data in the pipe this may block. We cannot use PeekNamedPipe to check whether there are data because an outside process might still be writing data if we are disowning it. Also, PeekNamedPipe will block if checking a pipe on which the reading thread is currently calling ReadPipe. Therefore we need a separate thread to call WriteFile. If it blocks, that is okay because it will unblock when we close the read end and break the pipe below. */ if(cp->Pipe[i].Read) { KWSYSPE_DEBUG((stderr, "releasing waker %d\n", i)); ReleaseSemaphore(cp->Pipe[i].Waker.Go, 1, 0); } } /* Tell pipe threads to reset until we run another process. */ while(cp->PipesLeft > 0) { /* The waking threads will cause all reading threads to report. Wait for the next one and save its index. */ KWSYSPE_DEBUG((stderr, "waiting for reader\n")); WaitForSingleObject(cp->Full, INFINITE); cp->CurrentIndex = cp->SharedIndex; ReleaseSemaphore(cp->SharedIndexMutex, 1, 0); KWSYSPE_DEBUG((stderr, "got reader %d\n", cp->CurrentIndex)); /* We are done reading this pipe. Close its read handle. */ cp->Pipe[cp->CurrentIndex].Closed = 1; kwsysProcessCleanupHandle(&cp->Pipe[cp->CurrentIndex].Read); --cp->PipesLeft; /* Tell the reading thread we are done with the data. It will reset immediately because the pipe is closed. */ ReleaseSemaphore(cp->Pipe[cp->CurrentIndex].Reader.Go, 1, 0); } } /*--------------------------------------------------------------------------*/ /* Global set of executing processes for use by the Ctrl handler. This global instance will be zero-initialized by the compiler. Note that the console Ctrl handler runs on a background thread and so everything it does must be thread safe. Here, we track the hProcess HANDLEs directly instead of kwsysProcess instances, so that we don't have to make kwsysProcess thread safe. */ typedef struct kwsysProcessInstance_s { HANDLE hProcess; DWORD dwProcessId; int NewProcessGroup; /* Whether the process was created in a new group. */ } kwsysProcessInstance; typedef struct kwsysProcessInstances_s { /* Whether we have initialized key fields below, like critical sections. */ int Initialized; /* Ctrl handler runs on a different thread, so we must sync access. */ CRITICAL_SECTION Lock; int Exiting; size_t Count; size_t Size; kwsysProcessInstance* Processes; } kwsysProcessInstances; static kwsysProcessInstances kwsysProcesses; /*--------------------------------------------------------------------------*/ /* Initialize critial section and set up console Ctrl handler. You MUST call this before using any other kwsysProcesses* functions below. */ static int kwsysProcessesInitialize(void) { /* Initialize everything if not done already. */ if(!kwsysProcesses.Initialized) { InitializeCriticalSection(&kwsysProcesses.Lock); /* Set up console ctrl handler. */ if(!SetConsoleCtrlHandler(kwsysCtrlHandler, TRUE)) { return 0; } kwsysProcesses.Initialized = 1; } return 1; } /*--------------------------------------------------------------------------*/ /* The Ctrl handler waits on the global list of processes. To prevent an orphaned process, do not create a new process if the Ctrl handler is already running. Do so by using this function to check if it is ok to create a process. */ static int kwsysTryEnterCreateProcessSection(void) { /* Enter main critical section; this means creating a process and the Ctrl handler are mutually exclusive. */ EnterCriticalSection(&kwsysProcesses.Lock); /* Indicate to the caller if they can create a process. */ if(kwsysProcesses.Exiting) { LeaveCriticalSection(&kwsysProcesses.Lock); return 0; } else { return 1; } } /*--------------------------------------------------------------------------*/ /* Matching function on successful kwsysTryEnterCreateProcessSection return. Make sure you called kwsysProcessesAdd if applicable before calling this.*/ static void kwsysLeaveCreateProcessSection(void) { LeaveCriticalSection(&kwsysProcesses.Lock); } /*--------------------------------------------------------------------------*/ /* Add new process to global process list. The Ctrl handler will wait for the process to exit before it returns. Do not close the process handle until after calling kwsysProcessesRemove. The newProcessGroup parameter must be set if the process was created with CREATE_NEW_PROCESS_GROUP. */ static int kwsysProcessesAdd(HANDLE hProcess, DWORD dwProcessid, int newProcessGroup) { if(!kwsysProcessesInitialize() || !hProcess || hProcess == INVALID_HANDLE_VALUE) { return 0; } /* Enter the critical section. */ EnterCriticalSection(&kwsysProcesses.Lock); /* Make sure there is enough space for the new process handle. */ if(kwsysProcesses.Count == kwsysProcesses.Size) { size_t newSize; kwsysProcessInstance *newArray; /* Start with enough space for a small number of process handles and double the size each time more is needed. */ newSize = kwsysProcesses.Size? kwsysProcesses.Size*2 : 4; /* Try allocating the new block of memory. */ if(newArray = (kwsysProcessInstance*)malloc( newSize*sizeof(kwsysProcessInstance))) { /* Copy the old process handles to the new memory. */ if(kwsysProcesses.Count > 0) { memcpy(newArray, kwsysProcesses.Processes, kwsysProcesses.Count * sizeof(kwsysProcessInstance)); } } else { /* Failed to allocate memory for the new process handle set. */ LeaveCriticalSection(&kwsysProcesses.Lock); return 0; } /* Free original array. */ free(kwsysProcesses.Processes); /* Update original structure with new allocation. */ kwsysProcesses.Size = newSize; kwsysProcesses.Processes = newArray; } /* Append the new process information to the set. */ kwsysProcesses.Processes[kwsysProcesses.Count].hProcess = hProcess; kwsysProcesses.Processes[kwsysProcesses.Count].dwProcessId = dwProcessid; kwsysProcesses.Processes[kwsysProcesses.Count++].NewProcessGroup = newProcessGroup; /* Leave critical section and return success. */ LeaveCriticalSection(&kwsysProcesses.Lock); return 1; } /*--------------------------------------------------------------------------*/ /* Removes process to global process list. */ static void kwsysProcessesRemove(HANDLE hProcess) { size_t i; if (!hProcess || hProcess == INVALID_HANDLE_VALUE) { return; } EnterCriticalSection(&kwsysProcesses.Lock); /* Find the given process in the set. */ for(i=0; i < kwsysProcesses.Count; ++i) { if(kwsysProcesses.Processes[i].hProcess == hProcess) { break; } } if(i < kwsysProcesses.Count) { /* Found it! Remove the process from the set. */ --kwsysProcesses.Count; for(; i < kwsysProcesses.Count; ++i) { kwsysProcesses.Processes[i] = kwsysProcesses.Processes[i+1]; } /* If this was the last process, free the array. */ if(kwsysProcesses.Count == 0) { kwsysProcesses.Size = 0; free(kwsysProcesses.Processes); kwsysProcesses.Processes = 0; } } LeaveCriticalSection(&kwsysProcesses.Lock); } /*--------------------------------------------------------------------------*/ static BOOL WINAPI kwsysCtrlHandler(DWORD dwCtrlType) { size_t i; (void)dwCtrlType; /* Enter critical section. */ EnterCriticalSection(&kwsysProcesses.Lock); /* Set flag indicating that we are exiting. */ kwsysProcesses.Exiting = 1; /* If some of our processes were created in a new process group, we must manually interrupt them. They won't otherwise receive a Ctrl+C/Break. */ for(i=0; i < kwsysProcesses.Count; ++i) { if(kwsysProcesses.Processes[i].NewProcessGroup) { DWORD groupId = kwsysProcesses.Processes[i].dwProcessId; if(groupId) { GenerateConsoleCtrlEvent(CTRL_BREAK_EVENT, groupId); } } } /* Wait for each child process to exit. This is the key step that prevents us from leaving several orphaned children processes running in the background when the user presses Ctrl+C. */ for(i=0; i < kwsysProcesses.Count; ++i) { WaitForSingleObject(kwsysProcesses.Processes[i].hProcess, INFINITE); } /* Leave critical section. */ LeaveCriticalSection(&kwsysProcesses.Lock); /* Continue on to default Ctrl handler (which calls ExitProcess). */ return FALSE; } KWStyle-master/Utilities/KWSys/README.txt000066400000000000000000000010721265471724600204200ustar00rootroot00000000000000KWSys provides a platform-independent API to many common system features that are implemented differently on every platform. This library is intended to be shared among many projects, so it has a configurable namespace. Each project should configure KWSys to use a namespace unique to itself. See comments in CMakeLists.txt for details. You are probably reading this file in the source tree of a surrounding project. In that case, see "../README.kwsys" for details of using KWSys in your project. See CONTRIBUTING.rst for instructions to contribute KWSys changes. KWStyle-master/Utilities/KWSys/RegularExpression.cxx000066400000000000000000001153371265471724600231410ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ // // Copyright (C) 1991 Texas Instruments Incorporated. // // Permission is granted to any individual or institution to use, copy, modify // and distribute this software, provided that this complete copyright and // permission notice is maintained, intact, in all copies and supporting // documentation. // // Texas Instruments Incorporated provides this software "as is" without // express or implied warranty. // // // Created: MNF 06/13/89 Initial Design and Implementation // Updated: LGO 08/09/89 Inherit from Generic // Updated: MBN 09/07/89 Added conditional exception handling // Updated: MBN 12/15/89 Sprinkled "const" qualifiers all over the place! // Updated: DLS 03/22/91 New lite version // #include "kwsysPrivate.h" #include KWSYS_HEADER(RegularExpression.hxx) // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "RegularExpression.hxx.in" #endif #include #include namespace KWSYS_NAMESPACE { // RegularExpression -- Copies the given regular expression. RegularExpression::RegularExpression (const RegularExpression& rxp) { if ( !rxp.program ) { this->program = 0; return; } int ind; this->progsize = rxp.progsize; // Copy regular expression size this->program = new char[this->progsize]; // Allocate storage for(ind=this->progsize; ind-- != 0;) // Copy regular expresion this->program[ind] = rxp.program[ind]; this->startp[0] = rxp.startp[0]; // Copy pointers into last this->endp[0] = rxp.endp[0]; // Successful "find" operation this->regmust = rxp.regmust; // Copy field if (rxp.regmust != 0) { char* dum = rxp.program; ind = 0; while (dum != rxp.regmust) { ++dum; ++ind; } this->regmust = this->program + ind; } this->regstart = rxp.regstart; // Copy starting index this->reganch = rxp.reganch; // Copy remaining private data this->regmlen = rxp.regmlen; // Copy remaining private data } // operator= -- Copies the given regular expression. RegularExpression& RegularExpression::operator= (const RegularExpression& rxp) { if(this == &rxp) { return *this; } if ( !rxp.program ) { this->program = 0; return *this; } int ind; this->progsize = rxp.progsize; // Copy regular expression size delete [] this->program; this->program = new char[this->progsize]; // Allocate storage for(ind=this->progsize; ind-- != 0;) // Copy regular expresion this->program[ind] = rxp.program[ind]; this->startp[0] = rxp.startp[0]; // Copy pointers into last this->endp[0] = rxp.endp[0]; // Successful "find" operation this->regmust = rxp.regmust; // Copy field if (rxp.regmust != 0) { char* dum = rxp.program; ind = 0; while (dum != rxp.regmust) { ++dum; ++ind; } this->regmust = this->program + ind; } this->regstart = rxp.regstart; // Copy starting index this->reganch = rxp.reganch; // Copy remaining private data this->regmlen = rxp.regmlen; // Copy remaining private data return *this; } // operator== -- Returns true if two regular expressions have the same // compiled program for pattern matching. bool RegularExpression::operator== (const RegularExpression& rxp) const { if (this != &rxp) { // Same address? int ind = this->progsize; // Get regular expression size if (ind != rxp.progsize) // If different size regexp return false; // Return failure while(ind-- != 0) // Else while still characters if(this->program[ind] != rxp.program[ind]) // If regexp are different return false; // Return failure } return true; // Else same, return success } // deep_equal -- Returns true if have the same compiled regular expressions // and the same start and end pointers. bool RegularExpression::deep_equal (const RegularExpression& rxp) const { int ind = this->progsize; // Get regular expression size if (ind != rxp.progsize) // If different size regexp return false; // Return failure while(ind-- != 0) // Else while still characters if(this->program[ind] != rxp.program[ind]) // If regexp are different return false; // Return failure return (this->startp[0] == rxp.startp[0] && // Else if same start/end ptrs, this->endp[0] == rxp.endp[0]); // Return true } // The remaining code in this file is derived from the regular expression code // whose copyright statement appears below. It has been changed to work // with the class concepts of C++ and COOL. /* * compile and find * * Copyright (c) 1986 by University of Toronto. * Written by Henry Spencer. Not derived from licensed software. * * Permission is granted to anyone to use this software for any * purpose on any computer system, and to redistribute it freely, * subject to the following restrictions: * * 1. The author is not responsible for the consequences of use of * this software, no matter how awful, even if they arise * from defects in it. * * 2. The origin of this software must not be misrepresented, either * by explicit claim or by omission. * * 3. Altered versions must be plainly marked as such, and must not * be misrepresented as being the original software. * * Beware that some of this code is subtly aware of the way operator * precedence is structured in regular expressions. Serious changes in * regular-expression syntax might require a total rethink. */ /* * The "internal use only" fields in regexp.h are present to pass info from * compile to execute that permits the execute phase to run lots faster on * simple cases. They are: * * regstart char that must begin a match; '\0' if none obvious * reganch is the match anchored (at beginning-of-line only)? * regmust string (pointer into program) that match must include, or NULL * regmlen length of regmust string * * Regstart and reganch permit very fast decisions on suitable starting points * for a match, cutting down the work a lot. Regmust permits fast rejection * of lines that cannot possibly match. The regmust tests are costly enough * that compile() supplies a regmust only if the r.e. contains something * potentially expensive (at present, the only such thing detected is * or + * at the start of the r.e., which can involve a lot of backup). Regmlen is * supplied because the test in find() needs it and compile() is computing * it anyway. */ /* * Structure for regexp "program". This is essentially a linear encoding * of a nondeterministic finite-state machine (aka syntax charts or * "railroad normal form" in parsing technology). Each node is an opcode * plus a "next" pointer, possibly plus an operand. "Next" pointers of * all nodes except BRANCH implement concatenation; a "next" pointer with * a BRANCH on both ends of it is connecting two alternatives. (Here we * have one of the subtle syntax dependencies: an individual BRANCH (as * opposed to a collection of them) is never concatenated with anything * because of operator precedence.) The operand of some types of node is * a literal string; for others, it is a node leading into a sub-FSM. In * particular, the operand of a BRANCH node is the first node of the branch. * (NB this is *not* a tree structure: the tail of the branch connects * to the thing following the set of BRANCHes.) The opcodes are: */ // definition number opnd? meaning #define END 0 // no End of program. #define BOL 1 // no Match "" at beginning of line. #define EOL 2 // no Match "" at end of line. #define ANY 3 // no Match any one character. #define ANYOF 4 // str Match any character in this string. #define ANYBUT 5 // str Match any character not in this // string. #define BRANCH 6 // node Match this alternative, or the // next... #define BACK 7 // no Match "", "next" ptr points backward. #define EXACTLY 8 // str Match this string. #define NOTHING 9 // no Match empty string. #define STAR 10 // node Match this (simple) thing 0 or more // times. #define PLUS 11 // node Match this (simple) thing 1 or more // times. #define OPEN 20 // no Mark this point in input as start of // #n. // OPEN+1 is number 1, etc. #define CLOSE 30 // no Analogous to OPEN. /* * Opcode notes: * * BRANCH The set of branches constituting a single choice are hooked * together with their "next" pointers, since precedence prevents * anything being concatenated to any individual branch. The * "next" pointer of the last BRANCH in a choice points to the * thing following the whole choice. This is also where the * final "next" pointer of each individual branch points; each * branch starts with the operand node of a BRANCH node. * * BACK Normal "next" pointers all implicitly point forward; BACK * exists to make loop structures possible. * * STAR,PLUS '?', and complex '*' and '+', are implemented as circular * BRANCH structures using BACK. Simple cases (one character * per match) are implemented with STAR and PLUS for speed * and to minimize recursive plunges. * * OPEN,CLOSE ...are numbered at compile time. */ /* * A node is one char of opcode followed by two chars of "next" pointer. * "Next" pointers are stored as two 8-bit pieces, high order first. The * value is a positive offset from the opcode of the node containing it. * An operand, if any, simply follows the node. (Note that much of the * code generation knows about this implicit relationship.) * * Using two bytes for the "next" pointer is vast overkill for most things, * but allows patterns to get big without disasters. */ #define OP(p) (*(p)) #define NEXT(p) (((*((p)+1)&0377)<<8) + (*((p)+2)&0377)) #define OPERAND(p) ((p) + 3) const unsigned char MAGIC = 0234; /* * Utility definitions. */ #define UCHARAT(p) (reinterpret_cast(p))[0] #define FAIL(m) { regerror(m); return(0); } #define ISMULT(c) ((c) == '*' || (c) == '+' || (c) == '?') #define META "^$.[()|?+*\\" /* * Flags to be passed up and down. */ #define HASWIDTH 01 // Known never to match null string. #define SIMPLE 02 // Simple enough to be STAR/PLUS operand. #define SPSTART 04 // Starts with * or +. #define WORST 0 // Worst case. ///////////////////////////////////////////////////////////////////////// // // COMPILE AND ASSOCIATED FUNCTIONS // ///////////////////////////////////////////////////////////////////////// /* * Global work variables for compile(). */ static const char* regparse; // Input-scan pointer. static int regnpar; // () count. static char regdummy; static char* regcode; // Code-emit pointer; ®dummy = don't. static long regsize; // Code size. /* * Forward declarations for compile()'s friends. */ // #ifndef static // #define static static // #endif static char* reg (int, int*); static char* regbranch (int*); static char* regpiece (int*); static char* regatom (int*); static char* regnode (char); static const char* regnext (const char*); static char* regnext (char*); static void regc (char); static void reginsert (char, char*); static void regtail (char*, const char*); static void regoptail (char*, const char*); #ifdef STRCSPN static int strcspn (); #endif /* * We can't allocate space until we know how big the compiled form will be, * but we can't compile it (and thus know how big it is) until we've got a * place to put the code. So we cheat: we compile it twice, once with code * generation turned off and size counting turned on, and once "for real". * This also means that we don't allocate space until we are sure that the * thing really will compile successfully, and we never have to move the * code and thus invalidate pointers into it. (Note that it has to be in * one piece because free() must be able to free it all.) * * Beware that the optimization-preparation code in here knows about some * of the structure of the compiled regexp. */ // compile -- compile a regular expression into internal code // for later pattern matching. bool RegularExpression::compile (const char* exp) { const char* scan; const char* longest; size_t len; int flags; if (exp == 0) { //RAISE Error, SYM(RegularExpression), SYM(No_Expr), printf ("RegularExpression::compile(): No expression supplied.\n"); return false; } // First pass: determine size, legality. regparse = exp; regnpar = 1; regsize = 0L; regcode = ®dummy; regc(static_cast(MAGIC)); if(!reg(0, &flags)) { printf ("RegularExpression::compile(): Error in compile.\n"); return false; } this->startp[0] = this->endp[0] = this->searchstring = 0; // Small enough for pointer-storage convention? if (regsize >= 32767L) { // Probably could be 65535L. //RAISE Error, SYM(RegularExpression), SYM(Expr_Too_Big), printf ("RegularExpression::compile(): Expression too big.\n"); return false; } // Allocate space. //#ifndef WIN32 if (this->program != 0) delete [] this->program; //#endif this->program = new char[regsize]; this->progsize = static_cast(regsize); if (this->program == 0) { //RAISE Error, SYM(RegularExpression), SYM(Out_Of_Memory), printf ("RegularExpression::compile(): Out of memory.\n"); return false; } // Second pass: emit code. regparse = exp; regnpar = 1; regcode = this->program; regc(static_cast(MAGIC)); reg(0, &flags); // Dig out information for optimizations. this->regstart = '\0'; // Worst-case defaults. this->reganch = 0; this->regmust = 0; this->regmlen = 0; scan = this->program + 1; // First BRANCH. if (OP(regnext(scan)) == END) { // Only one top-level choice. scan = OPERAND(scan); // Starting-point info. if (OP(scan) == EXACTLY) this->regstart = *OPERAND(scan); else if (OP(scan) == BOL) this->reganch++; // // If there's something expensive in the r.e., find the longest // literal string that must appear and make it the regmust. Resolve // ties in favor of later strings, since the regstart check works // with the beginning of the r.e. and avoiding duplication // strengthens checking. Not a strong reason, but sufficient in the // absence of others. // if (flags & SPSTART) { longest = 0; len = 0; for (; scan != 0; scan = regnext(scan)) if (OP(scan) == EXACTLY && strlen(OPERAND(scan)) >= len) { longest = OPERAND(scan); len = strlen(OPERAND(scan)); } this->regmust = longest; this->regmlen = len; } } return true; } /* - reg - regular expression, i.e. main body or parenthesized thing * * Caller must absorb opening parenthesis. * * Combining parenthesis handling with the base level of regular expression * is a trifle forced, but the need to tie the tails of the branches to what * follows makes it hard to avoid. */ static char* reg (int paren, int *flagp) { char* ret; char* br; char* ender; int parno =0; int flags; *flagp = HASWIDTH; // Tentatively. // Make an OPEN node, if parenthesized. if (paren) { if (regnpar >= RegularExpression::NSUBEXP) { //RAISE Error, SYM(RegularExpression), SYM(Too_Many_Parens), printf ("RegularExpression::compile(): Too many parentheses.\n"); return 0; } parno = regnpar; regnpar++; ret = regnode(static_cast(OPEN + parno)); } else ret = 0; // Pick up the branches, linking them together. br = regbranch(&flags); if (br == 0) return (0); if (ret != 0) regtail(ret, br); // OPEN -> first. else ret = br; if (!(flags & HASWIDTH)) *flagp &= ~HASWIDTH; *flagp |= flags & SPSTART; while (*regparse == '|') { regparse++; br = regbranch(&flags); if (br == 0) return (0); regtail(ret, br); // BRANCH -> BRANCH. if (!(flags & HASWIDTH)) *flagp &= ~HASWIDTH; *flagp |= flags & SPSTART; } // Make a closing node, and hook it on the end. ender = regnode(static_cast((paren) ? CLOSE + parno : END)); regtail(ret, ender); // Hook the tails of the branches to the closing node. for (br = ret; br != 0; br = regnext(br)) regoptail(br, ender); // Check for proper termination. if (paren && *regparse++ != ')') { //RAISE Error, SYM(RegularExpression), SYM(Unmatched_Parens), printf ("RegularExpression::compile(): Unmatched parentheses.\n"); return 0; } else if (!paren && *regparse != '\0') { if (*regparse == ')') { //RAISE Error, SYM(RegularExpression), SYM(Unmatched_Parens), printf ("RegularExpression::compile(): Unmatched parentheses.\n"); return 0; } else { //RAISE Error, SYM(RegularExpression), SYM(Internal_Error), printf ("RegularExpression::compile(): Internal error.\n"); return 0; } // NOTREACHED } return (ret); } /* - regbranch - one alternative of an | operator * * Implements the concatenation operator. */ static char* regbranch (int *flagp) { char* ret; char* chain; char* latest; int flags; *flagp = WORST; // Tentatively. ret = regnode(BRANCH); chain = 0; while (*regparse != '\0' && *regparse != '|' && *regparse != ')') { latest = regpiece(&flags); if (latest == 0) return (0); *flagp |= flags & HASWIDTH; if (chain == 0) // First piece. *flagp |= flags & SPSTART; else regtail(chain, latest); chain = latest; } if (chain == 0) // Loop ran zero times. regnode(NOTHING); return (ret); } /* - regpiece - something followed by possible [*+?] * * Note that the branching code sequences used for ? and the general cases * of * and + are somewhat optimized: they use the same NOTHING node as * both the endmarker for their branch list and the body of the last branch. * It might seem that this node could be dispensed with entirely, but the * endmarker role is not redundant. */ static char* regpiece (int *flagp) { char* ret; char op; char* next; int flags; ret = regatom(&flags); if (ret == 0) return (0); op = *regparse; if (!ISMULT(op)) { *flagp = flags; return (ret); } if (!(flags & HASWIDTH) && op != '?') { //RAISE Error, SYM(RegularExpression), SYM(Empty_Operand), printf ("RegularExpression::compile() : *+ operand could be empty.\n"); return 0; } *flagp = (op != '+') ? (WORST | SPSTART) : (WORST | HASWIDTH); if (op == '*' && (flags & SIMPLE)) reginsert(STAR, ret); else if (op == '*') { // Emit x* as (x&|), where & means "self". reginsert(BRANCH, ret); // Either x regoptail(ret, regnode(BACK)); // and loop regoptail(ret, ret); // back regtail(ret, regnode(BRANCH)); // or regtail(ret, regnode(NOTHING)); // null. } else if (op == '+' && (flags & SIMPLE)) reginsert(PLUS, ret); else if (op == '+') { // Emit x+ as x(&|), where & means "self". next = regnode(BRANCH); // Either regtail(ret, next); regtail(regnode(BACK), ret); // loop back regtail(next, regnode(BRANCH)); // or regtail(ret, regnode(NOTHING)); // null. } else if (op == '?') { // Emit x? as (x|) reginsert(BRANCH, ret); // Either x regtail(ret, regnode(BRANCH)); // or next = regnode(NOTHING);// null. regtail(ret, next); regoptail(ret, next); } regparse++; if (ISMULT(*regparse)) { //RAISE Error, SYM(RegularExpression), SYM(Nested_Operand), printf ("RegularExpression::compile(): Nested *?+.\n"); return 0; } return (ret); } /* - regatom - the lowest level * * Optimization: gobbles an entire sequence of ordinary characters so that * it can turn them into a single node, which is smaller to store and * faster to run. Backslashed characters are exceptions, each becoming a * separate node; the code is simpler that way and it's not worth fixing. */ static char* regatom (int *flagp) { char* ret; int flags; *flagp = WORST; // Tentatively. switch (*regparse++) { case '^': ret = regnode(BOL); break; case '$': ret = regnode(EOL); break; case '.': ret = regnode(ANY); *flagp |= HASWIDTH | SIMPLE; break; case '[':{ int rxpclass; int rxpclassend; if (*regparse == '^') { // Complement of range. ret = regnode(ANYBUT); regparse++; } else ret = regnode(ANYOF); if (*regparse == ']' || *regparse == '-') regc(*regparse++); while (*regparse != '\0' && *regparse != ']') { if (*regparse == '-') { regparse++; if (*regparse == ']' || *regparse == '\0') regc('-'); else { rxpclass = UCHARAT(regparse - 2) + 1; rxpclassend = UCHARAT(regparse); if (rxpclass > rxpclassend + 1) { //RAISE Error, SYM(RegularExpression), SYM(Invalid_Range), printf ("RegularExpression::compile(): Invalid range in [].\n"); return 0; } for (; rxpclass <= rxpclassend; rxpclass++) regc(static_cast(rxpclass)); regparse++; } } else regc(*regparse++); } regc('\0'); if (*regparse != ']') { //RAISE Error, SYM(RegularExpression), SYM(Unmatched_Bracket), printf ("RegularExpression::compile(): Unmatched [].\n"); return 0; } regparse++; *flagp |= HASWIDTH | SIMPLE; } break; case '(': ret = reg(1, &flags); if (ret == 0) return (0); *flagp |= flags & (HASWIDTH | SPSTART); break; case '\0': case '|': case ')': //RAISE Error, SYM(RegularExpression), SYM(Internal_Error), printf ("RegularExpression::compile(): Internal error.\n"); // Never here return 0; case '?': case '+': case '*': //RAISE Error, SYM(RegularExpression), SYM(No_Operand), printf ("RegularExpression::compile(): ?+* follows nothing.\n"); return 0; case '\\': if (*regparse == '\0') { //RAISE Error, SYM(RegularExpression), SYM(Trailing_Backslash), printf ("RegularExpression::compile(): Trailing backslash.\n"); return 0; } ret = regnode(EXACTLY); regc(*regparse++); regc('\0'); *flagp |= HASWIDTH | SIMPLE; break; default:{ int len; char ender; regparse--; len = int(strcspn(regparse, META)); if (len <= 0) { //RAISE Error, SYM(RegularExpression), SYM(Internal_Error), printf ("RegularExpression::compile(): Internal error.\n"); return 0; } ender = *(regparse + len); if (len > 1 && ISMULT(ender)) len--; // Back off clear of ?+* operand. *flagp |= HASWIDTH; if (len == 1) *flagp |= SIMPLE; ret = regnode(EXACTLY); while (len > 0) { regc(*regparse++); len--; } regc('\0'); } break; } return (ret); } /* - regnode - emit a node Location. */ static char* regnode (char op) { char* ret; char* ptr; ret = regcode; if (ret == ®dummy) { regsize += 3; return (ret); } ptr = ret; *ptr++ = op; *ptr++ = '\0'; // Null "next" pointer. *ptr++ = '\0'; regcode = ptr; return (ret); } /* - regc - emit (if appropriate) a byte of code */ static void regc (char b) { if (regcode != ®dummy) *regcode++ = b; else regsize++; } /* - reginsert - insert an operator in front of already-emitted operand * * Means relocating the operand. */ static void reginsert (char op, char* opnd) { char* src; char* dst; char* place; if (regcode == ®dummy) { regsize += 3; return; } src = regcode; regcode += 3; dst = regcode; while (src > opnd) *--dst = *--src; place = opnd; // Op node, where operand used to be. *place++ = op; *place++ = '\0'; *place = '\0'; } /* - regtail - set the next-pointer at the end of a node chain */ static void regtail (char* p, const char* val) { char* scan; char* temp; int offset; if (p == ®dummy) return; // Find last node. scan = p; for (;;) { temp = regnext(scan); if (temp == 0) break; scan = temp; } if (OP(scan) == BACK) offset = int(scan - val); else offset = int(val - scan); *(scan + 1) = static_cast((offset >> 8) & 0377); *(scan + 2) = static_cast(offset & 0377); } /* - regoptail - regtail on operand of first argument; nop if operandless */ static void regoptail (char* p, const char* val) { // "Operandless" and "op != BRANCH" are synonymous in practice. if (p == 0 || p == ®dummy || OP(p) != BRANCH) return; regtail(OPERAND(p), val); } //////////////////////////////////////////////////////////////////////// // // find and friends // //////////////////////////////////////////////////////////////////////// /* * Global work variables for find(). */ static const char* reginput; // String-input pointer. static const char* regbol; // Beginning of input, for ^ check. static const char* *regstartp; // Pointer to startp array. static const char* *regendp; // Ditto for endp. /* * Forwards. */ static int regtry (const char*, const char* *, const char* *, const char*); static int regmatch (const char*); static int regrepeat (const char*); #ifdef DEBUG int regnarrate = 0; void regdump (); static char* regprop (); #endif // find -- Matches the regular expression to the given string. // Returns true if found, and sets start and end indexes accordingly. bool RegularExpression::find (const char* string) { const char* s; this->searchstring = string; if (!this->program) { return false; } // Check validity of program. if (UCHARAT(this->program) != MAGIC) { //RAISE Error, SYM(RegularExpression), SYM(Internal_Error), printf ("RegularExpression::find(): Compiled regular expression corrupted.\n"); return 0; } // If there is a "must appear" string, look for it. if (this->regmust != 0) { s = string; while ((s = strchr(s, this->regmust[0])) != 0) { if (strncmp(s, this->regmust, this->regmlen) == 0) break; // Found it. s++; } if (s == 0) // Not present. return (0); } // Mark beginning of line for ^ . regbol = string; // Simplest case: anchored match need be tried only once. if (this->reganch) return (regtry(string, this->startp, this->endp, this->program) != 0); // Messy cases: unanchored match. s = string; if (this->regstart != '\0') // We know what char it must start with. while ((s = strchr(s, this->regstart)) != 0) { if (regtry(s, this->startp, this->endp, this->program)) return (1); s++; } else // We don't -- general case. do { if (regtry(s, this->startp, this->endp, this->program)) return (1); } while (*s++ != '\0'); // Failure. return (0); } /* - regtry - try match at specific point 0 failure, 1 success */ static int regtry (const char* string, const char* *start, const char* *end, const char* prog) { int i; const char* *sp1; const char* *ep; reginput = string; regstartp = start; regendp = end; sp1 = start; ep = end; for (i = RegularExpression::NSUBEXP; i > 0; i--) { *sp1++ = 0; *ep++ = 0; } if (regmatch(prog + 1)) { start[0] = string; end[0] = reginput; return (1); } else return (0); } /* - regmatch - main matching routine * * Conceptually the strategy is simple: check to see whether the current * node matches, call self recursively to see whether the rest matches, * and then act accordingly. In practice we make some effort to avoid * recursion, in particular by going through "ordinary" nodes (that don't * need to know whether the rest of the match failed) by a loop instead of * by recursion. * 0 failure, 1 success */ static int regmatch (const char* prog) { const char* scan; // Current node. const char* next; // Next node. scan = prog; while (scan != 0) { next = regnext(scan); switch (OP(scan)) { case BOL: if (reginput != regbol) return (0); break; case EOL: if (*reginput != '\0') return (0); break; case ANY: if (*reginput == '\0') return (0); reginput++; break; case EXACTLY:{ size_t len; const char* opnd; opnd = OPERAND(scan); // Inline the first character, for speed. if (*opnd != *reginput) return (0); len = strlen(opnd); if (len > 1 && strncmp(opnd, reginput, len) != 0) return (0); reginput += len; } break; case ANYOF: if (*reginput == '\0' || strchr(OPERAND(scan), *reginput) == 0) return (0); reginput++; break; case ANYBUT: if (*reginput == '\0' || strchr(OPERAND(scan), *reginput) != 0) return (0); reginput++; break; case NOTHING: break; case BACK: break; case OPEN + 1: case OPEN + 2: case OPEN + 3: case OPEN + 4: case OPEN + 5: case OPEN + 6: case OPEN + 7: case OPEN + 8: case OPEN + 9:{ int no; const char* save; no = OP(scan) - OPEN; save = reginput; if (regmatch(next)) { // // Don't set startp if some later invocation of the // same parentheses already has. // if (regstartp[no] == 0) regstartp[no] = save; return (1); } else return (0); } // break; case CLOSE + 1: case CLOSE + 2: case CLOSE + 3: case CLOSE + 4: case CLOSE + 5: case CLOSE + 6: case CLOSE + 7: case CLOSE + 8: case CLOSE + 9:{ int no; const char* save; no = OP(scan) - CLOSE; save = reginput; if (regmatch(next)) { // // Don't set endp if some later invocation of the // same parentheses already has. // if (regendp[no] == 0) regendp[no] = save; return (1); } else return (0); } // break; case BRANCH:{ const char* save; if (OP(next) != BRANCH) // No choice. next = OPERAND(scan); // Avoid recursion. else { do { save = reginput; if (regmatch(OPERAND(scan))) return (1); reginput = save; scan = regnext(scan); } while (scan != 0 && OP(scan) == BRANCH); return (0); // NOTREACHED } } break; case STAR: case PLUS:{ char nextch; int no; const char* save; int min_no; // // Lookahead to avoid useless match attempts when we know // what character comes next. // nextch = '\0'; if (OP(next) == EXACTLY) nextch = *OPERAND(next); min_no = (OP(scan) == STAR) ? 0 : 1; save = reginput; no = regrepeat(OPERAND(scan)); while (no >= min_no) { // If it could work, try it. if (nextch == '\0' || *reginput == nextch) if (regmatch(next)) return (1); // Couldn't or didn't -- back up. no--; reginput = save + no; } return (0); } // break; case END: return (1); // Success! default: //RAISE Error, SYM(RegularExpression), SYM(Internal_Error), printf ("RegularExpression::find(): Internal error -- memory corrupted.\n"); return 0; } scan = next; } // // We get here only if there's trouble -- normally "case END" is the // terminating point. // //RAISE Error, SYM(RegularExpression), SYM(Internal_Error), printf ("RegularExpression::find(): Internal error -- corrupted pointers.\n"); return (0); } /* - regrepeat - repeatedly match something simple, report how many */ static int regrepeat (const char* p) { int count = 0; const char* scan; const char* opnd; scan = reginput; opnd = OPERAND(p); switch (OP(p)) { case ANY: count = int(strlen(scan)); scan += count; break; case EXACTLY: while (*opnd == *scan) { count++; scan++; } break; case ANYOF: while (*scan != '\0' && strchr(opnd, *scan) != 0) { count++; scan++; } break; case ANYBUT: while (*scan != '\0' && strchr(opnd, *scan) == 0) { count++; scan++; } break; default: // Oh dear. Called inappropriately. //RAISE Error, SYM(RegularExpression), SYM(Internal_Error), printf ("cm RegularExpression::find(): Internal error.\n"); return 0; } reginput = scan; return (count); } /* - regnext - dig the "next" pointer out of a node */ static const char* regnext (const char* p) { int offset; if (p == ®dummy) return (0); offset = NEXT(p); if (offset == 0) return (0); if (OP(p) == BACK) return (p - offset); else return (p + offset); } static char* regnext (char* p) { int offset; if (p == ®dummy) return (0); offset = NEXT(p); if (offset == 0) return (0); if (OP(p) == BACK) return (p - offset); else return (p + offset); } } // namespace KWSYS_NAMESPACE KWStyle-master/Utilities/KWSys/RegularExpression.hxx.in000066400000000000000000000334701265471724600235500ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ // Original Copyright notice: // Copyright (C) 1991 Texas Instruments Incorporated. // // Permission is granted to any individual or institution to use, copy, modify, // and distribute this software, provided that this complete copyright and // permission notice is maintained, intact, in all copies and supporting // documentation. // // Texas Instruments Incorporated provides this software "as is" without // express or implied warranty. // // Created: MNF 06/13/89 Initial Design and Implementation // Updated: LGO 08/09/89 Inherit from Generic // Updated: MBN 09/07/89 Added conditional exception handling // Updated: MBN 12/15/89 Sprinkled "const" qualifiers all over the place! // Updated: DLS 03/22/91 New lite version // #ifndef @KWSYS_NAMESPACE@_RegularExpression_hxx #define @KWSYS_NAMESPACE@_RegularExpression_hxx #include <@KWSYS_NAMESPACE@/Configure.h> #include <@KWSYS_NAMESPACE@/Configure.hxx> #include /* Disable useless Borland warnings. KWSys tries not to force things on its includers, but there is no choice here. */ #if defined(__BORLANDC__) # pragma warn -8027 /* function not inlined. */ #endif namespace @KWSYS_NAMESPACE@ { /** \class RegularExpression * \brief Implements pattern matching with regular expressions. * * This is the header file for the regular expression class. An object of * this class contains a regular expression, in a special "compiled" format. * This compiled format consists of several slots all kept as the objects * private data. The RegularExpression class provides a convenient way to * represent regular expressions. It makes it easy to search for the same * regular expression in many different strings without having to compile a * string to regular expression format more than necessary. * * This class implements pattern matching via regular expressions. * A regular expression allows a programmer to specify complex * patterns that can be searched for and matched against the * character string of a string object. In its simplest form, a * regular expression is a sequence of characters used to * search for exact character matches. However, many times the * exact sequence to be found is not known, or only a match at * the beginning or end of a string is desired. The RegularExpression regu- * lar expression class implements regular expression pattern * matching as is found and implemented in many UNIX commands * and utilities. * * Example: The perl code * * $filename =~ m"([a-z]+)\.cc"; * print $1; * * Is written as follows in C++ * * RegularExpression re("([a-z]+)\\.cc"); * re.find(filename); * cerr << re.match(1); * * * The regular expression class provides a convenient mechanism * for specifying and manipulating regular expressions. The * regular expression object allows specification of such pat- * terns by using the following regular expression metacharac- * ters: * * ^ Matches at beginning of a line * * $ Matches at end of a line * * . Matches any single character * * [ ] Matches any character(s) inside the brackets * * [^ ] Matches any character(s) not inside the brackets * * - Matches any character in range on either side of a dash * * * Matches preceding pattern zero or more times * * + Matches preceding pattern one or more times * * ? Matches preceding pattern zero or once only * * () Saves a matched expression and uses it in a later match * * Note that more than one of these metacharacters can be used * in a single regular expression in order to create complex * search patterns. For example, the pattern [^ab1-9] says to * match any character sequence that does not begin with the * characters "ab" followed by numbers in the series one * through nine. * * There are three constructors for RegularExpression. One just creates an * empty RegularExpression object. Another creates a RegularExpression * object and initializes it with a regular expression that is given in the * form of a char*. The third takes a reference to a RegularExpression * object as an argument and creates an object initialized with the * information from the given RegularExpression object. * * The find member function finds the first occurence of the regualr * expression of that object in the string given to find as an argument. Find * returns a boolean, and if true, mutates the private data appropriately. * Find sets pointers to the beginning and end of the thing last found, they * are pointers into the actual string that was searched. The start and end * member functions return indicies into the searched string that correspond * to the beginning and end pointers respectively. The compile member * function takes a char* and puts the compiled version of the char* argument * into the object's private data fields. The == and != operators only check * the to see if the compiled regular expression is the same, and the * deep_equal functions also checks to see if the start and end pointers are * the same. The is_valid function returns false if program is set to NULL, * (i.e. there is no valid compiled exression). The set_invalid function sets * the program to NULL (Warning: this deletes the compiled expression). The * following examples may help clarify regular expression usage: * * * The regular expression "^hello" matches a "hello" only at the * beginning of a line. It would match "hello there" but not "hi, * hello there". * * * The regular expression "long$" matches a "long" only at the end * of a line. It would match "so long\0", but not "long ago". * * * The regular expression "t..t..g" will match anything that has a * "t" then any two characters, another "t", any two characters and * then a "g". It will match "testing", or "test again" but would * not match "toasting" * * * The regular expression "[1-9ab]" matches any number one through * nine, and the characters "a" and "b". It would match "hello 1" * or "begin", but would not match "no-match". * * * The regular expression "[^1-9ab]" matches any character that is * not a number one through nine, or an "a" or "b". It would NOT * match "hello 1" or "begin", but would match "no-match". * * * The regular expression "br* " matches something that begins with * a "b", is followed by zero or more "r"s, and ends in a space. It * would match "brrrrr ", and "b ", but would not match "brrh ". * * * The regular expression "br+ " matches something that begins with * a "b", is followed by one or more "r"s, and ends in a space. It * would match "brrrrr ", and "br ", but would not match "b " or * "brrh ". * * * The regular expression "br? " matches something that begins with * a "b", is followed by zero or one "r"s, and ends in a space. It * would match "br ", and "b ", but would not match "brrrr " or * "brrh ". * * * The regular expression "(..p)b" matches something ending with pb * and beginning with whatever the two characters before the first p * encounterd in the line were. It would find "repb" in "rep drepa * qrepb". The regular expression "(..p)a" would find "repa qrepb" * in "rep drepa qrepb" * * * The regular expression "d(..p)" matches something ending with p, * beginning with d, and having two characters in between that are * the same as the two characters before the first p encounterd in * the line. It would match "drepa qrepb" in "rep drepa qrepb". * */ class @KWSYS_NAMESPACE@_EXPORT RegularExpression { public: /** * Instantiate RegularExpression with program=NULL. */ inline RegularExpression (); /** * Instantiate RegularExpression with compiled char*. */ inline RegularExpression (char const*); /** * Instantiate RegularExpression as a copy of another regular expression. */ RegularExpression (RegularExpression const&); /** * Instantiate RegularExpression with compiled string. */ inline RegularExpression (std::string const&); /** * Destructor. */ inline ~RegularExpression(); /** * Compile a regular expression into internal code * for later pattern matching. */ bool compile (char const*); /** * Compile a regular expression into internal code * for later pattern matching. */ inline bool compile (std::string const&); /** * Matches the regular expression to the given string. * Returns true if found, and sets start and end indexes accordingly. */ bool find (char const*); /** * Matches the regular expression to the given std string. * Returns true if found, and sets start and end indexes accordingly. */ inline bool find (std::string const&); /** * Index to start of first find. */ inline std::string::size_type start() const; /** * Index to end of first find. */ inline std::string::size_type end() const; /** * Copy the given regular expression. */ RegularExpression& operator= (const RegularExpression& rxp); /** * Returns true if two regular expressions have the same * compiled program for pattern matching. */ bool operator== (RegularExpression const&) const; /** * Returns true if two regular expressions have different * compiled program for pattern matching. */ inline bool operator!= (RegularExpression const&) const; /** * Returns true if have the same compiled regular expressions * and the same start and end pointers. */ bool deep_equal (RegularExpression const&) const; /** * True if the compiled regexp is valid. */ inline bool is_valid() const; /** * Marks the regular expression as invalid. */ inline void set_invalid(); /** * Destructor. */ // awf added std::string::size_type start(int n) const; std::string::size_type end(int n) const; std::string match(int n) const; enum { NSUBEXP = 10 }; private: const char* startp[NSUBEXP]; const char* endp[NSUBEXP]; char regstart; // Internal use only char reganch; // Internal use only const char* regmust; // Internal use only std::string::size_type regmlen; // Internal use only char* program; int progsize; const char* searchstring; }; /** * Create an empty regular expression. */ inline RegularExpression::RegularExpression () { this->program = 0; } /** * Creates a regular expression from string s, and * compiles s. */ inline RegularExpression::RegularExpression (const char* s) { this->program = 0; if ( s ) { this->compile(s); } } /** * Creates a regular expression from string s, and * compiles s. */ inline RegularExpression::RegularExpression (const std::string& s) { this->program = 0; this->compile(s); } /** * Destroys and frees space allocated for the regular expression. */ inline RegularExpression::~RegularExpression () { //#ifndef WIN32 delete [] this->program; //#endif } /** * Compile a regular expression into internal code * for later pattern matching. */ inline bool RegularExpression::compile (std::string const& s) { return this->compile(s.c_str()); } /** * Matches the regular expression to the given std string. * Returns true if found, and sets start and end indexes accordingly. */ inline bool RegularExpression::find (std::string const& s) { return this->find(s.c_str()); } /** * Set the start position for the regular expression. */ inline std::string::size_type RegularExpression::start () const { return static_cast( this->startp[0] - searchstring); } /** * Returns the start/end index of the last item found. */ inline std::string::size_type RegularExpression::end () const { return static_cast( this->endp[0] - searchstring); } /** * Returns true if two regular expressions have different * compiled program for pattern matching. */ inline bool RegularExpression::operator!= (const RegularExpression& r) const { return(!(*this == r)); } /** * Returns true if a valid regular expression is compiled * and ready for pattern matching. */ inline bool RegularExpression::is_valid () const { return (this->program != 0); } inline void RegularExpression::set_invalid () { //#ifndef WIN32 delete [] this->program; //#endif this->program = 0; } /** * Return start index of nth submatch. start(0) is the start of the full match. */ inline std::string::size_type RegularExpression::start(int n) const { return static_cast( this->startp[n] - searchstring); } /** * Return end index of nth submatch. end(0) is the end of the full match. */ inline std::string::size_type RegularExpression::end(int n) const { return static_cast( this->endp[n] - searchstring); } /** * Return nth submatch as a string. */ inline std::string RegularExpression::match(int n) const { if (this->startp[n]==0) { return std::string(""); } else { return std::string(this->startp[n], static_cast( this->endp[n] - this->startp[n])); } } } // namespace @KWSYS_NAMESPACE@ #endif KWStyle-master/Utilities/KWSys/SharedForward.h.in000066400000000000000000000725721265471724600222500ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_SharedForward_h #define @KWSYS_NAMESPACE@_SharedForward_h /* This header is used to create a forwarding executable sets up the shared library search path and replaces itself with a real executable. This is useful when creating installations on UNIX with shared libraries that will run from any install directory. Typical usage: #if defined(CMAKE_INTDIR) # define CONFIG_DIR_PRE CMAKE_INTDIR "/" # define CONFIG_DIR_POST "/" CMAKE_INTDIR #else # define CONFIG_DIR_PRE "" # define CONFIG_DIR_POST "" #endif #define @KWSYS_NAMESPACE@_SHARED_FORWARD_DIR_BUILD "/path/to/foo-build/bin" #define @KWSYS_NAMESPACE@_SHARED_FORWARD_PATH_BUILD "." CONFIG_DIR_POST #define @KWSYS_NAMESPACE@_SHARED_FORWARD_PATH_INSTALL "../lib/foo-1.2" #define @KWSYS_NAMESPACE@_SHARED_FORWARD_EXE_BUILD CONFIG_DIR_PRE "foo-real" #define @KWSYS_NAMESPACE@_SHARED_FORWARD_EXE_INSTALL "../lib/foo-1.2/foo-real" #define @KWSYS_NAMESPACE@_SHARED_FORWARD_OPTION_COMMAND "--command" #define @KWSYS_NAMESPACE@_SHARED_FORWARD_OPTION_PRINT "--print" #define @KWSYS_NAMESPACE@_SHARED_FORWARD_OPTION_LDD "--ldd" #if defined(CMAKE_INTDIR) # define @KWSYS_NAMESPACE@_SHARED_FORWARD_CONFIG_NAME CMAKE_INTDIR #endif #include <@KWSYS_NAMESPACE@/SharedForward.h> int main(int argc, char** argv) { return @KWSYS_NAMESPACE@_shared_forward_to_real(argc, argv); } Specify search and executable paths relative to the forwarding executable location or as full paths. Include no trailing slash. In the case of a multi-configuration build, when CMAKE_INTDIR is defined, the DIR_BUILD setting should point at the directory above the executable (the one containing the per-configuration subdirectory specified by CMAKE_INTDIR). Then PATH_BUILD entries and EXE_BUILD should be specified relative to this location and use CMAKE_INTDIR as necessary. In the above example imagine appending the PATH_BUILD or EXE_BUILD setting to the DIR_BUILD setting. The result should form a valid path with per-configuration subdirectory. Additional paths may be specified in the PATH_BUILD and PATH_INSTALL variables by using comma-separated strings. For example: #define @KWSYS_NAMESPACE@_SHARED_FORWARD_PATH_BUILD \ "." CONFIG_DIR_POST, "/path/to/bar-build" CONFIG_DIR_POST #define @KWSYS_NAMESPACE@_SHARED_FORWARD_PATH_INSTALL \ "../lib/foo-1.2", "../lib/bar-4.5" See the comments below for specific explanations of each macro. */ /* Disable -Wcast-qual warnings since they are too hard to fix in a cross-platform way. */ #if defined(__clang__) && defined(__has_warning) # if __has_warning("-Wcast-qual") # pragma clang diagnostic push # pragma clang diagnostic ignored "-Wcast-qual" # endif #endif /*--------------------------------------------------------------------------*/ /* Full path to the directory in which this executable is built. Do not include a trailing slash. */ #if !defined(@KWSYS_NAMESPACE@_SHARED_FORWARD_DIR_BUILD) # error "Must define @KWSYS_NAMESPACE@_SHARED_FORWARD_DIR_BUILD" #endif #if !defined(KWSYS_SHARED_FORWARD_DIR_BUILD) # define KWSYS_SHARED_FORWARD_DIR_BUILD @KWSYS_NAMESPACE@_SHARED_FORWARD_DIR_BUILD #endif /* Library search path for build tree. */ #if !defined(@KWSYS_NAMESPACE@_SHARED_FORWARD_PATH_BUILD) # error "Must define @KWSYS_NAMESPACE@_SHARED_FORWARD_PATH_BUILD" #endif #if !defined(KWSYS_SHARED_FORWARD_PATH_BUILD) # define KWSYS_SHARED_FORWARD_PATH_BUILD @KWSYS_NAMESPACE@_SHARED_FORWARD_PATH_BUILD #endif /* Library search path for install tree. */ #if !defined(@KWSYS_NAMESPACE@_SHARED_FORWARD_PATH_INSTALL) # error "Must define @KWSYS_NAMESPACE@_SHARED_FORWARD_PATH_INSTALL" #endif #if !defined(KWSYS_SHARED_FORWARD_PATH_INSTALL) # define KWSYS_SHARED_FORWARD_PATH_INSTALL @KWSYS_NAMESPACE@_SHARED_FORWARD_PATH_INSTALL #endif /* The real executable to which to forward in the build tree. */ #if !defined(@KWSYS_NAMESPACE@_SHARED_FORWARD_EXE_BUILD) # error "Must define @KWSYS_NAMESPACE@_SHARED_FORWARD_EXE_BUILD" #endif #if !defined(KWSYS_SHARED_FORWARD_EXE_BUILD) # define KWSYS_SHARED_FORWARD_EXE_BUILD @KWSYS_NAMESPACE@_SHARED_FORWARD_EXE_BUILD #endif /* The real executable to which to forward in the install tree. */ #if !defined(@KWSYS_NAMESPACE@_SHARED_FORWARD_EXE_INSTALL) # error "Must define @KWSYS_NAMESPACE@_SHARED_FORWARD_EXE_INSTALL" #endif #if !defined(KWSYS_SHARED_FORWARD_EXE_INSTALL) # define KWSYS_SHARED_FORWARD_EXE_INSTALL @KWSYS_NAMESPACE@_SHARED_FORWARD_EXE_INSTALL #endif /* The configuration name with which this executable was built (Debug/Release). */ #if defined(@KWSYS_NAMESPACE@_SHARED_FORWARD_CONFIG_NAME) # define KWSYS_SHARED_FORWARD_CONFIG_NAME @KWSYS_NAMESPACE@_SHARED_FORWARD_CONFIG_NAME #else # undef KWSYS_SHARED_FORWARD_CONFIG_NAME #endif /* Create command line option to replace executable. */ #if defined(@KWSYS_NAMESPACE@_SHARED_FORWARD_OPTION_COMMAND) # if !defined(KWSYS_SHARED_FORWARD_OPTION_COMMAND) # define KWSYS_SHARED_FORWARD_OPTION_COMMAND @KWSYS_NAMESPACE@_SHARED_FORWARD_OPTION_COMMAND # endif #else # undef KWSYS_SHARED_FORWARD_OPTION_COMMAND #endif /* Create command line option to print environment setting and exit. */ #if defined(@KWSYS_NAMESPACE@_SHARED_FORWARD_OPTION_PRINT) # if !defined(KWSYS_SHARED_FORWARD_OPTION_PRINT) # define KWSYS_SHARED_FORWARD_OPTION_PRINT @KWSYS_NAMESPACE@_SHARED_FORWARD_OPTION_PRINT # endif #else # undef KWSYS_SHARED_FORWARD_OPTION_PRINT #endif /* Create command line option to run ldd or equivalent. */ #if defined(@KWSYS_NAMESPACE@_SHARED_FORWARD_OPTION_LDD) # if !defined(KWSYS_SHARED_FORWARD_OPTION_LDD) # define KWSYS_SHARED_FORWARD_OPTION_LDD @KWSYS_NAMESPACE@_SHARED_FORWARD_OPTION_LDD # endif #else # undef KWSYS_SHARED_FORWARD_OPTION_LDD #endif /*--------------------------------------------------------------------------*/ /* Include needed system headers. */ #include /* size_t */ #include #include #include #include #include #if defined(_WIN32) && !defined(__CYGWIN__) # include # include # include # define KWSYS_SHARED_FORWARD_ESCAPE_ARGV /* re-escape argv for execvp */ #else # include # include #endif /*--------------------------------------------------------------------------*/ /* Configuration for this platform. */ /* The path separator for this platform. */ #if defined(_WIN32) && !defined(__CYGWIN__) # define KWSYS_SHARED_FORWARD_PATH_SEP ';' # define KWSYS_SHARED_FORWARD_PATH_SLASH '\\' #else # define KWSYS_SHARED_FORWARD_PATH_SEP ':' # define KWSYS_SHARED_FORWARD_PATH_SLASH '/' #endif static const char kwsys_shared_forward_path_sep[2] = {KWSYS_SHARED_FORWARD_PATH_SEP, 0}; static const char kwsys_shared_forward_path_slash[2] = {KWSYS_SHARED_FORWARD_PATH_SLASH, 0}; /* The maximum length of a file name. */ #if defined(PATH_MAX) # define KWSYS_SHARED_FORWARD_MAXPATH PATH_MAX #elif defined(MAXPATHLEN) # define KWSYS_SHARED_FORWARD_MAXPATH MAXPATHLEN #else # define KWSYS_SHARED_FORWARD_MAXPATH 16384 #endif /* Select the environment variable holding the shared library runtime search path for this platform and build configuration. Also select ldd command equivalent. */ /* Linux */ #if defined(__linux) # define KWSYS_SHARED_FORWARD_LDD "ldd" # define KWSYS_SHARED_FORWARD_LDD_N 1 # define KWSYS_SHARED_FORWARD_LDPATH "LD_LIBRARY_PATH" /* FreeBSD */ #elif defined(__FreeBSD__) # define KWSYS_SHARED_FORWARD_LDD "ldd" # define KWSYS_SHARED_FORWARD_LDD_N 1 # define KWSYS_SHARED_FORWARD_LDPATH "LD_LIBRARY_PATH" /* OpenBSD */ #elif defined(__OpenBSD__) # define KWSYS_SHARED_FORWARD_LDD "ldd" # define KWSYS_SHARED_FORWARD_LDD_N 1 # define KWSYS_SHARED_FORWARD_LDPATH "LD_LIBRARY_PATH" /* OSX */ #elif defined(__APPLE__) # define KWSYS_SHARED_FORWARD_LDD "otool", "-L" # define KWSYS_SHARED_FORWARD_LDD_N 2 # define KWSYS_SHARED_FORWARD_LDPATH "DYLD_LIBRARY_PATH" /* AIX */ #elif defined(_AIX) # define KWSYS_SHARED_FORWARD_LDD "dump", "-H" # define KWSYS_SHARED_FORWARD_LDD_N 2 # define KWSYS_SHARED_FORWARD_LDPATH "LIBPATH" /* SUN */ #elif defined(__sun) # define KWSYS_SHARED_FORWARD_LDD "ldd" # define KWSYS_SHARED_FORWARD_LDD_N 1 # include # if defined(_ILP32) # define KWSYS_SHARED_FORWARD_LDPATH "LD_LIBRARY_PATH" # elif defined(_LP64) # define KWSYS_SHARED_FORWARD_LDPATH "LD_LIBRARY_PATH_64" # endif /* HP-UX */ #elif defined(__hpux) # define KWSYS_SHARED_FORWARD_LDD "chatr" # define KWSYS_SHARED_FORWARD_LDD_N 1 # if defined(__LP64__) # define KWSYS_SHARED_FORWARD_LDPATH "LD_LIBRARY_PATH" # else # define KWSYS_SHARED_FORWARD_LDPATH "SHLIB_PATH" # endif /* SGI MIPS */ #elif defined(__sgi) && defined(_MIPS_SIM) # define KWSYS_SHARED_FORWARD_LDD "ldd" # define KWSYS_SHARED_FORWARD_LDD_N 1 # if _MIPS_SIM == _ABIO32 # define KWSYS_SHARED_FORWARD_LDPATH "LD_LIBRARY_PATH" # elif _MIPS_SIM == _ABIN32 # define KWSYS_SHARED_FORWARD_LDPATH "LD_LIBRARYN32_PATH" # elif _MIPS_SIM == _ABI64 # define KWSYS_SHARED_FORWARD_LDPATH "LD_LIBRARY64_PATH" # endif /* Cygwin */ #elif defined(__CYGWIN__) # define KWSYS_SHARED_FORWARD_LDD "cygcheck" /* TODO: cygwin 1.7 has ldd */ # define KWSYS_SHARED_FORWARD_LDD_N 1 # define KWSYS_SHARED_FORWARD_LDPATH "PATH" /* Windows */ #elif defined(_WIN32) # define KWSYS_SHARED_FORWARD_LDPATH "PATH" /* Guess on this unknown system. */ #else # define KWSYS_SHARED_FORWARD_LDD "ldd" # define KWSYS_SHARED_FORWARD_LDD_N 1 # define KWSYS_SHARED_FORWARD_LDPATH "LD_LIBRARY_PATH" #endif #ifdef KWSYS_SHARED_FORWARD_ESCAPE_ARGV /*--------------------------------------------------------------------------*/ typedef struct kwsys_sf_arg_info_s { const char* arg; int size; int quote; } kwsys_sf_arg_info; /*--------------------------------------------------------------------------*/ static kwsys_sf_arg_info kwsys_sf_get_arg_info(const char* in) { /* Initialize information. */ kwsys_sf_arg_info info; /* String iterator. */ const char* c; /* Keep track of how many backslashes have been encountered in a row. */ int windows_backslashes = 0; /* Start with the length of the original argument, plus one for either a terminating null or a separating space. */ info.arg = in; info.size = (int)strlen(in) + 1; info.quote = 0; /* Scan the string for characters that require escaping or quoting. */ for(c=in; *c; ++c) { /* Check whether this character needs quotes. */ if(strchr(" \t?'#&<>|^", *c)) { info.quote = 1; } /* On Windows only backslashes and double-quotes need escaping. */ if(*c == '\\') { /* Found a backslash. It may need to be escaped later. */ ++windows_backslashes; } else if(*c == '"') { /* Found a double-quote. We need to escape it and all immediately preceding backslashes. */ info.size += windows_backslashes + 1; windows_backslashes = 0; } else { /* Found another character. This eliminates the possibility that any immediately preceding backslashes will be escaped. */ windows_backslashes = 0; } } /* Check whether the argument needs surrounding quotes. */ if(info.quote) { /* Surrounding quotes are needed. Allocate space for them. */ info.size += 2; /* We must escape all ending backslashes when quoting on windows. */ info.size += windows_backslashes; } return info; } /*--------------------------------------------------------------------------*/ static char* kwsys_sf_get_arg(kwsys_sf_arg_info info, char* out) { /* String iterator. */ const char* c; /* Keep track of how many backslashes have been encountered in a row. */ int windows_backslashes = 0; /* Whether the argument must be quoted. */ if(info.quote) { /* Add the opening quote for this argument. */ *out++ = '"'; } /* Scan the string for characters that require escaping or quoting. */ for(c=info.arg; *c; ++c) { /* On Windows only backslashes and double-quotes need escaping. */ if(*c == '\\') { /* Found a backslash. It may need to be escaped later. */ ++windows_backslashes; } else if(*c == '"') { /* Found a double-quote. Escape all immediately preceding backslashes. */ while(windows_backslashes > 0) { --windows_backslashes; *out++ = '\\'; } /* Add the backslash to escape the double-quote. */ *out++ = '\\'; } else { /* We encountered a normal character. This eliminates any escaping needed for preceding backslashes. */ windows_backslashes = 0; } /* Store this character. */ *out++ = *c; } if(info.quote) { /* Add enough backslashes to escape any trailing ones. */ while(windows_backslashes > 0) { --windows_backslashes; *out++ = '\\'; } /* Add the closing quote for this argument. */ *out++ = '"'; } /* Store a terminating null without incrementing. */ *out = 0; return out; } #endif /*--------------------------------------------------------------------------*/ /* Function to convert a logical or relative path to a physical full path. */ static int kwsys_shared_forward_realpath(const char* in_path, char* out_path) { #if defined(_WIN32) && !defined(__CYGWIN__) /* Implementation for Windows. */ DWORD n = GetFullPathNameA(in_path, KWSYS_SHARED_FORWARD_MAXPATH, out_path, 0); return n > 0 && n <= KWSYS_SHARED_FORWARD_MAXPATH; #else /* Implementation for UNIX. */ return realpath(in_path, out_path) != 0; #endif } /*--------------------------------------------------------------------------*/ static int kwsys_shared_forward_samepath(const char* file1, const char* file2) { #if defined(_WIN32) int result = 0; HANDLE h1 = CreateFileA(file1, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL); HANDLE h2 = CreateFileA(file2, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL); if(h1 != INVALID_HANDLE_VALUE && h2 != INVALID_HANDLE_VALUE) { BY_HANDLE_FILE_INFORMATION fi1; BY_HANDLE_FILE_INFORMATION fi2; GetFileInformationByHandle(h1, &fi1); GetFileInformationByHandle(h2, &fi2); result = (fi1.dwVolumeSerialNumber == fi2.dwVolumeSerialNumber && fi1.nFileIndexHigh == fi2.nFileIndexHigh && fi1.nFileIndexLow == fi2.nFileIndexLow); } CloseHandle(h1); CloseHandle(h2); return result; #else struct stat fs1, fs2; return (stat(file1, &fs1) == 0 && stat(file2, &fs2) == 0 && memcmp(&fs2.st_dev, &fs1.st_dev, sizeof(fs1.st_dev)) == 0 && memcmp(&fs2.st_ino, &fs1.st_ino, sizeof(fs1.st_ino)) == 0 && fs2.st_size == fs1.st_size); #endif } /*--------------------------------------------------------------------------*/ /* Function to report a system error message. */ static void kwsys_shared_forward_strerror(char* message) { #if defined(_WIN32) && !defined(__CYGWIN__) /* Implementation for Windows. */ DWORD original = GetLastError(); DWORD length = FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, 0, original, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), message, KWSYS_SHARED_FORWARD_MAXPATH, 0); if(length < 1 || length > KWSYS_SHARED_FORWARD_MAXPATH) { /* FormatMessage failed. Use a default message. */ _snprintf(message, KWSYS_SHARED_FORWARD_MAXPATH, "Error 0x%X (FormatMessage failed with error 0x%X)", original, GetLastError()); } #else /* Implementation for UNIX. */ strcpy(message, strerror(errno)); #endif } /*--------------------------------------------------------------------------*/ /* Functions to execute a child process. */ static void kwsys_shared_forward_execvp(const char* cmd, char const* const* argv) { #ifdef KWSYS_SHARED_FORWARD_ESCAPE_ARGV /* Count the number of arguments. */ int argc = 0; { char const* const* argvc; for(argvc = argv; *argvc; ++argvc,++argc) {} } /* Create the escaped arguments. */ { char** nargv = (char**)malloc((argc+1) * sizeof(char*)); int i; for(i=0; i < argc; ++i) { kwsys_sf_arg_info info = kwsys_sf_get_arg_info(argv[i]); nargv[i] = (char*)malloc(info.size); kwsys_sf_get_arg(info, nargv[i]); } nargv[argc] = 0; /* Replace the command line to be used. */ argv = (char const* const*)nargv; } #endif /* Invoke the child process. */ #if defined(_MSC_VER) _execvp(cmd, argv); #elif defined(__MINGW32__) && !defined(__MINGW64__) execvp(cmd, argv); #else execvp(cmd, (char* const*)argv); #endif } /*--------------------------------------------------------------------------*/ /* Function to get the directory containing the given file or directory. */ static void kwsys_shared_forward_dirname(const char* begin, char* result) { /* Find the location of the last slash. */ int last_slash_index = -1; const char* end = begin + strlen(begin); for(;begin <= end && last_slash_index < 0; --end) { if(*end == '/' || *end == '\\') { last_slash_index = (int)(end-begin); } } /* Handle each case of the index of the last slash. */ if(last_slash_index < 0) { /* No slashes. */ strcpy(result, "."); } else if(last_slash_index == 0) { /* Only one leading slash. */ strcpy(result, kwsys_shared_forward_path_slash); } #if defined(_WIN32) else if(last_slash_index == 2 && begin[1] == ':') { /* Only one leading drive letter and slash. */ strncpy(result, begin, (size_t)last_slash_index); result[last_slash_index] = KWSYS_SHARED_FORWARD_PATH_SLASH; result[last_slash_index+1] = 0; } #endif else { /* A non-leading slash. */ strncpy(result, begin, (size_t)last_slash_index); result[last_slash_index] = 0; } } /*--------------------------------------------------------------------------*/ /* Function to check if a file exists and is executable. */ static int kwsys_shared_forward_is_executable(const char* f) { #if defined(_MSC_VER) # define KWSYS_SHARED_FORWARD_ACCESS _access #else # define KWSYS_SHARED_FORWARD_ACCESS access #endif #if defined(X_OK) # define KWSYS_SHARED_FORWARD_ACCESS_OK X_OK #else # define KWSYS_SHARED_FORWARD_ACCESS_OK 04 #endif if(KWSYS_SHARED_FORWARD_ACCESS(f, KWSYS_SHARED_FORWARD_ACCESS_OK) == 0) { return 1; } else { return 0; } } /*--------------------------------------------------------------------------*/ /* Function to locate the executable currently running. */ static int kwsys_shared_forward_self_path(const char* argv0, char* result) { /* Check whether argv0 has a slash. */ int has_slash = 0; const char* p = argv0; for(;*p && !has_slash; ++p) { if(*p == '/' || *p == '\\') { has_slash = 1; } } if(has_slash) { /* There is a slash. Use the dirname of the given location. */ kwsys_shared_forward_dirname(argv0, result); return 1; } else { /* There is no slash. Search the PATH for the executable. */ const char* path = getenv("PATH"); const char* begin = path; const char* end = begin + (begin?strlen(begin):0); const char* first = begin; while(first != end) { /* Store the end of this path entry. */ const char* last; /* Skip all path separators. */ for(;*first && *first == KWSYS_SHARED_FORWARD_PATH_SEP; ++first); /* Find the next separator. */ for(last = first;*last && *last != KWSYS_SHARED_FORWARD_PATH_SEP; ++last); /* If we got a non-empty directory, look for the executable there. */ if(first < last) { /* Determine the length without trailing slash. */ size_t length = (size_t)(last-first); if(*(last-1) == '/' || *(last-1) == '\\') { --length; } /* Construct the name of the executable in this location. */ strncpy(result, first, length); result[length] = KWSYS_SHARED_FORWARD_PATH_SLASH; strcpy(result+(length)+1, argv0); /* Check if it exists and is executable. */ if(kwsys_shared_forward_is_executable(result)) { /* Found it. */ result[length] = 0; return 1; } } /* Move to the next directory in the path. */ first = last; } } /* We could not find the executable. */ return 0; } /*--------------------------------------------------------------------------*/ /* Function to convert a specified path to a full path. If it is not already full, it is taken relative to the self path. */ static int kwsys_shared_forward_fullpath(const char* self_path, const char* in_path, char* result, const char* desc) { /* Check the specified path type. */ if(in_path[0] == '/') { /* Already a full path. */ strcpy(result, in_path); } #if defined(_WIN32) else if(in_path[0] && in_path[1] == ':') { /* Already a full path. */ strcpy(result, in_path); } #endif else { /* Relative to self path. */ char temp_path[KWSYS_SHARED_FORWARD_MAXPATH]; strcpy(temp_path, self_path); strcat(temp_path, kwsys_shared_forward_path_slash); strcat(temp_path, in_path); if(!kwsys_shared_forward_realpath(temp_path, result)) { if(desc) { char msgbuf[KWSYS_SHARED_FORWARD_MAXPATH]; kwsys_shared_forward_strerror(msgbuf); fprintf(stderr, "Error converting %s \"%s\" to real path: %s\n", desc, temp_path, msgbuf); } return 0; } } return 1; } /*--------------------------------------------------------------------------*/ /* Function to compute the library search path and executable name based on the self path. */ static int kwsys_shared_forward_get_settings(const char* self_path, char* ldpath, char* exe) { /* Possible search paths. */ static const char* search_path_build[] = {KWSYS_SHARED_FORWARD_PATH_BUILD, 0}; static const char* search_path_install[] = {KWSYS_SHARED_FORWARD_PATH_INSTALL, 0}; /* Chosen paths. */ const char** search_path; const char* exe_path; /* Get the real name of the build and self paths. */ #if defined(KWSYS_SHARED_FORWARD_CONFIG_NAME) char build_path[] = KWSYS_SHARED_FORWARD_DIR_BUILD "/" KWSYS_SHARED_FORWARD_CONFIG_NAME; char self_path_logical[KWSYS_SHARED_FORWARD_MAXPATH]; #else char build_path[] = KWSYS_SHARED_FORWARD_DIR_BUILD; const char* self_path_logical = self_path; #endif char build_path_real[KWSYS_SHARED_FORWARD_MAXPATH]; char self_path_real[KWSYS_SHARED_FORWARD_MAXPATH]; if(!kwsys_shared_forward_realpath(self_path, self_path_real)) { char msgbuf[KWSYS_SHARED_FORWARD_MAXPATH]; kwsys_shared_forward_strerror(msgbuf); fprintf(stderr, "Error converting self path \"%s\" to real path: %s\n", self_path, msgbuf); return 0; } /* Check whether we are running in the build tree or an install tree. */ if(kwsys_shared_forward_realpath(build_path, build_path_real) && kwsys_shared_forward_samepath(self_path_real, build_path_real)) { /* Running in build tree. Use the build path and exe. */ search_path = search_path_build; #if defined(_WIN32) exe_path = KWSYS_SHARED_FORWARD_EXE_BUILD ".exe"; #else exe_path = KWSYS_SHARED_FORWARD_EXE_BUILD; #endif #if defined(KWSYS_SHARED_FORWARD_CONFIG_NAME) /* Remove the configuration directory from self_path. */ kwsys_shared_forward_dirname(self_path, self_path_logical); #endif } else { /* Running in install tree. Use the install path and exe. */ search_path = search_path_install; #if defined(_WIN32) exe_path = KWSYS_SHARED_FORWARD_EXE_INSTALL ".exe"; #else exe_path = KWSYS_SHARED_FORWARD_EXE_INSTALL; #endif #if defined(KWSYS_SHARED_FORWARD_CONFIG_NAME) /* Use the original self path directory. */ strcpy(self_path_logical, self_path); #endif } /* Construct the runtime search path. */ { const char** dir; for(dir = search_path; *dir; ++dir) { /* Add separator between path components. */ if(dir != search_path) { strcat(ldpath, kwsys_shared_forward_path_sep); } /* Add this path component. */ if(!kwsys_shared_forward_fullpath(self_path_logical, *dir, ldpath+strlen(ldpath), "runtime path entry")) { return 0; } } } /* Construct the executable location. */ if(!kwsys_shared_forward_fullpath(self_path_logical, exe_path, exe, "executable file")) { return 0; } return 1; } /*--------------------------------------------------------------------------*/ /* Function to print why execution of a command line failed. */ static void kwsys_shared_forward_print_failure(char const* const* argv) { char msg[KWSYS_SHARED_FORWARD_MAXPATH]; char const* const* arg = argv; kwsys_shared_forward_strerror(msg); fprintf(stderr, "Error running"); for(; *arg; ++arg) { fprintf(stderr, " \"%s\"", *arg); } fprintf(stderr, ": %s\n", msg); } /* Static storage space to store the updated environment variable. */ static char kwsys_shared_forward_ldpath[65535] = KWSYS_SHARED_FORWARD_LDPATH "="; /*--------------------------------------------------------------------------*/ /* Main driver function to be called from main. */ static int @KWSYS_NAMESPACE@_shared_forward_to_real(int argc, char** argv_in) { char const** argv = (char const**)argv_in; /* Get the directory containing this executable. */ char self_path[KWSYS_SHARED_FORWARD_MAXPATH]; if(kwsys_shared_forward_self_path(argv[0], self_path)) { /* Found this executable. Use it to get the library directory. */ char exe[KWSYS_SHARED_FORWARD_MAXPATH]; if(kwsys_shared_forward_get_settings(self_path, kwsys_shared_forward_ldpath, exe)) { /* Append the old runtime search path. */ const char* old_ldpath = getenv(KWSYS_SHARED_FORWARD_LDPATH); if(old_ldpath) { strcat(kwsys_shared_forward_ldpath, kwsys_shared_forward_path_sep); strcat(kwsys_shared_forward_ldpath, old_ldpath); } /* Store the environment variable. */ putenv(kwsys_shared_forward_ldpath); #if defined(KWSYS_SHARED_FORWARD_OPTION_COMMAND) /* Look for the command line replacement option. */ if(argc > 1 && strcmp(argv[1], KWSYS_SHARED_FORWARD_OPTION_COMMAND) == 0) { if(argc > 2) { /* Use the command line given. */ strcpy(exe, argv[2]); argv += 2; argc -= 2; } else { /* The option was not given an executable. */ fprintf(stderr, "Option " KWSYS_SHARED_FORWARD_OPTION_COMMAND " must be followed by a command line.\n"); return 1; } } #endif #if defined(KWSYS_SHARED_FORWARD_OPTION_PRINT) /* Look for the print command line option. */ if(argc > 1 && strcmp(argv[1], KWSYS_SHARED_FORWARD_OPTION_PRINT) == 0) { fprintf(stdout, "%s\n", kwsys_shared_forward_ldpath); fprintf(stdout, "%s\n", exe); return 0; } #endif #if defined(KWSYS_SHARED_FORWARD_OPTION_LDD) /* Look for the ldd command line option. */ if(argc > 1 && strcmp(argv[1], KWSYS_SHARED_FORWARD_OPTION_LDD) == 0) { # if defined(KWSYS_SHARED_FORWARD_LDD) /* Use the named ldd-like executable and arguments. */ char const* ldd_argv[] = {KWSYS_SHARED_FORWARD_LDD, 0, 0}; ldd_argv[KWSYS_SHARED_FORWARD_LDD_N] = exe; kwsys_shared_forward_execvp(ldd_argv[0], ldd_argv); /* Report why execution failed. */ kwsys_shared_forward_print_failure(ldd_argv); return 1; # else /* We have no ldd-like executable available on this platform. */ fprintf(stderr, "No ldd-like tool is known to this executable.\n"); return 1; # endif } #endif /* Replace this process with the real executable. */ argv[0] = exe; kwsys_shared_forward_execvp(argv[0], argv); /* Report why execution failed. */ kwsys_shared_forward_print_failure(argv); } else { /* Could not convert self path to the library directory. */ } } else { /* Could not find this executable. */ fprintf(stderr, "Error locating executable \"%s\".\n", argv[0]); } /* Avoid unused argument warning. */ (void)argc; /* Exit with failure. */ return 1; } /* Restore warning stack. */ #if defined(__clang__) && defined(__has_warning) # if __has_warning("-Wcast-qual") # pragma clang diagnostic pop # endif #endif #else # error "@KWSYS_NAMESPACE@/SharedForward.h should be included only once." #endif KWStyle-master/Utilities/KWSys/String.c000066400000000000000000000113611265471724600203360ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifdef KWSYS_STRING_C /* All code in this source file is conditionally compiled to work-around template definition auto-search on VMS. Other source files in this directory that use the stl string cause the compiler to load this source to try to get the definition of the string template. This condition blocks the compiler from seeing the symbols defined here. */ #include "kwsysPrivate.h" #include KWSYS_HEADER(String.h) /* Work-around CMake dependency scanning limitation. This must duplicate the above list of headers. */ #if 0 # include "String.h.in" #endif /* Select an implementation for strcasecmp. */ #if defined(_MSC_VER) # define KWSYS_STRING_USE_STRICMP # include #elif defined(__GNUC__) # define KWSYS_STRING_USE_STRCASECMP # include #else /* Table to convert upper case letters to lower case and leave all other characters alone. */ static char kwsysString_strcasecmp_tolower[] = { '\000', '\001', '\002', '\003', '\004', '\005', '\006', '\007', '\010', '\011', '\012', '\013', '\014', '\015', '\016', '\017', '\020', '\021', '\022', '\023', '\024', '\025', '\026', '\027', '\030', '\031', '\032', '\033', '\034', '\035', '\036', '\037', '\040', '\041', '\042', '\043', '\044', '\045', '\046', '\047', '\050', '\051', '\052', '\053', '\054', '\055', '\056', '\057', '\060', '\061', '\062', '\063', '\064', '\065', '\066', '\067', '\070', '\071', '\072', '\073', '\074', '\075', '\076', '\077', '\100', '\141', '\142', '\143', '\144', '\145', '\146', '\147', '\150', '\151', '\152', '\153', '\154', '\155', '\156', '\157', '\160', '\161', '\162', '\163', '\164', '\165', '\166', '\167', '\170', '\171', '\172', '\133', '\134', '\135', '\136', '\137', '\140', '\141', '\142', '\143', '\144', '\145', '\146', '\147', '\150', '\151', '\152', '\153', '\154', '\155', '\156', '\157', '\160', '\161', '\162', '\163', '\164', '\165', '\166', '\167', '\170', '\171', '\172', '\173', '\174', '\175', '\176', '\177', '\200', '\201', '\202', '\203', '\204', '\205', '\206', '\207', '\210', '\211', '\212', '\213', '\214', '\215', '\216', '\217', '\220', '\221', '\222', '\223', '\224', '\225', '\226', '\227', '\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237', '\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247', '\250', '\251', '\252', '\253', '\254', '\255', '\256', '\257', '\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267', '\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277', '\300', '\301', '\302', '\303', '\304', '\305', '\306', '\307', '\310', '\311', '\312', '\313', '\314', '\315', '\316', '\317', '\320', '\321', '\322', '\323', '\324', '\325', '\326', '\327', '\330', '\331', '\332', '\333', '\334', '\335', '\336', '\337', '\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347', '\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357', '\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367', '\370', '\371', '\372', '\373', '\374', '\375', '\376', '\377' }; #endif /*--------------------------------------------------------------------------*/ int kwsysString_strcasecmp(const char* lhs, const char* rhs) { #if defined(KWSYS_STRING_USE_STRICMP) return _stricmp(lhs, rhs); #elif defined(KWSYS_STRING_USE_STRCASECMP) return strcasecmp(lhs, rhs); #else const char* const lower = kwsysString_strcasecmp_tolower; unsigned char const* us1 = (unsigned char const*)lhs; unsigned char const* us2 = (unsigned char const*)rhs; int result; while((result = lower[*us1] - lower[*us2++], result == 0) && *us1++) { } return result; #endif } /*--------------------------------------------------------------------------*/ int kwsysString_strncasecmp(const char* lhs, const char* rhs, size_t n) { #if defined(KWSYS_STRING_USE_STRICMP) return _strnicmp(lhs, rhs, n); #elif defined(KWSYS_STRING_USE_STRCASECMP) return strncasecmp(lhs, rhs, n); #else const char* const lower = kwsysString_strcasecmp_tolower; unsigned char const* us1 = (unsigned char const*)lhs; unsigned char const* us2 = (unsigned char const*)rhs; int result = 0; while(n && (result = lower[*us1] - lower[*us2++], result == 0) && *us1++) { --n; } return result; #endif } #endif /* KWSYS_STRING_C */ KWStyle-master/Utilities/KWSys/String.h.in000066400000000000000000000043131265471724600207470ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_String_h #define @KWSYS_NAMESPACE@_String_h #include <@KWSYS_NAMESPACE@/Configure.h> #include /* size_t */ /* Redefine all public interface symbol names to be in the proper namespace. These macros are used internally to kwsys only, and are not visible to user code. Use kwsysHeaderDump.pl to reproduce these macros after making changes to the interface. */ #if !defined(KWSYS_NAMESPACE) # define kwsys_ns(x) @KWSYS_NAMESPACE@##x # define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT #endif #if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # define kwsysString_strcasecmp kwsys_ns(String_strcasecmp) # define kwsysString_strncasecmp kwsys_ns(String_strncasecmp) #endif #if defined(__cplusplus) extern "C" { #endif /** * Compare two strings ignoring the case of the characters. The * integer returned is negative, zero, or positive if the first string * is found to be less than, equal to, or greater than the second * string, respectively. */ kwsysEXPORT int kwsysString_strcasecmp(const char* lhs, const char* rhs); /** * Identical to String_strcasecmp except that only the first n * characters are considered. */ kwsysEXPORT int kwsysString_strncasecmp(const char* lhs, const char* rhs, size_t n); #if defined(__cplusplus) } /* extern "C" */ #endif /* If we are building a kwsys .c or .cxx file, let it use these macros. Otherwise, undefine them to keep the namespace clean. */ #if !defined(KWSYS_NAMESPACE) # undef kwsys_ns # undef kwsysEXPORT # if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # undef kwsysString_strcasecmp # undef kwsysString_strncasecmp # endif #endif #endif KWStyle-master/Utilities/KWSys/String.hxx.in000066400000000000000000000043771265471724600213410ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_String_hxx #define @KWSYS_NAMESPACE@_String_hxx #include namespace @KWSYS_NAMESPACE@ { /** \class String * \brief Short-name version of the STL basic_string class template. * * The standard library "string" type is actually a typedef for * "basic_string<..long argument list..>". This string class is * simply a subclass of this type with the same interface so that the * name is shorter in debugging symbols and error messages. */ class String: public std::string { /** The original string type. */ typedef std::string stl_string; public: /** String member types. */ typedef stl_string::value_type value_type; typedef stl_string::pointer pointer; typedef stl_string::reference reference; typedef stl_string::const_reference const_reference; typedef stl_string::size_type size_type; typedef stl_string::difference_type difference_type; typedef stl_string::iterator iterator; typedef stl_string::const_iterator const_iterator; typedef stl_string::reverse_iterator reverse_iterator; typedef stl_string::const_reverse_iterator const_reverse_iterator; /** String constructors. */ String(): stl_string() {} String(const value_type* s): stl_string(s) {} String(const value_type* s, size_type n): stl_string(s, n) {} String(const stl_string& s, size_type pos=0, size_type n=npos): stl_string(s, pos, n) {} }; // End Class: String #if defined(__WATCOMC__) inline bool operator<(String const& l, String const& r) { return (static_cast(l) < static_cast(r)); } #endif } // namespace @KWSYS_NAMESPACE@ #endif KWStyle-master/Utilities/KWSys/System.c000066400000000000000000000176731265471724600203700ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(System.h) /* Work-around CMake dependency scanning limitation. This must duplicate the above list of headers. */ #if 0 # include "System.h.in" #endif #include /* ptrdiff_t */ #include /* malloc, free */ #include /* memcpy */ #include /* isspace */ #include #if defined(KWSYS_C_HAS_PTRDIFF_T) && KWSYS_C_HAS_PTRDIFF_T typedef ptrdiff_t kwsysSystem_ptrdiff_t; #else typedef int kwsysSystem_ptrdiff_t; #endif /*--------------------------------------------------------------------------*/ static int kwsysSystem__AppendByte(char* local, char** begin, char** end, int* size, char c) { /* Allocate space for the character. */ if((*end - *begin) >= *size) { kwsysSystem_ptrdiff_t length = *end - *begin; char* newBuffer = (char*)malloc((size_t)(*size*2)); if(!newBuffer) { return 0; } memcpy(newBuffer, *begin, (size_t)(length)*sizeof(char)); if(*begin != local) { free(*begin); } *begin = newBuffer; *end = *begin + length; *size *= 2; } /* Store the character. */ *(*end)++ = c; return 1; } /*--------------------------------------------------------------------------*/ static int kwsysSystem__AppendArgument(char** local, char*** begin, char*** end, int* size, char* arg_local, char** arg_begin, char** arg_end, int* arg_size) { /* Append a null-terminator to the argument string. */ if(!kwsysSystem__AppendByte(arg_local, arg_begin, arg_end, arg_size, '\0')) { return 0; } /* Allocate space for the argument pointer. */ if((*end - *begin) >= *size) { kwsysSystem_ptrdiff_t length = *end - *begin; char** newPointers = (char**)malloc((size_t)(*size)*2*sizeof(char*)); if(!newPointers) { return 0; } memcpy(newPointers, *begin, (size_t)(length)*sizeof(char*)); if(*begin != local) { free(*begin); } *begin = newPointers; *end = *begin + length; *size *= 2; } /* Allocate space for the argument string. */ **end = (char*)malloc((size_t)(*arg_end - *arg_begin)); if(!**end) { return 0; } /* Store the argument in the command array. */ memcpy(**end, *arg_begin,(size_t)(*arg_end - *arg_begin)); ++(*end); /* Reset the argument to be empty. */ *arg_end = *arg_begin; return 1; } /*--------------------------------------------------------------------------*/ #define KWSYSPE_LOCAL_BYTE_COUNT 1024 #define KWSYSPE_LOCAL_ARGS_COUNT 32 static char** kwsysSystem__ParseUnixCommand(const char* command, int flags) { /* Create a buffer for argument pointers during parsing. */ char* local_pointers[KWSYSPE_LOCAL_ARGS_COUNT]; int pointers_size = KWSYSPE_LOCAL_ARGS_COUNT; char** pointer_begin = local_pointers; char** pointer_end = pointer_begin; /* Create a buffer for argument strings during parsing. */ char local_buffer[KWSYSPE_LOCAL_BYTE_COUNT]; int buffer_size = KWSYSPE_LOCAL_BYTE_COUNT; char* buffer_begin = local_buffer; char* buffer_end = buffer_begin; /* Parse the command string. Try to behave like a UNIX shell. */ char** newCommand = 0; const char* c = command; int in_argument = 0; int in_escape = 0; int in_single = 0; int in_double = 0; int failed = 0; for(;*c; ++c) { if(in_escape) { /* This character is escaped so do no special handling. */ if(!in_argument) { in_argument = 1; } if(!kwsysSystem__AppendByte(local_buffer, &buffer_begin, &buffer_end, &buffer_size, *c)) { failed = 1; break; } in_escape = 0; } else if(*c == '\\') { /* The next character should be escaped. */ in_escape = 1; } else if(*c == '\'' && !in_double) { /* Enter or exit single-quote state. */ if(in_single) { in_single = 0; } else { in_single = 1; if(!in_argument) { in_argument = 1; } } } else if(*c == '"' && !in_single) { /* Enter or exit double-quote state. */ if(in_double) { in_double = 0; } else { in_double = 1; if(!in_argument) { in_argument = 1; } } } else if(isspace((unsigned char) *c)) { if(in_argument) { if(in_single || in_double) { /* This space belongs to a quoted argument. */ if(!kwsysSystem__AppendByte(local_buffer, &buffer_begin, &buffer_end, &buffer_size, *c)) { failed = 1; break; } } else { /* This argument has been terminated by whitespace. */ if(!kwsysSystem__AppendArgument(local_pointers, &pointer_begin, &pointer_end, &pointers_size, local_buffer, &buffer_begin, &buffer_end, &buffer_size)) { failed = 1; break; } in_argument = 0; } } } else { /* This character belong to an argument. */ if(!in_argument) { in_argument = 1; } if(!kwsysSystem__AppendByte(local_buffer, &buffer_begin, &buffer_end, &buffer_size, *c)) { failed = 1; break; } } } /* Finish the last argument. */ if(in_argument) { if(!kwsysSystem__AppendArgument(local_pointers, &pointer_begin, &pointer_end, &pointers_size, local_buffer, &buffer_begin, &buffer_end, &buffer_size)) { failed = 1; } } /* If we still have memory allocate space for the new command buffer. */ if(!failed) { kwsysSystem_ptrdiff_t n = pointer_end - pointer_begin; newCommand = (char**)malloc((size_t)(n+1)*sizeof(char*)); } if(newCommand) { /* Copy the arguments into the new command buffer. */ kwsysSystem_ptrdiff_t n = pointer_end - pointer_begin; memcpy(newCommand, pointer_begin, sizeof(char*)*(size_t)(n)); newCommand[n] = 0; } else { /* Free arguments already allocated. */ while(pointer_end != pointer_begin) { free(*(--pointer_end)); } } /* Free temporary buffers. */ if(pointer_begin != local_pointers) { free(pointer_begin); } if(buffer_begin != local_buffer) { free(buffer_begin); } /* The flags argument is currently unused. */ (void)flags; /* Return the final command buffer. */ return newCommand; } /*--------------------------------------------------------------------------*/ char** kwsysSystem_Parse_CommandForUnix(const char* command, int flags) { /* Validate the flags. */ if(flags != 0) { return 0; } /* Forward to our internal implementation. */ return kwsysSystem__ParseUnixCommand(command, flags); } KWStyle-master/Utilities/KWSys/System.h.in000066400000000000000000000050271265471724600207700ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_System_h #define @KWSYS_NAMESPACE@_System_h #include <@KWSYS_NAMESPACE@/Configure.h> /* Redefine all public interface symbol names to be in the proper namespace. These macros are used internally to kwsys only, and are not visible to user code. Use kwsysHeaderDump.pl to reproduce these macros after making changes to the interface. */ #if !defined(KWSYS_NAMESPACE) # define kwsys_ns(x) @KWSYS_NAMESPACE@##x # define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT #endif #if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # define kwsysSystem_Parse_CommandForUnix kwsys_ns(System_Parse_CommandForUnix) #endif #if defined(__cplusplus) extern "C" { #endif /** * Parse a unix-style command line string into separate arguments. * * On success, returns a pointer to an array of pointers to individual * argument strings. Each string is null-terminated and the last * entry in the array is a NULL pointer (just like argv). It is the * caller's responsibility to free() the strings and the array of * pointers to them. * * On failure, returns NULL. Failure occurs only on invalid flags or * when memory cannot be allocated; never due to content of the input * string. Missing close-quotes are treated as if the necessary * closing quote appears. * * By default single- and double-quoted arguments are supported, and * any character may be escaped by a backslash. The flags argument is * reserved for future use, and must be zero (or the call will fail). */ kwsysEXPORT char** kwsysSystem_Parse_CommandForUnix(const char* command, int flags); #if defined(__cplusplus) } /* extern "C" */ #endif /* If we are building a kwsys .c or .cxx file, let it use these macros. Otherwise, undefine them to keep the namespace clean. */ #if !defined(KWSYS_NAMESPACE) # undef kwsys_ns # undef kwsysEXPORT # if !defined(KWSYS_NAMESPACE) && !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # undef kwsysSystem_Parse_CommandForUnix # endif #endif #endif KWStyle-master/Utilities/KWSys/SystemInformation.cxx000066400000000000000000004460731265471724600231560ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #if defined(_WIN32) # define NOMINMAX // use our min,max # if !defined(_WIN32_WINNT) && !(defined(_MSC_VER) && _MSC_VER < 1300) # define _WIN32_WINNT 0x0501 # endif # include // WSADATA, include before sys/types.h #endif #if (defined(__GNUC__) || defined(__PGI)) && !defined(_GNU_SOURCE) # define _GNU_SOURCE #endif // TODO: // We need an alternative implementation for many functions in this file // when USE_ASM_INSTRUCTIONS gets defined as 0. // // Consider using these on Win32/Win64 for some of them: // // IsProcessorFeaturePresent // http://msdn.microsoft.com/en-us/library/ms724482(VS.85).aspx // // GetProcessMemoryInfo // http://msdn.microsoft.com/en-us/library/ms683219(VS.85).aspx #include "kwsysPrivate.h" #include KWSYS_HEADER(SystemInformation.hxx) #include KWSYS_HEADER(Process.h) // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "SystemInformation.hxx.in" # include "Process.h.in" # include "Configure.hxx.in" #endif #include #include #include #include #include #if defined(_WIN32) # include # if defined(_MSC_VER) && _MSC_VER >= 1800 # define KWSYS_WINDOWS_DEPRECATED_GetVersionEx # endif # include # if defined(KWSYS_SYS_HAS_PSAPI) # include # endif # if !defined(siginfo_t) typedef int siginfo_t; # endif #else # include # include # include // int uname(struct utsname *buf); # include // getrlimit # include # include # include # include // extern int errno; #endif #if defined (__CYGWIN__) && !defined(_WIN32) # include # undef _WIN32 #endif #ifdef __FreeBSD__ # include # include # include # include # include # if defined(KWSYS_SYS_HAS_IFADDRS_H) # include # define KWSYS_SYSTEMINFORMATION_IMPLEMENT_FQDN # endif #endif #if defined(__OpenBSD__) || defined(__NetBSD__) # include # include #endif #if defined(KWSYS_SYS_HAS_MACHINE_CPU_H) # include #endif #if defined(__DragonFly__) # include #endif #ifdef __APPLE__ # include # include # include # include # include # include # include # include # include # if defined(KWSYS_SYS_HAS_IFADDRS_H) # include # define KWSYS_SYSTEMINFORMATION_IMPLEMENT_FQDN # endif # if !(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0 >= 1050) # undef KWSYS_SYSTEMINFORMATION_HAS_BACKTRACE # endif #endif #ifdef __linux # include # include # include # include # if defined(KWSYS_SYS_HAS_IFADDRS_H) # include # if !defined(__LSB_VERSION__) /* LSB has no getifaddrs */ # define KWSYS_SYSTEMINFORMATION_IMPLEMENT_FQDN # endif # endif # if defined(KWSYS_CXX_HAS_RLIMIT64) typedef struct rlimit64 ResourceLimitType; # define GetResourceLimit getrlimit64 # else typedef struct rlimit ResourceLimitType; # define GetResourceLimit getrlimit # endif #elif defined( __hpux ) # include # include # if defined(KWSYS_SYS_HAS_MPCTL_H) # include # endif #endif #ifdef __HAIKU__ # include #endif #if defined(KWSYS_SYSTEMINFORMATION_HAS_BACKTRACE) # include # if defined(KWSYS_SYSTEMINFORMATION_HAS_CPP_DEMANGLE) # include # endif # if defined(KWSYS_SYSTEMINFORMATION_HAS_SYMBOL_LOOKUP) # include # endif #else # undef KWSYS_SYSTEMINFORMATION_HAS_CPP_DEMANGLE # undef KWSYS_SYSTEMINFORMATION_HAS_SYMBOL_LOOKUP #endif #include #include #include #include #include // int isdigit(int c); #if defined(KWSYS_USE_LONG_LONG) # if defined(KWSYS_IOS_HAS_OSTREAM_LONG_LONG) # define iostreamLongLong(x) (x) # else # define iostreamLongLong(x) ((long)x) # endif #elif defined(KWSYS_USE___INT64) # if defined(KWSYS_IOS_HAS_OSTREAM___INT64) # define iostreamLongLong(x) (x) # else # define iostreamLongLong(x) ((long)x) # endif #else # error "No Long Long" #endif #if defined(KWSYS_CXX_HAS_ATOLL) # define atoLongLong atoll #else # if defined(KWSYS_CXX_HAS__ATOI64) # define atoLongLong _atoi64 # elif defined(KWSYS_CXX_HAS_ATOL) # define atoLongLong atol # else # define atoLongLong atoi # endif #endif #if defined(_MSC_VER) && (_MSC_VER >= 1300) && !defined(_WIN64) #define USE_ASM_INSTRUCTIONS 1 #else #define USE_ASM_INSTRUCTIONS 0 #endif #if defined(_MSC_VER) && (_MSC_VER >= 1400) #include #define USE_CPUID_INTRINSICS 1 #else #define USE_CPUID_INTRINSICS 0 #endif #if USE_ASM_INSTRUCTIONS || USE_CPUID_INTRINSICS || defined(KWSYS_CXX_HAS_BORLAND_ASM_CPUID) # define USE_CPUID 1 #else # define USE_CPUID 0 #endif #if USE_CPUID #define CPUID_AWARE_COMPILER /** * call CPUID instruction * * Will return false if the instruction failed. */ static bool call_cpuid(int select, int result[4]) { #if USE_CPUID_INTRINSICS __cpuid(result, select); return true; #else int tmp[4]; #if defined(_MSC_VER) // Use SEH to determine CPUID presence __try { _asm { #ifdef CPUID_AWARE_COMPILER ; we must push/pop the registers <> writes to, as the ; optimiser does not know about <>, and so does not expect ; these registers to change. push eax push ebx push ecx push edx #endif ; <> mov eax, select #ifdef CPUID_AWARE_COMPILER cpuid #else _asm _emit 0x0f _asm _emit 0xa2 #endif mov tmp[0 * TYPE int], eax mov tmp[1 * TYPE int], ebx mov tmp[2 * TYPE int], ecx mov tmp[3 * TYPE int], edx #ifdef CPUID_AWARE_COMPILER pop edx pop ecx pop ebx pop eax #endif } } __except(1) { return false; } memcpy(result, tmp, sizeof(tmp)); #elif defined(KWSYS_CXX_HAS_BORLAND_ASM_CPUID) unsigned int a, b, c, d; __asm { mov EAX, select; cpuid mov a, EAX; mov b, EBX; mov c, ECX; mov d, EDX; } result[0] = a; result[1] = b; result[2] = c; result[3] = d; #endif // The cpuid instruction succeeded. return true; #endif } #endif namespace KWSYS_NAMESPACE { template T min(T a, T b){ return a args); //For Haiku OS bool QueryHaikuInfo(); //For QNX bool QueryQNXMemory(); bool QueryQNXProcessor(); //For OpenBSD, FreeBSD, NetBSD, DragonFly bool QueryBSDMemory(); bool QueryBSDProcessor(); //For HP-UX bool QueryHPUXMemory(); bool QueryHPUXProcessor(); //For Microsoft Windows bool QueryWindowsMemory(); //For AIX bool QueryAIXMemory(); bool QueryProcessorBySysconf(); bool QueryProcessor(); // Evaluate the memory information. bool QueryMemoryBySysconf(); bool QueryMemory(); size_t TotalVirtualMemory; size_t AvailableVirtualMemory; size_t TotalPhysicalMemory; size_t AvailablePhysicalMemory; size_t CurrentPositionInFile; // Operating System information bool QueryOSInformation(); std::string OSName; std::string Hostname; std::string OSRelease; std::string OSVersion; std::string OSPlatform; }; SystemInformation::SystemInformation() { this->Implementation = new SystemInformationImplementation; } SystemInformation::~SystemInformation() { delete this->Implementation; } const char * SystemInformation::GetVendorString() { return this->Implementation->GetVendorString(); } const char * SystemInformation::GetVendorID() { return this->Implementation->GetVendorID(); } std::string SystemInformation::GetTypeID() { return this->Implementation->GetTypeID(); } std::string SystemInformation::GetFamilyID() { return this->Implementation->GetFamilyID(); } std::string SystemInformation::GetModelID() { return this->Implementation->GetModelID(); } std::string SystemInformation::GetModelName() { return this->Implementation->GetModelName(); } std::string SystemInformation::GetSteppingCode() { return this->Implementation->GetSteppingCode(); } const char * SystemInformation::GetExtendedProcessorName() { return this->Implementation->GetExtendedProcessorName(); } const char * SystemInformation::GetProcessorSerialNumber() { return this->Implementation->GetProcessorSerialNumber(); } int SystemInformation::GetProcessorCacheSize() { return this->Implementation->GetProcessorCacheSize(); } unsigned int SystemInformation::GetLogicalProcessorsPerPhysical() { return this->Implementation->GetLogicalProcessorsPerPhysical(); } float SystemInformation::GetProcessorClockFrequency() { return this->Implementation->GetProcessorClockFrequency(); } int SystemInformation::GetProcessorAPICID() { return this->Implementation->GetProcessorAPICID(); } int SystemInformation::GetProcessorCacheXSize(long int l) { return this->Implementation->GetProcessorCacheXSize(l); } bool SystemInformation::DoesCPUSupportFeature(long int i) { return this->Implementation->DoesCPUSupportFeature(i); } std::string SystemInformation::GetCPUDescription() { std::ostringstream oss; oss << this->GetNumberOfPhysicalCPU() << " core "; if (this->GetModelName().empty()) { oss << this->GetProcessorClockFrequency() << " MHz " << this->GetVendorString() << " " << this->GetExtendedProcessorName(); } else { oss << this->GetModelName(); } // remove extra spaces std::string tmp=oss.str(); size_t pos; while( (pos=tmp.find(" "))!=std::string::npos) { tmp.replace(pos,2," "); } return tmp; } const char * SystemInformation::GetOSName() { return this->Implementation->GetOSName(); } const char * SystemInformation::GetHostname() { return this->Implementation->GetHostname(); } std::string SystemInformation::GetFullyQualifiedDomainName() { std::string fqdn; this->Implementation->GetFullyQualifiedDomainName(fqdn); return fqdn; } const char * SystemInformation::GetOSRelease() { return this->Implementation->GetOSRelease(); } const char * SystemInformation::GetOSVersion() { return this->Implementation->GetOSVersion(); } const char * SystemInformation::GetOSPlatform() { return this->Implementation->GetOSPlatform(); } int SystemInformation::GetOSIsWindows() { #if defined(_WIN32) return 1; #else return 0; #endif } int SystemInformation::GetOSIsLinux() { #if defined(__linux) return 1; #else return 0; #endif } int SystemInformation::GetOSIsApple() { #if defined(__APPLE__) return 1; #else return 0; #endif } std::string SystemInformation::GetOSDescription() { std::ostringstream oss; oss << this->GetOSName() << " " << this->GetOSRelease() << " " << this->GetOSVersion(); return oss.str(); } bool SystemInformation::Is64Bits() { return this->Implementation->Is64Bits(); } unsigned int SystemInformation::GetNumberOfLogicalCPU() // per physical cpu { return this->Implementation->GetNumberOfLogicalCPU(); } unsigned int SystemInformation::GetNumberOfPhysicalCPU() { return this->Implementation->GetNumberOfPhysicalCPU(); } bool SystemInformation::DoesCPUSupportCPUID() { return this->Implementation->DoesCPUSupportCPUID(); } // Retrieve memory information in megabyte. size_t SystemInformation::GetTotalVirtualMemory() { return this->Implementation->GetTotalVirtualMemory(); } size_t SystemInformation::GetAvailableVirtualMemory() { return this->Implementation->GetAvailableVirtualMemory(); } size_t SystemInformation::GetTotalPhysicalMemory() { return this->Implementation->GetTotalPhysicalMemory(); } size_t SystemInformation::GetAvailablePhysicalMemory() { return this->Implementation->GetAvailablePhysicalMemory(); } std::string SystemInformation::GetMemoryDescription( const char *hostLimitEnvVarName, const char *procLimitEnvVarName) { std::ostringstream oss; oss << "Host Total: " << iostreamLongLong(this->GetHostMemoryTotal()) << " KiB, Host Available: " << iostreamLongLong(this->GetHostMemoryAvailable(hostLimitEnvVarName)) << " KiB, Process Available: " << iostreamLongLong( this->GetProcMemoryAvailable(hostLimitEnvVarName,procLimitEnvVarName)) << " KiB"; return oss.str(); } // host memory info in units of KiB. SystemInformation::LongLong SystemInformation::GetHostMemoryTotal() { return this->Implementation->GetHostMemoryTotal(); } SystemInformation::LongLong SystemInformation::GetHostMemoryAvailable(const char *hostLimitEnvVarName) { return this->Implementation->GetHostMemoryAvailable(hostLimitEnvVarName); } SystemInformation::LongLong SystemInformation::GetHostMemoryUsed() { return this->Implementation->GetHostMemoryUsed(); } // process memory info in units of KiB. SystemInformation::LongLong SystemInformation::GetProcMemoryAvailable( const char *hostLimitEnvVarName, const char *procLimitEnvVarName) { return this->Implementation->GetProcMemoryAvailable( hostLimitEnvVarName, procLimitEnvVarName); } SystemInformation::LongLong SystemInformation::GetProcMemoryUsed() { return this->Implementation->GetProcMemoryUsed(); } double SystemInformation::GetLoadAverage() { return this->Implementation->GetLoadAverage(); } SystemInformation::LongLong SystemInformation::GetProcessId() { return this->Implementation->GetProcessId(); } void SystemInformation::SetStackTraceOnError(int enable) { SystemInformationImplementation::SetStackTraceOnError(enable); } std::string SystemInformation::GetProgramStack(int firstFrame, int wholePath) { return SystemInformationImplementation::GetProgramStack(firstFrame, wholePath); } /** Run the different checks */ void SystemInformation::RunCPUCheck() { this->Implementation->RunCPUCheck(); } void SystemInformation::RunOSCheck() { this->Implementation->RunOSCheck(); } void SystemInformation::RunMemoryCheck() { this->Implementation->RunMemoryCheck(); } // -------------------------------------------------------------- // SystemInformationImplementation starts here #define STORE_TLBCACHE_INFO(x,y) x = (x < y) ? y : x #define TLBCACHE_INFO_UNITS (15) #define CLASSICAL_CPU_FREQ_LOOP 10000000 #define RDTSC_INSTRUCTION _asm _emit 0x0f _asm _emit 0x31 #define MMX_FEATURE 0x00000001 #define MMX_PLUS_FEATURE 0x00000002 #define SSE_FEATURE 0x00000004 #define SSE2_FEATURE 0x00000008 #define AMD_3DNOW_FEATURE 0x00000010 #define AMD_3DNOW_PLUS_FEATURE 0x00000020 #define IA64_FEATURE 0x00000040 #define MP_CAPABLE 0x00000080 #define HYPERTHREAD_FEATURE 0x00000100 #define SERIALNUMBER_FEATURE 0x00000200 #define APIC_FEATURE 0x00000400 #define SSE_FP_FEATURE 0x00000800 #define SSE_MMX_FEATURE 0x00001000 #define CMOV_FEATURE 0x00002000 #define MTRR_FEATURE 0x00004000 #define L1CACHE_FEATURE 0x00008000 #define L2CACHE_FEATURE 0x00010000 #define L3CACHE_FEATURE 0x00020000 #define ACPI_FEATURE 0x00040000 #define THERMALMONITOR_FEATURE 0x00080000 #define TEMPSENSEDIODE_FEATURE 0x00100000 #define FREQUENCYID_FEATURE 0x00200000 #define VOLTAGEID_FREQUENCY 0x00400000 // Status Flag #define HT_NOT_CAPABLE 0 #define HT_ENABLED 1 #define HT_DISABLED 2 #define HT_SUPPORTED_NOT_ENABLED 3 #define HT_CANNOT_DETECT 4 // EDX[28] Bit 28 is set if HT is supported #define HT_BIT 0x10000000 // EAX[11:8] Bit 8-11 contains family processor ID. #define FAMILY_ID 0x0F00 #define PENTIUM4_ID 0x0F00 // EAX[23:20] Bit 20-23 contains extended family processor ID #define EXT_FAMILY_ID 0x0F00000 // EBX[23:16] Bit 16-23 in ebx contains the number of logical #define NUM_LOGICAL_BITS 0x00FF0000 // processors per physical processor when execute cpuid with // eax set to 1 // EBX[31:24] Bits 24-31 (8 bits) return the 8-bit unique #define INITIAL_APIC_ID_BITS 0xFF000000 // initial APIC ID for the processor this code is running on. // Default value = 0xff if HT is not supported // Hide implementation details in an anonymous namespace. namespace { // ***************************************************************************** #if defined(__linux) || defined(__APPLE__) int LoadLines( FILE *file, std::vector &lines) { // Load each line in the given file into a the vector. int nRead=0; const int bufSize=1024; char buf[bufSize]={'\0'}; while (!feof(file) && !ferror(file)) { errno=0; if (fgets(buf,bufSize,file) == 0) { if (ferror(file) && (errno==EINTR)) { clearerr(file); } continue; } char *pBuf=buf; while(*pBuf) { if (*pBuf=='\n') *pBuf='\0'; pBuf+=1; } lines.push_back(buf); ++nRead; } if (ferror(file)) { return 0; } return nRead; } # if defined(__linux) // ***************************************************************************** int LoadLines( const char *fileName, std::vector &lines) { FILE *file=fopen(fileName,"r"); if (file==0) { return 0; } int nRead=LoadLines(file,lines); fclose(file); return nRead; } # endif // **************************************************************************** template int NameValue( std::vector &lines, std::string name, T &value) { size_t nLines=lines.size(); for (size_t i=0; i> value; return 0; } return -1; } #endif #if defined(__linux) // **************************************************************************** template int GetFieldsFromFile( const char *fileName, const char **fieldNames, T *values) { std::vector fields; if (!LoadLines(fileName,fields)) { return -1; } int i=0; while (fieldNames[i]!=NULL) { int ierr=NameValue(fields,fieldNames[i],values[i]); if (ierr) { return -(i+2); } i+=1; } return 0; } // **************************************************************************** template int GetFieldFromFile( const char *fileName, const char *fieldName, T &value) { const char *fieldNames[2]={fieldName,NULL}; T values[1]={T(0)}; int ierr=GetFieldsFromFile(fileName,fieldNames,values); if (ierr) { return ierr; } value=values[0]; return 0; } #endif // **************************************************************************** #if defined(__APPLE__) template int GetFieldsFromCommand( const char *command, const char **fieldNames, T *values) { FILE *file=popen(command,"r"); if (file==0) { return -1; } std::vector fields; int nl=LoadLines(file,fields); pclose(file); if (nl==0) { return -1; } int i=0; while (fieldNames[i]!=NULL) { int ierr=NameValue(fields,fieldNames[i],values[i]); if (ierr) { return -(i+2); } i+=1; } return 0; } #endif // **************************************************************************** #if !defined(_WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__) void StacktraceSignalHandler( int sigNo, siginfo_t *sigInfo, void * /*sigContext*/) { #if defined(__linux) || defined(__APPLE__) std::ostringstream oss; oss << std::endl << "=========================================================" << std::endl << "Process id " << getpid() << " "; switch (sigNo) { case SIGINT: oss << "Caught SIGINT"; break; case SIGTERM: oss << "Caught SIGTERM"; break; case SIGABRT: oss << "Caught SIGABRT"; break; case SIGFPE: oss << "Caught SIGFPE at " << (sigInfo->si_addr==0?"0x":"") << sigInfo->si_addr << " "; switch (sigInfo->si_code) { # if defined(FPE_INTDIV) case FPE_INTDIV: oss << "integer division by zero"; break; # endif # if defined(FPE_INTOVF) case FPE_INTOVF: oss << "integer overflow"; break; # endif case FPE_FLTDIV: oss << "floating point divide by zero"; break; case FPE_FLTOVF: oss << "floating point overflow"; break; case FPE_FLTUND: oss << "floating point underflow"; break; case FPE_FLTRES: oss << "floating point inexact result"; break; case FPE_FLTINV: oss << "floating point invalid operation"; break; #if defined(FPE_FLTSUB) case FPE_FLTSUB: oss << "floating point subscript out of range"; break; #endif default: oss << "code " << sigInfo->si_code; break; } break; case SIGSEGV: oss << "Caught SIGSEGV at " << (sigInfo->si_addr==0?"0x":"") << sigInfo->si_addr << " "; switch (sigInfo->si_code) { case SEGV_MAPERR: oss << "address not mapped to object"; break; case SEGV_ACCERR: oss << "invalid permission for mapped object"; break; default: oss << "code " << sigInfo->si_code; break; } break; case SIGBUS: oss << "Caught SIGBUS at " << (sigInfo->si_addr==0?"0x":"") << sigInfo->si_addr << " "; switch (sigInfo->si_code) { case BUS_ADRALN: oss << "invalid address alignment"; break; # if defined(BUS_ADRERR) case BUS_ADRERR: oss << "nonexistent physical address"; break; # endif # if defined(BUS_OBJERR) case BUS_OBJERR: oss << "object-specific hardware error"; break; # endif # if defined(BUS_MCEERR_AR) case BUS_MCEERR_AR: oss << "Hardware memory error consumed on a machine check; action required."; break; # endif # if defined(BUS_MCEERR_AO) case BUS_MCEERR_AO: oss << "Hardware memory error detected in process but not consumed; action optional."; break; # endif default: oss << "code " << sigInfo->si_code; break; } break; case SIGILL: oss << "Caught SIGILL at " << (sigInfo->si_addr==0?"0x":"") << sigInfo->si_addr << " "; switch (sigInfo->si_code) { case ILL_ILLOPC: oss << "illegal opcode"; break; # if defined(ILL_ILLOPN) case ILL_ILLOPN: oss << "illegal operand"; break; # endif # if defined(ILL_ILLADR) case ILL_ILLADR: oss << "illegal addressing mode."; break; # endif case ILL_ILLTRP: oss << "illegal trap"; break; case ILL_PRVOPC: oss << "privileged opcode"; break; # if defined(ILL_PRVREG) case ILL_PRVREG: oss << "privileged register"; break; # endif # if defined(ILL_COPROC) case ILL_COPROC: oss << "co-processor error"; break; # endif # if defined(ILL_BADSTK) case ILL_BADSTK: oss << "internal stack error"; break; # endif default: oss << "code " << sigInfo->si_code; break; } break; default: oss << "Caught " << sigNo << " code " << sigInfo->si_code; break; } oss << std::endl << "Program Stack:" << std::endl << SystemInformationImplementation::GetProgramStack(2,0) << "=========================================================" << std::endl; std::cerr << oss.str() << std::endl; // restore the previously registered handlers // and abort SystemInformationImplementation::SetStackTraceOnError(0); abort(); #else // avoid warning C4100 (void)sigNo; (void)sigInfo; #endif } #endif #if defined(KWSYS_SYSTEMINFORMATION_HAS_BACKTRACE) #define safes(_arg)((_arg)?(_arg):"???") // Description: // A container for symbol properties. Each instance // must be Initialized. class SymbolProperties { public: SymbolProperties(); // Description: // The SymbolProperties instance must be initialized by // passing a stack address. void Initialize(void *address); // Description: // Get the symbol's stack address. void *GetAddress() const { return this->Address; } // Description: // If not set paths will be removed. eg, from a binary // or source file. void SetReportPath(int rp){ this->ReportPath=rp; } // Description: // Set/Get the name of the binary file that the symbol // is found in. void SetBinary(const char *binary) { this->Binary=safes(binary); } std::string GetBinary() const; // Description: // Set the name of the function that the symbol is found in. // If c++ demangling is supported it will be demangled. void SetFunction(const char *function) { this->Function=this->Demangle(function); } std::string GetFunction() const { return this->Function; } // Description: // Set/Get the name of the source file where the symbol // is defined. void SetSourceFile(const char *sourcefile) { this->SourceFile=safes(sourcefile); } std::string GetSourceFile() const { return this->GetFileName(this->SourceFile); } // Description: // Set/Get the line number where the symbol is defined void SetLineNumber(long linenumber){ this->LineNumber=linenumber; } long GetLineNumber() const { return this->LineNumber; } // Description: // Set the address where the biinary image is mapped // into memory. void SetBinaryBaseAddress(void *address) { this->BinaryBaseAddress=address; } private: void *GetRealAddress() const { return (void*)((char*)this->Address-(char*)this->BinaryBaseAddress); } std::string GetFileName(const std::string &path) const; std::string Demangle(const char *symbol) const; private: std::string Binary; void *BinaryBaseAddress; void *Address; std::string SourceFile; std::string Function; long LineNumber; int ReportPath; }; // -------------------------------------------------------------------------- std::ostream &operator<<( std::ostream &os, const SymbolProperties &sp) { #if defined(KWSYS_SYSTEMINFORMATION_HAS_SYMBOL_LOOKUP) os << std::hex << sp.GetAddress() << " : " << sp.GetFunction() << " [(" << sp.GetBinary() << ") " << sp.GetSourceFile() << ":" << std::dec << sp.GetLineNumber() << "]"; #elif defined(KWSYS_SYSTEMINFORMATION_HAS_BACKTRACE) void *addr = sp.GetAddress(); char **syminfo = backtrace_symbols(&addr,1); os << safes(syminfo[0]); free(syminfo); #else (void)os; (void)sp; #endif return os; } // -------------------------------------------------------------------------- SymbolProperties::SymbolProperties() { // not using an initializer list // to avoid some PGI compiler warnings this->SetBinary("???"); this->SetBinaryBaseAddress(NULL); this->Address = NULL; this->SetSourceFile("???"); this->SetFunction("???"); this->SetLineNumber(-1); this->SetReportPath(0); // avoid PGI compiler warnings this->GetRealAddress(); this->GetFunction(); this->GetSourceFile(); this->GetLineNumber(); } // -------------------------------------------------------------------------- std::string SymbolProperties::GetFileName(const std::string &path) const { std::string file(path); if (!this->ReportPath) { size_t at = file.rfind("/"); if (at!=std::string::npos) { file = file.substr(at+1,std::string::npos); } } return file; } // -------------------------------------------------------------------------- std::string SymbolProperties::GetBinary() const { // only linux has proc fs #if defined(__linux__) if (this->Binary=="/proc/self/exe") { std::string binary; char buf[1024]={'\0'}; ssize_t ll=0; if ((ll=readlink("/proc/self/exe",buf,1024))>0) { buf[ll]='\0'; binary=buf; } else { binary="/proc/self/exe"; } return this->GetFileName(binary); } #endif return this->GetFileName(this->Binary); } // -------------------------------------------------------------------------- std::string SymbolProperties::Demangle(const char *symbol) const { std::string result = safes(symbol); #if defined(KWSYS_SYSTEMINFORMATION_HAS_CPP_DEMANGLE) int status = 0; size_t bufferLen = 1024; char *buffer = (char*)malloc(1024); char *demangledSymbol = abi::__cxa_demangle(symbol, buffer, &bufferLen, &status); if (!status) { result = demangledSymbol; } free(buffer); #else (void)symbol; #endif return result; } // -------------------------------------------------------------------------- void SymbolProperties::Initialize(void *address) { this->Address = address; #if defined(KWSYS_SYSTEMINFORMATION_HAS_SYMBOL_LOOKUP) // first fallback option can demangle c++ functions Dl_info info; int ierr=dladdr(this->Address,&info); if (ierr && info.dli_sname && info.dli_saddr) { this->SetBinary(info.dli_fname); this->SetFunction(info.dli_sname); } #else // second fallback use builtin backtrace_symbols // to decode the bactrace. #endif } #endif // don't define this class if we're not using it // -------------------------------------------------------------------------- #if defined(_WIN32) || defined(__CYGWIN__) # define KWSYS_SYSTEMINFORMATION_USE_GetSystemTimes #endif #if defined(_MSC_VER) && _MSC_VER < 1310 # undef KWSYS_SYSTEMINFORMATION_USE_GetSystemTimes #endif #if defined(KWSYS_SYSTEMINFORMATION_USE_GetSystemTimes) double calculateCPULoad(unsigned __int64 idleTicks, unsigned __int64 totalTicks) { static double previousLoad = -0.0; static unsigned __int64 previousIdleTicks = 0; static unsigned __int64 previousTotalTicks = 0; unsigned __int64 const idleTicksSinceLastTime = idleTicks - previousIdleTicks; unsigned __int64 const totalTicksSinceLastTime = totalTicks - previousTotalTicks; double load; if (previousTotalTicks == 0 || totalTicksSinceLastTime == 0) { // No new information. Use previous result. load = previousLoad; } else { // Calculate load since last time. load = 1.0 - double(idleTicksSinceLastTime) / totalTicksSinceLastTime; // Smooth if possible. if (previousLoad > 0) { load = 0.25 * load + 0.75 * previousLoad; } } previousLoad = load; previousIdleTicks = idleTicks; previousTotalTicks = totalTicks; return load; } unsigned __int64 fileTimeToUInt64(FILETIME const& ft) { LARGE_INTEGER out; out.HighPart = ft.dwHighDateTime; out.LowPart = ft.dwLowDateTime; return out.QuadPart; } #endif } // anonymous namespace SystemInformationImplementation::SystemInformationImplementation() { this->TotalVirtualMemory = 0; this->AvailableVirtualMemory = 0; this->TotalPhysicalMemory = 0; this->AvailablePhysicalMemory = 0; this->CurrentPositionInFile = 0; this->ChipManufacturer = UnknownManufacturer; memset(&this->Features, 0, sizeof(CPUFeatures)); this->ChipID.Type = 0; this->ChipID.Family = 0; this->ChipID.Model = 0; this->ChipID.Revision = 0; this->ChipID.ExtendedFamily = 0; this->ChipID.ExtendedModel = 0; this->CPUSpeedInMHz = 0; this->NumberOfLogicalCPU = 0; this->NumberOfPhysicalCPU = 0; this->OSName = ""; this->Hostname = ""; this->OSRelease = ""; this->OSVersion = ""; this->OSPlatform = ""; } SystemInformationImplementation::~SystemInformationImplementation() { } void SystemInformationImplementation::RunCPUCheck() { #ifdef WIN32 // Check to see if this processor supports CPUID. bool supportsCPUID = DoesCPUSupportCPUID(); if (supportsCPUID) { // Retrieve the CPU details. RetrieveCPUIdentity(); this->FindManufacturer(); RetrieveCPUFeatures(); } // These two may be called without support for the CPUID instruction. // (But if the instruction is there, they should be called *after* // the above call to RetrieveCPUIdentity... that's why the two if // blocks exist with the same "if (supportsCPUID)" logic... // if (!RetrieveCPUClockSpeed()) { RetrieveClassicalCPUClockSpeed(); } if (supportsCPUID) { // Retrieve cache information. if (!RetrieveCPUCacheDetails()) { RetrieveClassicalCPUCacheDetails(); } // Retrieve the extended CPU details. if (!RetrieveExtendedCPUIdentity()) { RetrieveClassicalCPUIdentity(); } RetrieveExtendedCPUFeatures(); RetrieveCPUPowerManagement(); // Now attempt to retrieve the serial number (if possible). RetrieveProcessorSerialNumber(); } this->CPUCount(); #elif defined(__APPLE__) this->ParseSysCtl(); #elif defined (__SVR4) && defined (__sun) this->QuerySolarisProcessor(); #elif defined(__HAIKU__) this->QueryHaikuInfo(); #elif defined(__QNX__) this->QueryQNXProcessor(); #elif defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__) this->QueryBSDProcessor(); #elif defined(__hpux) this->QueryHPUXProcessor(); #elif defined(__linux) || defined(__CYGWIN__) this->RetreiveInformationFromCpuInfoFile(); #else this->QueryProcessor(); #endif } void SystemInformationImplementation::RunOSCheck() { this->QueryOSInformation(); } void SystemInformationImplementation::RunMemoryCheck() { #if defined(__APPLE__) this->ParseSysCtl(); #elif defined (__SVR4) && defined (__sun) this->QuerySolarisMemory(); #elif defined(__HAIKU__) this->QueryHaikuInfo(); #elif defined(__QNX__) this->QueryQNXMemory(); #elif defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__) this->QueryBSDMemory(); #elif defined(__CYGWIN__) this->QueryCygwinMemory(); #elif defined(_WIN32) this->QueryWindowsMemory(); #elif defined(__hpux) this->QueryHPUXMemory(); #elif defined(__linux) this->QueryLinuxMemory(); #elif defined(_AIX) this->QueryAIXMemory(); #else this->QueryMemory(); #endif } /** Get the vendor string */ const char * SystemInformationImplementation::GetVendorString() { return this->ChipID.Vendor.c_str(); } /** Get the OS Name */ const char * SystemInformationImplementation::GetOSName() { return this->OSName.c_str(); } /** Get the hostname */ const char* SystemInformationImplementation::GetHostname() { if (this->Hostname.empty()) { this->Hostname="localhost"; #if defined(_WIN32) WORD wVersionRequested; WSADATA wsaData; char name[255]; wVersionRequested = MAKEWORD(2,0); if ( WSAStartup( wVersionRequested, &wsaData ) == 0 ) { gethostname(name,sizeof(name)); WSACleanup( ); } this->Hostname = name; #else struct utsname unameInfo; int errorFlag = uname(&unameInfo); if(errorFlag == 0) { this->Hostname = unameInfo.nodename; } #endif } return this->Hostname.c_str(); } /** Get the FQDN */ int SystemInformationImplementation::GetFullyQualifiedDomainName( std::string &fqdn) { // in the event of absolute failure return localhost. fqdn="localhost"; #if defined(_WIN32) int ierr; // TODO - a more robust implementation for windows, see comments // in unix implementation. WSADATA wsaData; WORD ver=MAKEWORD(2,0); ierr=WSAStartup(ver,&wsaData); if (ierr) { return -1; } char base[256]={'\0'}; ierr=gethostname(base,256); if (ierr) { WSACleanup(); return -2; } fqdn=base; HOSTENT *hent=gethostbyname(base); if (hent) { fqdn=hent->h_name; } WSACleanup(); return 0; #elif defined(KWSYS_SYSTEMINFORMATION_IMPLEMENT_FQDN) // gethostname typical returns an alias for loopback interface // we want the fully qualified domain name. Because there are // any number of interfaces on this system we look for the // first of these that contains the name returned by gethostname // and is longer. failing that we return gethostname and indicate // with a failure code. Return of a failure code is not necessarilly // an indication of an error. for instance gethostname may return // the fully qualified domain name, or there may not be one if the // system lives on a private network such as in the case of a cluster // node. int ierr=0; char base[NI_MAXHOST]; ierr=gethostname(base,NI_MAXHOST); if (ierr) { return -1; } size_t baseSize=strlen(base); fqdn=base; struct ifaddrs *ifas; struct ifaddrs *ifa; ierr=getifaddrs(&ifas); if (ierr) { return -2; } for (ifa=ifas; ifa!=NULL; ifa=ifa->ifa_next) { int fam = ifa->ifa_addr? ifa->ifa_addr->sa_family : -1; if ((fam==AF_INET) || (fam==AF_INET6)) { char host[NI_MAXHOST]={'\0'}; const size_t addrlen = (fam==AF_INET?sizeof(struct sockaddr_in):sizeof(struct sockaddr_in6)); ierr=getnameinfo( ifa->ifa_addr, static_cast(addrlen), host, NI_MAXHOST, NULL, 0, NI_NAMEREQD); if (ierr) { // don't report the failure now since we may succeed on another // interface. If all attempts fail then return the failure code. ierr=-3; continue; } std::string candidate=host; if ((candidate.find(base)!=std::string::npos) && baseSizeGetHostname(); return -1; #endif } /** Get the OS release */ const char* SystemInformationImplementation::GetOSRelease() { return this->OSRelease.c_str(); } /** Get the OS version */ const char* SystemInformationImplementation::GetOSVersion() { return this->OSVersion.c_str(); } /** Get the OS platform */ const char* SystemInformationImplementation::GetOSPlatform() { return this->OSPlatform.c_str(); } /** Get the vendor ID */ const char * SystemInformationImplementation::GetVendorID() { // Return the vendor ID. switch (this->ChipManufacturer) { case Intel: return "Intel Corporation"; case AMD: return "Advanced Micro Devices"; case NSC: return "National Semiconductor"; case Cyrix: return "Cyrix Corp., VIA Inc."; case NexGen: return "NexGen Inc., Advanced Micro Devices"; case IDT: return "IDT\\Centaur, Via Inc."; case UMC: return "United Microelectronics Corp."; case Rise: return "Rise"; case Transmeta: return "Transmeta"; case Sun: return "Sun Microelectronics"; case IBM: return "IBM"; case Motorola: return "Motorola"; case HP: return "Hewlett-Packard"; case UnknownManufacturer: default: return "Unknown Manufacturer"; } } /** Return the type ID of the CPU */ std::string SystemInformationImplementation::GetTypeID() { std::ostringstream str; str << this->ChipID.Type; return str.str(); } /** Return the family of the CPU present */ std::string SystemInformationImplementation::GetFamilyID() { std::ostringstream str; str << this->ChipID.Family; return str.str(); } // Return the model of CPU present */ std::string SystemInformationImplementation::GetModelID() { std::ostringstream str; str << this->ChipID.Model; return str.str(); } // Return the model name of CPU present */ std::string SystemInformationImplementation::GetModelName() { return this->ChipID.ModelName; } /** Return the stepping code of the CPU present. */ std::string SystemInformationImplementation::GetSteppingCode() { std::ostringstream str; str << this->ChipID.Revision; return str.str(); } /** Return the stepping code of the CPU present. */ const char * SystemInformationImplementation::GetExtendedProcessorName() { return this->ChipID.ProcessorName.c_str(); } /** Return the serial number of the processor * in hexadecimal: xxxx-xxxx-xxxx-xxxx-xxxx-xxxx. */ const char * SystemInformationImplementation::GetProcessorSerialNumber() { return this->ChipID.SerialNumber.c_str(); } /** Return the logical processors per physical */ unsigned int SystemInformationImplementation::GetLogicalProcessorsPerPhysical() { return this->Features.ExtendedFeatures.LogicalProcessorsPerPhysical; } /** Return the processor clock frequency. */ float SystemInformationImplementation::GetProcessorClockFrequency() { return this->CPUSpeedInMHz; } /** Return the APIC ID. */ int SystemInformationImplementation::GetProcessorAPICID() { return this->Features.ExtendedFeatures.APIC_ID; } /** Return the L1 cache size. */ int SystemInformationImplementation::GetProcessorCacheSize() { return this->Features.L1CacheSize; } /** Return the chosen cache size. */ int SystemInformationImplementation::GetProcessorCacheXSize(long int dwCacheID) { switch (dwCacheID) { case L1CACHE_FEATURE: return this->Features.L1CacheSize; case L2CACHE_FEATURE: return this->Features.L2CacheSize; case L3CACHE_FEATURE: return this->Features.L3CacheSize; } return -1; } bool SystemInformationImplementation::DoesCPUSupportFeature(long int dwFeature) { bool bHasFeature = false; // Check for MMX instructions. if (((dwFeature & MMX_FEATURE) != 0) && this->Features.HasMMX) bHasFeature = true; // Check for MMX+ instructions. if (((dwFeature & MMX_PLUS_FEATURE) != 0) && this->Features.ExtendedFeatures.HasMMXPlus) bHasFeature = true; // Check for SSE FP instructions. if (((dwFeature & SSE_FEATURE) != 0) && this->Features.HasSSE) bHasFeature = true; // Check for SSE FP instructions. if (((dwFeature & SSE_FP_FEATURE) != 0) && this->Features.HasSSEFP) bHasFeature = true; // Check for SSE MMX instructions. if (((dwFeature & SSE_MMX_FEATURE) != 0) && this->Features.ExtendedFeatures.HasSSEMMX) bHasFeature = true; // Check for SSE2 instructions. if (((dwFeature & SSE2_FEATURE) != 0) && this->Features.HasSSE2) bHasFeature = true; // Check for 3DNow! instructions. if (((dwFeature & AMD_3DNOW_FEATURE) != 0) && this->Features.ExtendedFeatures.Has3DNow) bHasFeature = true; // Check for 3DNow+ instructions. if (((dwFeature & AMD_3DNOW_PLUS_FEATURE) != 0) && this->Features.ExtendedFeatures.Has3DNowPlus) bHasFeature = true; // Check for IA64 instructions. if (((dwFeature & IA64_FEATURE) != 0) && this->Features.HasIA64) bHasFeature = true; // Check for MP capable. if (((dwFeature & MP_CAPABLE) != 0) && this->Features.ExtendedFeatures.SupportsMP) bHasFeature = true; // Check for a serial number for the processor. if (((dwFeature & SERIALNUMBER_FEATURE) != 0) && this->Features.HasSerial) bHasFeature = true; // Check for a local APIC in the processor. if (((dwFeature & APIC_FEATURE) != 0) && this->Features.HasAPIC) bHasFeature = true; // Check for CMOV instructions. if (((dwFeature & CMOV_FEATURE) != 0) && this->Features.HasCMOV) bHasFeature = true; // Check for MTRR instructions. if (((dwFeature & MTRR_FEATURE) != 0) && this->Features.HasMTRR) bHasFeature = true; // Check for L1 cache size. if (((dwFeature & L1CACHE_FEATURE) != 0) && (this->Features.L1CacheSize != -1)) bHasFeature = true; // Check for L2 cache size. if (((dwFeature & L2CACHE_FEATURE) != 0) && (this->Features.L2CacheSize != -1)) bHasFeature = true; // Check for L3 cache size. if (((dwFeature & L3CACHE_FEATURE) != 0) && (this->Features.L3CacheSize != -1)) bHasFeature = true; // Check for ACPI capability. if (((dwFeature & ACPI_FEATURE) != 0) && this->Features.HasACPI) bHasFeature = true; // Check for thermal monitor support. if (((dwFeature & THERMALMONITOR_FEATURE) != 0) && this->Features.HasThermal) bHasFeature = true; // Check for temperature sensing diode support. if (((dwFeature & TEMPSENSEDIODE_FEATURE) != 0) && this->Features.ExtendedFeatures.PowerManagement.HasTempSenseDiode) bHasFeature = true; // Check for frequency ID support. if (((dwFeature & FREQUENCYID_FEATURE) != 0) && this->Features.ExtendedFeatures.PowerManagement.HasFrequencyID) bHasFeature = true; // Check for voltage ID support. if (((dwFeature & VOLTAGEID_FREQUENCY) != 0) && this->Features.ExtendedFeatures.PowerManagement.HasVoltageID) bHasFeature = true; return bHasFeature; } void SystemInformationImplementation::Delay(unsigned int uiMS) { #ifdef WIN32 LARGE_INTEGER Frequency, StartCounter, EndCounter; __int64 x; // Get the frequency of the high performance counter. if (!QueryPerformanceFrequency (&Frequency)) return; x = Frequency.QuadPart / 1000 * uiMS; // Get the starting position of the counter. QueryPerformanceCounter (&StartCounter); do { // Get the ending position of the counter. QueryPerformanceCounter (&EndCounter); } while (EndCounter.QuadPart - StartCounter.QuadPart < x); #endif (void)uiMS; } bool SystemInformationImplementation::DoesCPUSupportCPUID() { #if USE_CPUID int dummy[4] = { 0, 0, 0, 0 }; #if USE_ASM_INSTRUCTIONS return call_cpuid(0, dummy); #else call_cpuid(0, dummy); return dummy[0] || dummy[1] || dummy[2] || dummy[3]; #endif #else // Assume no cpuid instruction. return false; #endif } bool SystemInformationImplementation::RetrieveCPUFeatures() { #if USE_CPUID int cpuinfo[4] = { 0, 0, 0, 0 }; if (!call_cpuid(1, cpuinfo)) { return false; } // Retrieve the features of CPU present. this->Features.HasFPU = ((cpuinfo[3] & 0x00000001) != 0); // FPU Present --> Bit 0 this->Features.HasTSC = ((cpuinfo[3] & 0x00000010) != 0); // TSC Present --> Bit 4 this->Features.HasAPIC = ((cpuinfo[3] & 0x00000200) != 0); // APIC Present --> Bit 9 this->Features.HasMTRR = ((cpuinfo[3] & 0x00001000) != 0); // MTRR Present --> Bit 12 this->Features.HasCMOV = ((cpuinfo[3] & 0x00008000) != 0); // CMOV Present --> Bit 15 this->Features.HasSerial = ((cpuinfo[3] & 0x00040000) != 0); // Serial Present --> Bit 18 this->Features.HasACPI = ((cpuinfo[3] & 0x00400000) != 0); // ACPI Capable --> Bit 22 this->Features.HasMMX = ((cpuinfo[3] & 0x00800000) != 0); // MMX Present --> Bit 23 this->Features.HasSSE = ((cpuinfo[3] & 0x02000000) != 0); // SSE Present --> Bit 25 this->Features.HasSSE2 = ((cpuinfo[3] & 0x04000000) != 0); // SSE2 Present --> Bit 26 this->Features.HasThermal = ((cpuinfo[3] & 0x20000000) != 0); // Thermal Monitor Present --> Bit 29 this->Features.HasIA64 = ((cpuinfo[3] & 0x40000000) != 0); // IA64 Present --> Bit 30 #if USE_ASM_INSTRUCTIONS // Retrieve extended SSE capabilities if SSE is available. if (this->Features.HasSSE) { // Attempt to __try some SSE FP instructions. __try { // Perform: orps xmm0, xmm0 _asm { _emit 0x0f _emit 0x56 _emit 0xc0 } // SSE FP capable processor. this->Features.HasSSEFP = true; } __except(1) { // bad instruction - processor or OS cannot handle SSE FP. this->Features.HasSSEFP = false; } } else { // Set the advanced SSE capabilities to not available. this->Features.HasSSEFP = false; } #else this->Features.HasSSEFP = false; #endif // Retrieve Intel specific extended features. if (this->ChipManufacturer == Intel) { this->Features.ExtendedFeatures.SupportsHyperthreading = ((cpuinfo[3] & 0x10000000) != 0); // Intel specific: Hyperthreading --> Bit 28 this->Features.ExtendedFeatures.LogicalProcessorsPerPhysical = (this->Features.ExtendedFeatures.SupportsHyperthreading) ? ((cpuinfo[1] & 0x00FF0000) >> 16) : 1; if ((this->Features.ExtendedFeatures.SupportsHyperthreading) && (this->Features.HasAPIC)) { // Retrieve APIC information if there is one present. this->Features.ExtendedFeatures.APIC_ID = ((cpuinfo[1] & 0xFF000000) >> 24); } } return true; #else return false; #endif } /** Find the manufacturer given the vendor id */ void SystemInformationImplementation::FindManufacturer(const std::string& family) { if (this->ChipID.Vendor == "GenuineIntel") this->ChipManufacturer = Intel; // Intel Corp. else if (this->ChipID.Vendor == "UMC UMC UMC ") this->ChipManufacturer = UMC; // United Microelectronics Corp. else if (this->ChipID.Vendor == "AuthenticAMD") this->ChipManufacturer = AMD; // Advanced Micro Devices else if (this->ChipID.Vendor == "AMD ISBETTER") this->ChipManufacturer = AMD; // Advanced Micro Devices (1994) else if (this->ChipID.Vendor == "CyrixInstead") this->ChipManufacturer = Cyrix; // Cyrix Corp., VIA Inc. else if (this->ChipID.Vendor == "NexGenDriven") this->ChipManufacturer = NexGen; // NexGen Inc. (now AMD) else if (this->ChipID.Vendor == "CentaurHauls") this->ChipManufacturer = IDT; // IDT/Centaur (now VIA) else if (this->ChipID.Vendor == "RiseRiseRise") this->ChipManufacturer = Rise; // Rise else if (this->ChipID.Vendor == "GenuineTMx86") this->ChipManufacturer = Transmeta; // Transmeta else if (this->ChipID.Vendor == "TransmetaCPU") this->ChipManufacturer = Transmeta; // Transmeta else if (this->ChipID.Vendor == "Geode By NSC") this->ChipManufacturer = NSC; // National Semiconductor else if (this->ChipID.Vendor == "Sun") this->ChipManufacturer = Sun; // Sun Microelectronics else if (this->ChipID.Vendor == "IBM") this->ChipManufacturer = IBM; // IBM Microelectronics else if (this->ChipID.Vendor == "Hewlett-Packard") this->ChipManufacturer = HP; // Hewlett-Packard else if (this->ChipID.Vendor == "Motorola") this->ChipManufacturer = Motorola; // Motorola Microelectronics else if (family.substr(0, 7) == "PA-RISC") this->ChipManufacturer = HP; // Hewlett-Packard else this->ChipManufacturer = UnknownManufacturer; // Unknown manufacturer } /** */ bool SystemInformationImplementation::RetrieveCPUIdentity() { #if USE_CPUID int localCPUVendor[4]; int localCPUSignature[4]; if (!call_cpuid(0, localCPUVendor)) { return false; } if (!call_cpuid(1, localCPUSignature)) { return false; } // Process the returned information. // ; eax = 0 --> eax: maximum value of CPUID instruction. // ; ebx: part 1 of 3; CPU signature. // ; edx: part 2 of 3; CPU signature. // ; ecx: part 3 of 3; CPU signature. char vbuf[13]; memcpy (&(vbuf[0]), &(localCPUVendor[1]), sizeof (int)); memcpy (&(vbuf[4]), &(localCPUVendor[3]), sizeof (int)); memcpy (&(vbuf[8]), &(localCPUVendor[2]), sizeof (int)); vbuf[12] = '\0'; this->ChipID.Vendor = vbuf; // Retrieve the family of CPU present. // ; eax = 1 --> eax: CPU ID - bits 31..16 - unused, bits 15..12 - type, bits 11..8 - family, bits 7..4 - model, bits 3..0 - mask revision // ; ebx: 31..24 - default APIC ID, 23..16 - logical processor ID, 15..8 - CFLUSH chunk size , 7..0 - brand ID // ; edx: CPU feature flags this->ChipID.ExtendedFamily = ((localCPUSignature[0] & 0x0FF00000) >> 20); // Bits 27..20 Used this->ChipID.ExtendedModel = ((localCPUSignature[0] & 0x000F0000) >> 16); // Bits 19..16 Used this->ChipID.Type = ((localCPUSignature[0] & 0x0000F000) >> 12); // Bits 15..12 Used this->ChipID.Family = ((localCPUSignature[0] & 0x00000F00) >> 8); // Bits 11..8 Used this->ChipID.Model = ((localCPUSignature[0] & 0x000000F0) >> 4); // Bits 7..4 Used this->ChipID.Revision = ((localCPUSignature[0] & 0x0000000F) >> 0); // Bits 3..0 Used return true; #else return false; #endif } /** */ bool SystemInformationImplementation::RetrieveCPUCacheDetails() { #if USE_CPUID int L1Cache[4] = { 0, 0, 0, 0 }; int L2Cache[4] = { 0, 0, 0, 0 }; // Check to see if what we are about to do is supported... if (RetrieveCPUExtendedLevelSupport (0x80000005)) { if (!call_cpuid(0x80000005, L1Cache)) { return false; } // Save the L1 data cache size (in KB) from ecx: bits 31..24 as well as data cache size from edx: bits 31..24. this->Features.L1CacheSize = ((L1Cache[2] & 0xFF000000) >> 24); this->Features.L1CacheSize += ((L1Cache[3] & 0xFF000000) >> 24); } else { // Store -1 to indicate the cache could not be queried. this->Features.L1CacheSize = -1; } // Check to see if what we are about to do is supported... if (RetrieveCPUExtendedLevelSupport (0x80000006)) { if (!call_cpuid(0x80000006, L2Cache)) { return false; } // Save the L2 unified cache size (in KB) from ecx: bits 31..16. this->Features.L2CacheSize = ((L2Cache[2] & 0xFFFF0000) >> 16); } else { // Store -1 to indicate the cache could not be queried. this->Features.L2CacheSize = -1; } // Define L3 as being not present as we cannot test for it. this->Features.L3CacheSize = -1; #endif // Return failure if we cannot detect either cache with this method. return ((this->Features.L1CacheSize == -1) && (this->Features.L2CacheSize == -1)) ? false : true; } /** */ bool SystemInformationImplementation::RetrieveClassicalCPUCacheDetails() { #if USE_CPUID int TLBCode = -1, TLBData = -1, L1Code = -1, L1Data = -1, L1Trace = -1, L2Unified = -1, L3Unified = -1; int TLBCacheData[4] = { 0, 0, 0, 0 }; int TLBPassCounter = 0; int TLBCacheUnit = 0; do { if (!call_cpuid(2, TLBCacheData)) { return false; } int bob = ((TLBCacheData[0] & 0x00FF0000) >> 16); (void)bob; // Process the returned TLB and cache information. for (int nCounter = 0; nCounter < TLBCACHE_INFO_UNITS; nCounter ++) { // First of all - decide which unit we are dealing with. switch (nCounter) { // eax: bits 8..15 : bits 16..23 : bits 24..31 case 0: TLBCacheUnit = ((TLBCacheData[0] & 0x0000FF00) >> 8); break; case 1: TLBCacheUnit = ((TLBCacheData[0] & 0x00FF0000) >> 16); break; case 2: TLBCacheUnit = ((TLBCacheData[0] & 0xFF000000) >> 24); break; // ebx: bits 0..7 : bits 8..15 : bits 16..23 : bits 24..31 case 3: TLBCacheUnit = ((TLBCacheData[1] & 0x000000FF) >> 0); break; case 4: TLBCacheUnit = ((TLBCacheData[1] & 0x0000FF00) >> 8); break; case 5: TLBCacheUnit = ((TLBCacheData[1] & 0x00FF0000) >> 16); break; case 6: TLBCacheUnit = ((TLBCacheData[1] & 0xFF000000) >> 24); break; // ecx: bits 0..7 : bits 8..15 : bits 16..23 : bits 24..31 case 7: TLBCacheUnit = ((TLBCacheData[2] & 0x000000FF) >> 0); break; case 8: TLBCacheUnit = ((TLBCacheData[2] & 0x0000FF00) >> 8); break; case 9: TLBCacheUnit = ((TLBCacheData[2] & 0x00FF0000) >> 16); break; case 10: TLBCacheUnit = ((TLBCacheData[2] & 0xFF000000) >> 24); break; // edx: bits 0..7 : bits 8..15 : bits 16..23 : bits 24..31 case 11: TLBCacheUnit = ((TLBCacheData[3] & 0x000000FF) >> 0); break; case 12: TLBCacheUnit = ((TLBCacheData[3] & 0x0000FF00) >> 8); break; case 13: TLBCacheUnit = ((TLBCacheData[3] & 0x00FF0000) >> 16); break; case 14: TLBCacheUnit = ((TLBCacheData[3] & 0xFF000000) >> 24); break; // Default case - an error has occured. default: return false; } // Now process the resulting unit to see what it means.... switch (TLBCacheUnit) { case 0x00: break; case 0x01: STORE_TLBCACHE_INFO (TLBCode, 4); break; case 0x02: STORE_TLBCACHE_INFO (TLBCode, 4096); break; case 0x03: STORE_TLBCACHE_INFO (TLBData, 4); break; case 0x04: STORE_TLBCACHE_INFO (TLBData, 4096); break; case 0x06: STORE_TLBCACHE_INFO (L1Code, 8); break; case 0x08: STORE_TLBCACHE_INFO (L1Code, 16); break; case 0x0a: STORE_TLBCACHE_INFO (L1Data, 8); break; case 0x0c: STORE_TLBCACHE_INFO (L1Data, 16); break; case 0x10: STORE_TLBCACHE_INFO (L1Data, 16); break; // <-- FIXME: IA-64 Only case 0x15: STORE_TLBCACHE_INFO (L1Code, 16); break; // <-- FIXME: IA-64 Only case 0x1a: STORE_TLBCACHE_INFO (L2Unified, 96); break; // <-- FIXME: IA-64 Only case 0x22: STORE_TLBCACHE_INFO (L3Unified, 512); break; case 0x23: STORE_TLBCACHE_INFO (L3Unified, 1024); break; case 0x25: STORE_TLBCACHE_INFO (L3Unified, 2048); break; case 0x29: STORE_TLBCACHE_INFO (L3Unified, 4096); break; case 0x39: STORE_TLBCACHE_INFO (L2Unified, 128); break; case 0x3c: STORE_TLBCACHE_INFO (L2Unified, 256); break; case 0x40: STORE_TLBCACHE_INFO (L2Unified, 0); break; // <-- FIXME: No integrated L2 cache (P6 core) or L3 cache (P4 core). case 0x41: STORE_TLBCACHE_INFO (L2Unified, 128); break; case 0x42: STORE_TLBCACHE_INFO (L2Unified, 256); break; case 0x43: STORE_TLBCACHE_INFO (L2Unified, 512); break; case 0x44: STORE_TLBCACHE_INFO (L2Unified, 1024); break; case 0x45: STORE_TLBCACHE_INFO (L2Unified, 2048); break; case 0x50: STORE_TLBCACHE_INFO (TLBCode, 4096); break; case 0x51: STORE_TLBCACHE_INFO (TLBCode, 4096); break; case 0x52: STORE_TLBCACHE_INFO (TLBCode, 4096); break; case 0x5b: STORE_TLBCACHE_INFO (TLBData, 4096); break; case 0x5c: STORE_TLBCACHE_INFO (TLBData, 4096); break; case 0x5d: STORE_TLBCACHE_INFO (TLBData, 4096); break; case 0x66: STORE_TLBCACHE_INFO (L1Data, 8); break; case 0x67: STORE_TLBCACHE_INFO (L1Data, 16); break; case 0x68: STORE_TLBCACHE_INFO (L1Data, 32); break; case 0x70: STORE_TLBCACHE_INFO (L1Trace, 12); break; case 0x71: STORE_TLBCACHE_INFO (L1Trace, 16); break; case 0x72: STORE_TLBCACHE_INFO (L1Trace, 32); break; case 0x77: STORE_TLBCACHE_INFO (L1Code, 16); break; // <-- FIXME: IA-64 Only case 0x79: STORE_TLBCACHE_INFO (L2Unified, 128); break; case 0x7a: STORE_TLBCACHE_INFO (L2Unified, 256); break; case 0x7b: STORE_TLBCACHE_INFO (L2Unified, 512); break; case 0x7c: STORE_TLBCACHE_INFO (L2Unified, 1024); break; case 0x7e: STORE_TLBCACHE_INFO (L2Unified, 256); break; case 0x81: STORE_TLBCACHE_INFO (L2Unified, 128); break; case 0x82: STORE_TLBCACHE_INFO (L2Unified, 256); break; case 0x83: STORE_TLBCACHE_INFO (L2Unified, 512); break; case 0x84: STORE_TLBCACHE_INFO (L2Unified, 1024); break; case 0x85: STORE_TLBCACHE_INFO (L2Unified, 2048); break; case 0x88: STORE_TLBCACHE_INFO (L3Unified, 2048); break; // <-- FIXME: IA-64 Only case 0x89: STORE_TLBCACHE_INFO (L3Unified, 4096); break; // <-- FIXME: IA-64 Only case 0x8a: STORE_TLBCACHE_INFO (L3Unified, 8192); break; // <-- FIXME: IA-64 Only case 0x8d: STORE_TLBCACHE_INFO (L3Unified, 3096); break; // <-- FIXME: IA-64 Only case 0x90: STORE_TLBCACHE_INFO (TLBCode, 262144); break; // <-- FIXME: IA-64 Only case 0x96: STORE_TLBCACHE_INFO (TLBCode, 262144); break; // <-- FIXME: IA-64 Only case 0x9b: STORE_TLBCACHE_INFO (TLBCode, 262144); break; // <-- FIXME: IA-64 Only // Default case - an error has occured. default: return false; } } // Increment the TLB pass counter. TLBPassCounter ++; } while ((TLBCacheData[0] & 0x000000FF) > TLBPassCounter); // Ok - we now have the maximum TLB, L1, L2, and L3 sizes... if ((L1Code == -1) && (L1Data == -1) && (L1Trace == -1)) { this->Features.L1CacheSize = -1; } else if ((L1Code == -1) && (L1Data == -1) && (L1Trace != -1)) { this->Features.L1CacheSize = L1Trace; } else if ((L1Code != -1) && (L1Data == -1)) { this->Features.L1CacheSize = L1Code; } else if ((L1Code == -1) && (L1Data != -1)) { this->Features.L1CacheSize = L1Data; } else if ((L1Code != -1) && (L1Data != -1)) { this->Features.L1CacheSize = L1Code + L1Data; } else { this->Features.L1CacheSize = -1; } // Ok - we now have the maximum TLB, L1, L2, and L3 sizes... if (L2Unified == -1) { this->Features.L2CacheSize = -1; } else { this->Features.L2CacheSize = L2Unified; } // Ok - we now have the maximum TLB, L1, L2, and L3 sizes... if (L3Unified == -1) { this->Features.L3CacheSize = -1; } else { this->Features.L3CacheSize = L3Unified; } return true; #else return false; #endif } /** */ bool SystemInformationImplementation::RetrieveCPUClockSpeed() { bool retrieved = false; #if defined(_WIN32) unsigned int uiRepetitions = 1; unsigned int uiMSecPerRepetition = 50; __int64 i64Total = 0; __int64 i64Overhead = 0; // Check if the TSC implementation works at all if (this->Features.HasTSC && GetCyclesDifference(SystemInformationImplementation::Delay, uiMSecPerRepetition) > 0) { for (unsigned int nCounter = 0; nCounter < uiRepetitions; nCounter ++) { i64Total += GetCyclesDifference (SystemInformationImplementation::Delay, uiMSecPerRepetition); i64Overhead += GetCyclesDifference (SystemInformationImplementation::DelayOverhead, uiMSecPerRepetition); } // Calculate the MHz speed. i64Total -= i64Overhead; i64Total /= uiRepetitions; i64Total /= uiMSecPerRepetition; i64Total /= 1000; // Save the CPU speed. this->CPUSpeedInMHz = (float) i64Total; retrieved = true; } // If RDTSC is not supported, we fallback to trying to read this value // from the registry: if (!retrieved) { HKEY hKey = NULL; LONG err = RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0", 0, KEY_READ, &hKey); if (ERROR_SUCCESS == err) { DWORD dwType = 0; DWORD data = 0; DWORD dwSize = sizeof(DWORD); err = RegQueryValueExW(hKey, L"~MHz", 0, &dwType, (LPBYTE) &data, &dwSize); if (ERROR_SUCCESS == err) { this->CPUSpeedInMHz = (float) data; retrieved = true; } RegCloseKey(hKey); hKey = NULL; } } #endif return retrieved; } /** */ bool SystemInformationImplementation::RetrieveClassicalCPUClockSpeed() { #if USE_ASM_INSTRUCTIONS LARGE_INTEGER liStart, liEnd, liCountsPerSecond; double dFrequency, dDifference; // Attempt to get a starting tick count. QueryPerformanceCounter (&liStart); __try { _asm { mov eax, 0x80000000 mov ebx, CLASSICAL_CPU_FREQ_LOOP Timer_Loop: bsf ecx,eax dec ebx jnz Timer_Loop } } __except(1) { return false; } // Attempt to get a starting tick count. QueryPerformanceCounter (&liEnd); // Get the difference... NB: This is in seconds.... QueryPerformanceFrequency (&liCountsPerSecond); dDifference = (((double) liEnd.QuadPart - (double) liStart.QuadPart) / (double) liCountsPerSecond.QuadPart); // Calculate the clock speed. if (this->ChipID.Family == 3) { // 80386 processors.... Loop time is 115 cycles! dFrequency = (((CLASSICAL_CPU_FREQ_LOOP * 115) / dDifference) / 1000000); } else if (this->ChipID.Family == 4) { // 80486 processors.... Loop time is 47 cycles! dFrequency = (((CLASSICAL_CPU_FREQ_LOOP * 47) / dDifference) / 1000000); } else if (this->ChipID.Family == 5) { // Pentium processors.... Loop time is 43 cycles! dFrequency = (((CLASSICAL_CPU_FREQ_LOOP * 43) / dDifference) / 1000000); } // Save the clock speed. this->Features.CPUSpeed = (int) dFrequency; return true; #else return false; #endif } /** */ bool SystemInformationImplementation::RetrieveCPUExtendedLevelSupport(int CPULevelToCheck) { int cpuinfo[4] = { 0, 0, 0, 0 }; // The extended CPUID is supported by various vendors starting with the following CPU models: // // Manufacturer & Chip Name | Family Model Revision // // AMD K6, K6-2 | 5 6 x // Cyrix GXm, Cyrix III "Joshua" | 5 4 x // IDT C6-2 | 5 8 x // VIA Cyrix III | 6 5 x // Transmeta Crusoe | 5 x x // Intel Pentium 4 | f x x // // We check to see if a supported processor is present... if (this->ChipManufacturer == AMD) { if (this->ChipID.Family < 5) return false; if ((this->ChipID.Family == 5) && (this->ChipID.Model < 6)) return false; } else if (this->ChipManufacturer == Cyrix) { if (this->ChipID.Family < 5) return false; if ((this->ChipID.Family == 5) && (this->ChipID.Model < 4)) return false; if ((this->ChipID.Family == 6) && (this->ChipID.Model < 5)) return false; } else if (this->ChipManufacturer == IDT) { if (this->ChipID.Family < 5) return false; if ((this->ChipID.Family == 5) && (this->ChipID.Model < 8)) return false; } else if (this->ChipManufacturer == Transmeta) { if (this->ChipID.Family < 5) return false; } else if (this->ChipManufacturer == Intel) { if (this->ChipID.Family < 0xf) { return false; } } #if USE_CPUID if (!call_cpuid(0x80000000, cpuinfo)) { return false; } #endif // Now we have to check the level wanted vs level returned... int nLevelWanted = (CPULevelToCheck & 0x7FFFFFFF); int nLevelReturn = (cpuinfo[0] & 0x7FFFFFFF); // Check to see if the level provided is supported... if (nLevelWanted > nLevelReturn) { return false; } return true; } /** */ bool SystemInformationImplementation::RetrieveExtendedCPUFeatures() { // Check that we are not using an Intel processor as it does not support this. if (this->ChipManufacturer == Intel) { return false; } // Check to see if what we are about to do is supported... if (!RetrieveCPUExtendedLevelSupport(static_cast(0x80000001))) { return false; } #if USE_CPUID int localCPUExtendedFeatures[4] = { 0, 0, 0, 0 }; if (!call_cpuid(0x80000001, localCPUExtendedFeatures)) { return false; } // Retrieve the extended features of CPU present. this->Features.ExtendedFeatures.Has3DNow = ((localCPUExtendedFeatures[3] & 0x80000000) != 0); // 3DNow Present --> Bit 31. this->Features.ExtendedFeatures.Has3DNowPlus = ((localCPUExtendedFeatures[3] & 0x40000000) != 0); // 3DNow+ Present -- > Bit 30. this->Features.ExtendedFeatures.HasSSEMMX = ((localCPUExtendedFeatures[3] & 0x00400000) != 0); // SSE MMX Present --> Bit 22. this->Features.ExtendedFeatures.SupportsMP = ((localCPUExtendedFeatures[3] & 0x00080000) != 0); // MP Capable -- > Bit 19. // Retrieve AMD specific extended features. if (this->ChipManufacturer == AMD) { this->Features.ExtendedFeatures.HasMMXPlus = ((localCPUExtendedFeatures[3] & 0x00400000) != 0); // AMD specific: MMX-SSE --> Bit 22 } // Retrieve Cyrix specific extended features. if (this->ChipManufacturer == Cyrix) { this->Features.ExtendedFeatures.HasMMXPlus = ((localCPUExtendedFeatures[3] & 0x01000000) != 0); // Cyrix specific: Extended MMX --> Bit 24 } return true; #else return false; #endif } /** */ bool SystemInformationImplementation::RetrieveProcessorSerialNumber() { // Check to see if the processor supports the processor serial number. if (!this->Features.HasSerial) { return false; } #if USE_CPUID int SerialNumber[4]; if (!call_cpuid(3, SerialNumber)) { return false; } // Process the returned information. // ; eax = 3 --> ebx: top 32 bits are the processor signature bits --> NB: Transmeta only ?!? // ; ecx: middle 32 bits are the processor signature bits // ; edx: bottom 32 bits are the processor signature bits char sn[128]; sprintf (sn, "%.2x%.2x-%.2x%.2x-%.2x%.2x-%.2x%.2x-%.2x%.2x-%.2x%.2x", ((SerialNumber[1] & 0xff000000) >> 24), ((SerialNumber[1] & 0x00ff0000) >> 16), ((SerialNumber[1] & 0x0000ff00) >> 8), ((SerialNumber[1] & 0x000000ff) >> 0), ((SerialNumber[2] & 0xff000000) >> 24), ((SerialNumber[2] & 0x00ff0000) >> 16), ((SerialNumber[2] & 0x0000ff00) >> 8), ((SerialNumber[2] & 0x000000ff) >> 0), ((SerialNumber[3] & 0xff000000) >> 24), ((SerialNumber[3] & 0x00ff0000) >> 16), ((SerialNumber[3] & 0x0000ff00) >> 8), ((SerialNumber[3] & 0x000000ff) >> 0)); this->ChipID.SerialNumber = sn; return true; #else return false; #endif } /** */ bool SystemInformationImplementation::RetrieveCPUPowerManagement() { // Check to see if what we are about to do is supported... if (!RetrieveCPUExtendedLevelSupport(static_cast(0x80000007))) { this->Features.ExtendedFeatures.PowerManagement.HasFrequencyID = false; this->Features.ExtendedFeatures.PowerManagement.HasVoltageID = false; this->Features.ExtendedFeatures.PowerManagement.HasTempSenseDiode = false; return false; } #if USE_CPUID int localCPUPowerManagement[4] = { 0, 0, 0, 0 }; if (!call_cpuid(0x80000007, localCPUPowerManagement)) { return false; } // Check for the power management capabilities of the CPU. this->Features.ExtendedFeatures.PowerManagement.HasTempSenseDiode = ((localCPUPowerManagement[3] & 0x00000001) != 0); this->Features.ExtendedFeatures.PowerManagement.HasFrequencyID = ((localCPUPowerManagement[3] & 0x00000002) != 0); this->Features.ExtendedFeatures.PowerManagement.HasVoltageID = ((localCPUPowerManagement[3] & 0x00000004) != 0); return true; #else return false; #endif } #if USE_CPUID // Used only in USE_CPUID implementation below. static void SystemInformationStripLeadingSpace(std::string& str) { // Because some manufacturers have leading white space - we have to post-process the name. std::string::size_type pos = str.find_first_not_of(" "); if(pos != std::string::npos) { str = str.substr(pos); } } #endif /** */ bool SystemInformationImplementation::RetrieveExtendedCPUIdentity() { // Check to see if what we are about to do is supported... if (!RetrieveCPUExtendedLevelSupport(static_cast(0x80000002))) return false; if (!RetrieveCPUExtendedLevelSupport(static_cast(0x80000003))) return false; if (!RetrieveCPUExtendedLevelSupport(static_cast(0x80000004))) return false; #if USE_CPUID int CPUExtendedIdentity[12]; if (!call_cpuid(0x80000002, CPUExtendedIdentity)) { return false; } if (!call_cpuid(0x80000003, CPUExtendedIdentity + 4)) { return false; } if (!call_cpuid(0x80000004, CPUExtendedIdentity + 8)) { return false; } // Process the returned information. char nbuf[49]; memcpy (&(nbuf[0]), &(CPUExtendedIdentity[0]), sizeof (int)); memcpy (&(nbuf[4]), &(CPUExtendedIdentity[1]), sizeof (int)); memcpy (&(nbuf[8]), &(CPUExtendedIdentity[2]), sizeof (int)); memcpy (&(nbuf[12]), &(CPUExtendedIdentity[3]), sizeof (int)); memcpy (&(nbuf[16]), &(CPUExtendedIdentity[4]), sizeof (int)); memcpy (&(nbuf[20]), &(CPUExtendedIdentity[5]), sizeof (int)); memcpy (&(nbuf[24]), &(CPUExtendedIdentity[6]), sizeof (int)); memcpy (&(nbuf[28]), &(CPUExtendedIdentity[7]), sizeof (int)); memcpy (&(nbuf[32]), &(CPUExtendedIdentity[8]), sizeof (int)); memcpy (&(nbuf[36]), &(CPUExtendedIdentity[9]), sizeof (int)); memcpy (&(nbuf[40]), &(CPUExtendedIdentity[10]), sizeof (int)); memcpy (&(nbuf[44]), &(CPUExtendedIdentity[11]), sizeof (int)); nbuf[48] = '\0'; this->ChipID.ProcessorName = nbuf; this->ChipID.ModelName = nbuf; // Because some manufacturers have leading white space - we have to post-process the name. SystemInformationStripLeadingSpace(this->ChipID.ProcessorName); return true; #else return false; #endif } /** */ bool SystemInformationImplementation::RetrieveClassicalCPUIdentity() { // Start by decided which manufacturer we are using.... switch (this->ChipManufacturer) { case Intel: // Check the family / model / revision to determine the CPU ID. switch (this->ChipID.Family) { case 3: this->ChipID.ProcessorName = "Newer i80386 family"; break; case 4: switch (this->ChipID.Model) { case 0: this->ChipID.ProcessorName = "i80486DX-25/33"; break; case 1: this->ChipID.ProcessorName = "i80486DX-50"; break; case 2: this->ChipID.ProcessorName = "i80486SX"; break; case 3: this->ChipID.ProcessorName = "i80486DX2"; break; case 4: this->ChipID.ProcessorName = "i80486SL"; break; case 5: this->ChipID.ProcessorName = "i80486SX2"; break; case 7: this->ChipID.ProcessorName = "i80486DX2 WriteBack"; break; case 8: this->ChipID.ProcessorName = "i80486DX4"; break; case 9: this->ChipID.ProcessorName = "i80486DX4 WriteBack"; break; default: this->ChipID.ProcessorName = "Unknown 80486 family"; return false; } break; case 5: switch (this->ChipID.Model) { case 0: this->ChipID.ProcessorName = "P5 A-Step"; break; case 1: this->ChipID.ProcessorName = "P5"; break; case 2: this->ChipID.ProcessorName = "P54C"; break; case 3: this->ChipID.ProcessorName = "P24T OverDrive"; break; case 4: this->ChipID.ProcessorName = "P55C"; break; case 7: this->ChipID.ProcessorName = "P54C"; break; case 8: this->ChipID.ProcessorName = "P55C (0.25micron)"; break; default: this->ChipID.ProcessorName = "Unknown Pentium family"; return false; } break; case 6: switch (this->ChipID.Model) { case 0: this->ChipID.ProcessorName = "P6 A-Step"; break; case 1: this->ChipID.ProcessorName = "P6"; break; case 3: this->ChipID.ProcessorName = "Pentium II (0.28 micron)"; break; case 5: this->ChipID.ProcessorName = "Pentium II (0.25 micron)"; break; case 6: this->ChipID.ProcessorName = "Pentium II With On-Die L2 Cache"; break; case 7: this->ChipID.ProcessorName = "Pentium III (0.25 micron)"; break; case 8: this->ChipID.ProcessorName = "Pentium III (0.18 micron) With 256 KB On-Die L2 Cache "; break; case 0xa: this->ChipID.ProcessorName = "Pentium III (0.18 micron) With 1 Or 2 MB On-Die L2 Cache "; break; case 0xb: this->ChipID.ProcessorName = "Pentium III (0.13 micron) With 256 Or 512 KB On-Die L2 Cache "; break; case 23: this->ChipID.ProcessorName = "Intel(R) Core(TM)2 Duo CPU T9500 @ 2.60GHz"; break; default: this->ChipID.ProcessorName = "Unknown P6 family"; return false; } break; case 7: this->ChipID.ProcessorName = "Intel Merced (IA-64)"; break; case 0xf: // Check the extended family bits... switch (this->ChipID.ExtendedFamily) { case 0: switch (this->ChipID.Model) { case 0: this->ChipID.ProcessorName = "Pentium IV (0.18 micron)"; break; case 1: this->ChipID.ProcessorName = "Pentium IV (0.18 micron)"; break; case 2: this->ChipID.ProcessorName = "Pentium IV (0.13 micron)"; break; default: this->ChipID.ProcessorName = "Unknown Pentium 4 family"; return false; } break; case 1: this->ChipID.ProcessorName = "Intel McKinley (IA-64)"; break; default: this->ChipID.ProcessorName = "Pentium"; } break; default: this->ChipID.ProcessorName = "Unknown Intel family"; return false; } break; case AMD: // Check the family / model / revision to determine the CPU ID. switch (this->ChipID.Family) { case 4: switch (this->ChipID.Model) { case 3: this->ChipID.ProcessorName = "80486DX2"; break; case 7: this->ChipID.ProcessorName = "80486DX2 WriteBack"; break; case 8: this->ChipID.ProcessorName = "80486DX4"; break; case 9: this->ChipID.ProcessorName = "80486DX4 WriteBack"; break; case 0xe: this->ChipID.ProcessorName = "5x86"; break; case 0xf: this->ChipID.ProcessorName = "5x86WB"; break; default: this->ChipID.ProcessorName = "Unknown 80486 family"; return false; } break; case 5: switch (this->ChipID.Model) { case 0: this->ChipID.ProcessorName = "SSA5 (PR75, PR90 = PR100)"; break; case 1: this->ChipID.ProcessorName = "5k86 (PR120 = PR133)"; break; case 2: this->ChipID.ProcessorName = "5k86 (PR166)"; break; case 3: this->ChipID.ProcessorName = "5k86 (PR200)"; break; case 6: this->ChipID.ProcessorName = "K6 (0.30 micron)"; break; case 7: this->ChipID.ProcessorName = "K6 (0.25 micron)"; break; case 8: this->ChipID.ProcessorName = "K6-2"; break; case 9: this->ChipID.ProcessorName = "K6-III"; break; case 0xd: this->ChipID.ProcessorName = "K6-2+ or K6-III+ (0.18 micron)"; break; default: this->ChipID.ProcessorName = "Unknown 80586 family"; return false; } break; case 6: switch (this->ChipID.Model) { case 1: this->ChipID.ProcessorName = "Athlon- (0.25 micron)"; break; case 2: this->ChipID.ProcessorName = "Athlon- (0.18 micron)"; break; case 3: this->ChipID.ProcessorName = "Duron- (SF core)"; break; case 4: this->ChipID.ProcessorName = "Athlon- (Thunderbird core)"; break; case 6: this->ChipID.ProcessorName = "Athlon- (Palomino core)"; break; case 7: this->ChipID.ProcessorName = "Duron- (Morgan core)"; break; case 8: if (this->Features.ExtendedFeatures.SupportsMP) this->ChipID.ProcessorName = "Athlon - MP (Thoroughbred core)"; else this->ChipID.ProcessorName = "Athlon - XP (Thoroughbred core)"; break; default: this->ChipID.ProcessorName = "Unknown K7 family"; return false; } break; default: this->ChipID.ProcessorName = "Unknown AMD family"; return false; } break; case Transmeta: switch (this->ChipID.Family) { case 5: switch (this->ChipID.Model) { case 4: this->ChipID.ProcessorName = "Crusoe TM3x00 and TM5x00"; break; default: this->ChipID.ProcessorName = "Unknown Crusoe family"; return false; } break; default: this->ChipID.ProcessorName = "Unknown Transmeta family"; return false; } break; case Rise: switch (this->ChipID.Family) { case 5: switch (this->ChipID.Model) { case 0: this->ChipID.ProcessorName = "mP6 (0.25 micron)"; break; case 2: this->ChipID.ProcessorName = "mP6 (0.18 micron)"; break; default: this->ChipID.ProcessorName = "Unknown Rise family"; return false; } break; default: this->ChipID.ProcessorName = "Unknown Rise family"; return false; } break; case UMC: switch (this->ChipID.Family) { case 4: switch (this->ChipID.Model) { case 1: this->ChipID.ProcessorName = "U5D"; break; case 2: this->ChipID.ProcessorName = "U5S"; break; default: this->ChipID.ProcessorName = "Unknown UMC family"; return false; } break; default: this->ChipID.ProcessorName = "Unknown UMC family"; return false; } break; case IDT: switch (this->ChipID.Family) { case 5: switch (this->ChipID.Model) { case 4: this->ChipID.ProcessorName = "C6"; break; case 8: this->ChipID.ProcessorName = "C2"; break; case 9: this->ChipID.ProcessorName = "C3"; break; default: this->ChipID.ProcessorName = "Unknown IDT\\Centaur family"; return false; } break; case 6: switch (this->ChipID.Model) { case 6: this->ChipID.ProcessorName = "VIA Cyrix III - Samuel"; break; default: this->ChipID.ProcessorName = "Unknown IDT\\Centaur family"; return false; } break; default: this->ChipID.ProcessorName = "Unknown IDT\\Centaur family"; return false; } break; case Cyrix: switch (this->ChipID.Family) { case 4: switch (this->ChipID.Model) { case 4: this->ChipID.ProcessorName = "MediaGX GX = GXm"; break; case 9: this->ChipID.ProcessorName = "5x86"; break; default: this->ChipID.ProcessorName = "Unknown Cx5x86 family"; return false; } break; case 5: switch (this->ChipID.Model) { case 2: this->ChipID.ProcessorName = "Cx6x86"; break; case 4: this->ChipID.ProcessorName = "MediaGX GXm"; break; default: this->ChipID.ProcessorName = "Unknown Cx6x86 family"; return false; } break; case 6: switch (this->ChipID.Model) { case 0: this->ChipID.ProcessorName = "6x86MX"; break; case 5: this->ChipID.ProcessorName = "Cyrix M2 Core"; break; case 6: this->ChipID.ProcessorName = "WinChip C5A Core"; break; case 7: this->ChipID.ProcessorName = "WinChip C5B\\C5C Core"; break; case 8: this->ChipID.ProcessorName = "WinChip C5C-T Core"; break; default: this->ChipID.ProcessorName = "Unknown 6x86MX\\Cyrix III family"; return false; } break; default: this->ChipID.ProcessorName = "Unknown Cyrix family"; return false; } break; case NexGen: switch (this->ChipID.Family) { case 5: switch (this->ChipID.Model) { case 0: this->ChipID.ProcessorName = "Nx586 or Nx586FPU"; break; default: this->ChipID.ProcessorName = "Unknown NexGen family"; return false; } break; default: this->ChipID.ProcessorName = "Unknown NexGen family"; return false; } break; case NSC: this->ChipID.ProcessorName = "Cx486SLC \\ DLC \\ Cx486S A-Step"; break; case Sun: case IBM: case Motorola: case HP: case UnknownManufacturer: default: this->ChipID.ProcessorName = "Unknown family"; // We cannot identify the processor. return false; } return true; } /** Extract a value from the CPUInfo file */ std::string SystemInformationImplementation::ExtractValueFromCpuInfoFile(std::string buffer,const char* word,size_t init) { size_t pos = buffer.find(word,init); if(pos != buffer.npos) { this->CurrentPositionInFile = pos; pos = buffer.find(":",pos); size_t pos2 = buffer.find("\n",pos); if(pos!=buffer.npos && pos2!=buffer.npos) { // It may happen that the beginning matches, but this is still not the requested key. // An example is looking for "cpu" when "cpu family" comes first. So we check that // we have only spaces from here to pos, otherwise we search again. for(size_t i=this->CurrentPositionInFile+strlen(word); i < pos; ++i) { if(buffer[i] != ' ' && buffer[i] != '\t') { return this->ExtractValueFromCpuInfoFile(buffer, word, pos2); } } return buffer.substr(pos+2,pos2-pos-2); } } this->CurrentPositionInFile = buffer.npos; return ""; } /** Query for the cpu status */ bool SystemInformationImplementation::RetreiveInformationFromCpuInfoFile() { this->NumberOfLogicalCPU = 0; this->NumberOfPhysicalCPU = 0; std::string buffer; FILE *fd = fopen("/proc/cpuinfo", "r" ); if ( !fd ) { std::cout << "Problem opening /proc/cpuinfo" << std::endl; return false; } size_t fileSize = 0; while(!feof(fd)) { buffer += static_cast(fgetc(fd)); fileSize++; } fclose( fd ); buffer.resize(fileSize-2); // Number of logical CPUs (combination of multiple processors, multi-core // and hyperthreading) size_t pos = buffer.find("processor\t"); while(pos != buffer.npos) { this->NumberOfLogicalCPU++; pos = buffer.find("processor\t",pos+1); } #ifdef __linux // Find the largest physical id. int maxId = -1; std::string idc = this->ExtractValueFromCpuInfoFile(buffer,"physical id"); while(this->CurrentPositionInFile != buffer.npos) { int id = atoi(idc.c_str()); if(id > maxId) { maxId=id; } idc = this->ExtractValueFromCpuInfoFile(buffer,"physical id", this->CurrentPositionInFile+1); } // Physical ids returned by Linux don't distinguish cores. // We want to record the total number of cores in this->NumberOfPhysicalCPU // (checking only the first proc) std::string cores = this->ExtractValueFromCpuInfoFile(buffer,"cpu cores"); int numberOfCoresPerCPU=atoi(cores.c_str()); if (maxId > 0) { this->NumberOfPhysicalCPU=static_cast( numberOfCoresPerCPU*(maxId+1)); } else { // Linux Sparc: get cpu count this->NumberOfPhysicalCPU= atoi(this->ExtractValueFromCpuInfoFile(buffer,"ncpus active").c_str()); } #else // __CYGWIN__ // does not have "physical id" entries, neither "cpu cores" // this has to be fixed for hyper-threading. std::string cpucount = this->ExtractValueFromCpuInfoFile(buffer,"cpu count"); this->NumberOfPhysicalCPU= this->NumberOfLogicalCPU = atoi(cpucount.c_str()); #endif // gotta have one, and if this is 0 then we get a / by 0n // better to have a bad answer than a crash if(this->NumberOfPhysicalCPU <= 0) { this->NumberOfPhysicalCPU = 1; } // LogicalProcessorsPerPhysical>1 => hyperthreading. this->Features.ExtendedFeatures.LogicalProcessorsPerPhysical= this->NumberOfLogicalCPU/this->NumberOfPhysicalCPU; // CPU speed (checking only the first processor) std::string CPUSpeed = this->ExtractValueFromCpuInfoFile(buffer,"cpu MHz"); if(!CPUSpeed.empty()) { this->CPUSpeedInMHz = static_cast(atof(CPUSpeed.c_str())); } #ifdef __linux else { // Linux Sparc: CPU speed is in Hz and encoded in hexadecimal CPUSpeed = this->ExtractValueFromCpuInfoFile(buffer,"Cpu0ClkTck"); this->CPUSpeedInMHz = static_cast( strtoull(CPUSpeed.c_str(),0,16))/1000000.0f; } #endif // Chip family std::string familyStr = this->ExtractValueFromCpuInfoFile(buffer,"cpu family"); if(familyStr.empty()) { familyStr = this->ExtractValueFromCpuInfoFile(buffer,"CPU architecture"); } this->ChipID.Family = atoi(familyStr.c_str()); // Chip Vendor this->ChipID.Vendor = this->ExtractValueFromCpuInfoFile(buffer,"vendor_id"); this->FindManufacturer(familyStr); // second try for setting family if (this->ChipID.Family == 0 && this->ChipManufacturer == HP) { if (familyStr == "PA-RISC 1.1a") this->ChipID.Family = 0x11a; else if (familyStr == "PA-RISC 2.0") this->ChipID.Family = 0x200; // If you really get CMake to work on a machine not belonging to // any of those families I owe you a dinner if you get it to // contribute nightly builds regularly. } // Chip Model this->ChipID.Model = atoi(this->ExtractValueFromCpuInfoFile(buffer,"model").c_str()); if(!this->RetrieveClassicalCPUIdentity()) { // Some platforms (e.g. PA-RISC) tell us their CPU name here. // Note: x86 does not. std::string cpuname = this->ExtractValueFromCpuInfoFile(buffer,"cpu"); if(!cpuname.empty()) { this->ChipID.ProcessorName = cpuname; } } // Chip revision std::string cpurev = this->ExtractValueFromCpuInfoFile(buffer,"stepping"); if(cpurev.empty()) { cpurev = this->ExtractValueFromCpuInfoFile(buffer,"CPU revision"); } this->ChipID.Revision = atoi(cpurev.c_str()); // Chip Model Name this->ChipID.ModelName = this->ExtractValueFromCpuInfoFile(buffer,"model name").c_str(); // L1 Cache size // Different architectures may show different names for the caches. // Sum up everything we find. std::vector cachename; cachename.clear(); cachename.push_back("cache size"); // e.g. x86 cachename.push_back("I-cache"); // e.g. PA-RISC cachename.push_back("D-cache"); // e.g. PA-RISC this->Features.L1CacheSize = 0; for (size_t index = 0; index < cachename.size(); index ++) { std::string cacheSize = this->ExtractValueFromCpuInfoFile(buffer,cachename[index]); if (!cacheSize.empty()) { pos = cacheSize.find(" KB"); if(pos!=cacheSize.npos) { cacheSize = cacheSize.substr(0,pos); } this->Features.L1CacheSize += atoi(cacheSize.c_str()); } } // processor feature flags (probably x86 specific) std::string cpuflags = this->ExtractValueFromCpuInfoFile(buffer,"flags"); if(!cpurev.empty()) { // now we can match every flags as space + flag + space cpuflags = " " + cpuflags + " "; if ((cpuflags.find(" fpu ")!=std::string::npos)) { this->Features.HasFPU = true; } if ((cpuflags.find(" tsc ")!=std::string::npos)) { this->Features.HasTSC = true; } if ((cpuflags.find(" mmx ")!=std::string::npos)) { this->Features.HasMMX = true; } if ((cpuflags.find(" sse ")!=std::string::npos)) { this->Features.HasSSE = true; } if ((cpuflags.find(" sse2 ")!=std::string::npos)) { this->Features.HasSSE2 = true; } if ((cpuflags.find(" apic ")!=std::string::npos)) { this->Features.HasAPIC = true; } if ((cpuflags.find(" cmov ")!=std::string::npos)) { this->Features.HasCMOV = true; } if ((cpuflags.find(" mtrr ")!=std::string::npos)) { this->Features.HasMTRR = true; } if ((cpuflags.find(" acpi ")!=std::string::npos)) { this->Features.HasACPI = true; } if ((cpuflags.find(" 3dnow ")!=std::string::npos)) { this->Features.ExtendedFeatures.Has3DNow = true; } } return true; } bool SystemInformationImplementation::QueryProcessorBySysconf() { #if defined(_SC_NPROC_ONLN) && !defined(_SC_NPROCESSORS_ONLN) // IRIX names this slightly different # define _SC_NPROCESSORS_ONLN _SC_NPROC_ONLN #endif #ifdef _SC_NPROCESSORS_ONLN long c = sysconf(_SC_NPROCESSORS_ONLN); if (c <= 0) { return false; } this->NumberOfPhysicalCPU = static_cast(c); this->NumberOfLogicalCPU = this->NumberOfPhysicalCPU; return true; #else return false; #endif } bool SystemInformationImplementation::QueryProcessor() { return this->QueryProcessorBySysconf(); } /** Get total system RAM in units of KiB. */ SystemInformation::LongLong SystemInformationImplementation::GetHostMemoryTotal() { #if defined(_WIN32) # if defined(_MSC_VER) && _MSC_VER < 1300 MEMORYSTATUS stat; stat.dwLength = sizeof(stat); GlobalMemoryStatus(&stat); return stat.dwTotalPhys/1024; # else MEMORYSTATUSEX statex; statex.dwLength=sizeof(statex); GlobalMemoryStatusEx(&statex); return statex.ullTotalPhys/1024; # endif #elif defined(__linux) SystemInformation::LongLong memTotal=0; int ierr=GetFieldFromFile("/proc/meminfo","MemTotal:",memTotal); if (ierr) { return -1; } return memTotal; #elif defined(__APPLE__) uint64_t mem; size_t len = sizeof(mem); int ierr=sysctlbyname("hw.memsize", &mem, &len, NULL, 0); if (ierr) { return -1; } return mem/1024; #else return 0; #endif } /** Get total system RAM in units of KiB. This may differ from the host total if a host-wide resource limit is applied. */ SystemInformation::LongLong SystemInformationImplementation::GetHostMemoryAvailable(const char *hostLimitEnvVarName) { SystemInformation::LongLong memTotal=this->GetHostMemoryTotal(); // the following mechanism is provided for systems that // apply resource limits across groups of processes. // this is of use on certain SMP systems (eg. SGI UV) // where the host has a large amount of ram but a given user's // access to it is severly restricted. The system will // apply a limit across a set of processes. Units are in KiB. if (hostLimitEnvVarName) { const char *hostLimitEnvVarValue=getenv(hostLimitEnvVarName); if (hostLimitEnvVarValue) { SystemInformation::LongLong hostLimit=atoLongLong(hostLimitEnvVarValue); if (hostLimit>0) { memTotal=min(hostLimit,memTotal); } } } return memTotal; } /** Get total system RAM in units of KiB. This may differ from the host total if a per-process resource limit is applied. */ SystemInformation::LongLong SystemInformationImplementation::GetProcMemoryAvailable( const char *hostLimitEnvVarName, const char *procLimitEnvVarName) { SystemInformation::LongLong memAvail = this->GetHostMemoryAvailable(hostLimitEnvVarName); // the following mechanism is provide for systems where rlimits // are not employed. Units are in KiB. if (procLimitEnvVarName) { const char *procLimitEnvVarValue=getenv(procLimitEnvVarName); if (procLimitEnvVarValue) { SystemInformation::LongLong procLimit=atoLongLong(procLimitEnvVarValue); if (procLimit>0) { memAvail=min(procLimit,memAvail); } } } #if defined(__linux) int ierr; ResourceLimitType rlim; ierr=GetResourceLimit(RLIMIT_DATA,&rlim); if ((ierr==0) && (rlim.rlim_cur != RLIM_INFINITY)) { memAvail=min((SystemInformation::LongLong)rlim.rlim_cur/1024,memAvail); } ierr=GetResourceLimit(RLIMIT_AS,&rlim); if ((ierr==0) && (rlim.rlim_cur != RLIM_INFINITY)) { memAvail=min((SystemInformation::LongLong)rlim.rlim_cur/1024,memAvail); } #elif defined(__APPLE__) struct rlimit rlim; int ierr; ierr=getrlimit(RLIMIT_DATA,&rlim); if ((ierr==0) && (rlim.rlim_cur != RLIM_INFINITY)) { memAvail=min((SystemInformation::LongLong)rlim.rlim_cur/1024,memAvail); } ierr=getrlimit(RLIMIT_RSS,&rlim); if ((ierr==0) && (rlim.rlim_cur != RLIM_INFINITY)) { memAvail=min((SystemInformation::LongLong)rlim.rlim_cur/1024,memAvail); } #endif return memAvail; } /** Get RAM used by all processes in the host, in units of KiB. */ SystemInformation::LongLong SystemInformationImplementation::GetHostMemoryUsed() { #if defined(_WIN32) # if defined(_MSC_VER) && _MSC_VER < 1300 MEMORYSTATUS stat; stat.dwLength = sizeof(stat); GlobalMemoryStatus(&stat); return (stat.dwTotalPhys - stat.dwAvailPhys)/1024; # else MEMORYSTATUSEX statex; statex.dwLength=sizeof(statex); GlobalMemoryStatusEx(&statex); return (statex.ullTotalPhys - statex.ullAvailPhys)/1024; # endif #elif defined(__linux) const char *names[3]={"MemTotal:","MemFree:",NULL}; SystemInformation::LongLong values[2]={SystemInformation::LongLong(0)}; int ierr=GetFieldsFromFile("/proc/meminfo",names,values); if (ierr) { return ierr; } SystemInformation::LongLong &memTotal=values[0]; SystemInformation::LongLong &memFree=values[1]; return memTotal - memFree; #elif defined(__APPLE__) SystemInformation::LongLong psz=getpagesize(); if (psz<1) { return -1; } const char *names[4]={"Pages active:","Pages inactive:","Pages wired down:",NULL}; SystemInformation::LongLong values[3]={SystemInformation::LongLong(0)}; int ierr=GetFieldsFromCommand("vm_stat", names, values); if (ierr) { return -1; } SystemInformation::LongLong &vmActive=values[0]; SystemInformation::LongLong &vmInactive=values[1]; SystemInformation::LongLong &vmWired=values[2]; return ((vmActive+vmInactive+vmWired)*psz)/1024; #else return 0; #endif } /** Get system RAM used by the process associated with the given process id in units of KiB. */ SystemInformation::LongLong SystemInformationImplementation::GetProcMemoryUsed() { #if defined(_WIN32) && defined(KWSYS_SYS_HAS_PSAPI) long pid=GetCurrentProcessId(); HANDLE hProc; hProc=OpenProcess( PROCESS_QUERY_INFORMATION|PROCESS_VM_READ, false, pid); if (hProc==0) { return -1; } PROCESS_MEMORY_COUNTERS pmc; int ok=GetProcessMemoryInfo(hProc,&pmc,sizeof(pmc)); CloseHandle(hProc); if (!ok) { return -2; } return pmc.WorkingSetSize/1024; #elif defined(__linux) SystemInformation::LongLong memUsed=0; int ierr=GetFieldFromFile("/proc/self/status","VmRSS:",memUsed); if (ierr) { return -1; } return memUsed; #elif defined(__APPLE__) SystemInformation::LongLong memUsed=0; pid_t pid=getpid(); std::ostringstream oss; oss << "ps -o rss= -p " << pid; FILE *file=popen(oss.str().c_str(),"r"); if (file==0) { return -1; } oss.str(""); while (!feof(file) && !ferror(file)) { char buf[256]={'\0'}; errno=0; size_t nRead=fread(buf,1,256,file); if (ferror(file) && (errno==EINTR)) { clearerr(file); } if (nRead) oss << buf; } int ierr=ferror(file); pclose(file); if (ierr) { return -2; } std::istringstream iss(oss.str()); iss >> memUsed; return memUsed; #else return 0; #endif } double SystemInformationImplementation::GetLoadAverage() { #if defined(KWSYS_CXX_HAS_GETLOADAVG) double loadavg[3] = { 0.0, 0.0, 0.0 }; if (getloadavg(loadavg, 3) > 0) { return loadavg[0]; } return -0.0; #elif defined(KWSYS_SYSTEMINFORMATION_USE_GetSystemTimes) // Old windows.h headers do not provide GetSystemTimes. typedef BOOL (WINAPI *GetSystemTimesType)(LPFILETIME, LPFILETIME, LPFILETIME); static GetSystemTimesType pGetSystemTimes = (GetSystemTimesType)GetProcAddress(GetModuleHandleW(L"kernel32"), "GetSystemTimes"); FILETIME idleTime, kernelTime, userTime; if (pGetSystemTimes && pGetSystemTimes(&idleTime, &kernelTime, &userTime)) { unsigned __int64 const idleTicks = fileTimeToUInt64(idleTime); unsigned __int64 const totalTicks = fileTimeToUInt64(kernelTime) + fileTimeToUInt64(userTime); return calculateCPULoad(idleTicks, totalTicks) * GetNumberOfPhysicalCPU(); } return -0.0; #else // Not implemented on this platform. return -0.0; #endif } /** Get the process id of the running process. */ SystemInformation::LongLong SystemInformationImplementation::GetProcessId() { #if defined(_WIN32) return GetCurrentProcessId(); #elif defined(__linux) || defined(__APPLE__) return getpid(); #else return -1; #endif } /** return current program stack in a string demangle cxx symbols if possible. */ std::string SystemInformationImplementation::GetProgramStack( int firstFrame, int wholePath) { std::string programStack = "" #if !defined(KWSYS_SYSTEMINFORMATION_HAS_BACKTRACE) "WARNING: The stack could not be examined " "because backtrace is not supported.\n" #elif !defined(KWSYS_SYSTEMINFORMATION_HAS_DEBUG_BUILD) "WARNING: The stack trace will not use advanced " "capabilities because this is a release build.\n" #else # if !defined(KWSYS_SYSTEMINFORMATION_HAS_SYMBOL_LOOKUP) "WARNING: Function names will not be demangled because " "dladdr is not available.\n" # endif # if !defined(KWSYS_SYSTEMINFORMATION_HAS_CPP_DEMANGLE) "WARNING: Function names will not be demangled " "because cxxabi is not available.\n" # endif #endif ; std::ostringstream oss; #if defined(KWSYS_SYSTEMINFORMATION_HAS_BACKTRACE) void *stackSymbols[256]; int nFrames=backtrace(stackSymbols,256); for (int i=firstFrame; iTotalVirtualMemory = tv>>10>>10; this->TotalPhysicalMemory = tp>>10>>10; this->AvailableVirtualMemory = av>>10>>10; this->AvailablePhysicalMemory = ap>>10>>10; return true; #else return false; #endif } bool SystemInformationImplementation::QueryLinuxMemory() { #if defined(__linux) unsigned long tv=0; unsigned long tp=0; unsigned long av=0; unsigned long ap=0; char buffer[1024]; // for reading lines int linuxMajor = 0; int linuxMinor = 0; // Find the Linux kernel version first struct utsname unameInfo; int errorFlag = uname(&unameInfo); if( errorFlag!=0 ) { std::cout << "Problem calling uname(): " << strerror(errno) << std::endl; return false; } if( strlen(unameInfo.release)>=3 ) { // release looks like "2.6.3-15mdk-i686-up-4GB" char majorChar=unameInfo.release[0]; char minorChar=unameInfo.release[2]; if( isdigit(majorChar) ) { linuxMajor=majorChar-'0'; } if( isdigit(minorChar) ) { linuxMinor=minorChar-'0'; } } FILE *fd = fopen("/proc/meminfo", "r" ); if ( !fd ) { std::cout << "Problem opening /proc/meminfo" << std::endl; return false; } if( linuxMajor>=3 || ( (linuxMajor>=2) && (linuxMinor>=6) ) ) { // new /proc/meminfo format since kernel 2.6.x // Rigorously, this test should check from the developping version 2.5.x // that introduced the new format... enum { mMemTotal, mMemFree, mBuffers, mCached, mSwapTotal, mSwapFree }; const char* format[6] = { "MemTotal:%lu kB", "MemFree:%lu kB", "Buffers:%lu kB", "Cached:%lu kB", "SwapTotal:%lu kB", "SwapFree:%lu kB" }; bool have[6] = { false, false, false, false, false, false }; unsigned long value[6]; int count = 0; while(fgets(buffer, static_cast(sizeof(buffer)), fd)) { for(int i=0; i < 6; ++i) { if(!have[i] && sscanf(buffer, format[i], &value[i]) == 1) { have[i] = true; ++count; } } } if(count == 6) { this->TotalPhysicalMemory = value[mMemTotal] / 1024; this->AvailablePhysicalMemory = (value[mMemFree] + value[mBuffers] + value[mCached]) / 1024; this->TotalVirtualMemory = value[mSwapTotal] / 1024; this->AvailableVirtualMemory = value[mSwapFree] / 1024; } else { std::cout << "Problem parsing /proc/meminfo" << std::endl; fclose(fd); return false; } } else { // /proc/meminfo format for kernel older than 2.6.x unsigned long temp; unsigned long cachedMem; unsigned long buffersMem; // Skip "total: used:..." char *r=fgets(buffer, static_cast(sizeof(buffer)), fd); int status=0; if(r==buffer) { status+=fscanf(fd, "Mem: %lu %lu %lu %lu %lu %lu\n", &tp, &temp, &ap, &temp, &buffersMem, &cachedMem); } if(status==6) { status+=fscanf(fd, "Swap: %lu %lu %lu\n", &tv, &temp, &av); } if(status==9) { this->TotalVirtualMemory = tv>>10>>10; this->TotalPhysicalMemory = tp>>10>>10; this->AvailableVirtualMemory = av>>10>>10; this->AvailablePhysicalMemory = (ap+buffersMem+cachedMem)>>10>>10; } else { std::cout << "Problem parsing /proc/meminfo" << std::endl; fclose(fd); return false; } } fclose( fd ); return true; #else return false; #endif } bool SystemInformationImplementation::QueryCygwinMemory() { #ifdef __CYGWIN__ // _SC_PAGE_SIZE does return the mmap() granularity on Cygwin, // see http://cygwin.com/ml/cygwin/2006-06/msg00350.html // Therefore just use 4096 as the page size of Windows. long m = sysconf(_SC_PHYS_PAGES); if (m < 0) { return false; } this->TotalPhysicalMemory = m >> 8; return true; #else return false; #endif } bool SystemInformationImplementation::QueryAIXMemory() { #if defined(_AIX) && defined(_SC_AIX_REALMEM) long c = sysconf(_SC_AIX_REALMEM); if (c <= 0) { return false; } this->TotalPhysicalMemory = c / 1024; return true; #else return false; #endif } bool SystemInformationImplementation::QueryMemoryBySysconf() { #if defined(_SC_PHYS_PAGES) && defined(_SC_PAGESIZE) // Assume the mmap() granularity as returned by _SC_PAGESIZE is also // the system page size. The only known system where this isn't true // is Cygwin. long p = sysconf(_SC_PHYS_PAGES); long m = sysconf(_SC_PAGESIZE); if (p < 0 || m < 0) { return false; } // assume pagesize is a power of 2 and smaller 1 MiB size_t pagediv = (1024 * 1024 / m); this->TotalPhysicalMemory = p; this->TotalPhysicalMemory /= pagediv; #if defined(_SC_AVPHYS_PAGES) p = sysconf(_SC_AVPHYS_PAGES); if (p < 0) { return false; } this->AvailablePhysicalMemory = p; this->AvailablePhysicalMemory /= pagediv; #endif return true; #else return false; #endif } /** Query for the memory status */ bool SystemInformationImplementation::QueryMemory() { return this->QueryMemoryBySysconf(); } /** */ size_t SystemInformationImplementation::GetTotalVirtualMemory() { return this->TotalVirtualMemory; } /** */ size_t SystemInformationImplementation::GetAvailableVirtualMemory() { return this->AvailableVirtualMemory; } size_t SystemInformationImplementation::GetTotalPhysicalMemory() { return this->TotalPhysicalMemory; } /** */ size_t SystemInformationImplementation::GetAvailablePhysicalMemory() { return this->AvailablePhysicalMemory; } /** Get Cycle differences */ SystemInformation::LongLong SystemInformationImplementation::GetCyclesDifference (DELAY_FUNC DelayFunction, unsigned int uiParameter) { #if defined(_MSC_VER) && (_MSC_VER >= 1400) unsigned __int64 stamp1, stamp2; stamp1 = __rdtsc(); DelayFunction(uiParameter); stamp2 = __rdtsc(); return stamp2 - stamp1; #elif USE_ASM_INSTRUCTIONS unsigned int edx1, eax1; unsigned int edx2, eax2; // Calculate the frequency of the CPU instructions. __try { _asm { push uiParameter ; push parameter param mov ebx, DelayFunction ; store func in ebx RDTSC_INSTRUCTION mov esi, eax ; esi = eax mov edi, edx ; edi = edx call ebx ; call the delay functions RDTSC_INSTRUCTION pop ebx mov edx2, edx ; edx2 = edx mov eax2, eax ; eax2 = eax mov edx1, edi ; edx2 = edi mov eax1, esi ; eax2 = esi } } __except(1) { return -1; } return ((((__int64) edx2 << 32) + eax2) - (((__int64) edx1 << 32) + eax1)); #else (void)DelayFunction; (void)uiParameter; return -1; #endif } /** Compute the delay overhead */ void SystemInformationImplementation::DelayOverhead(unsigned int uiMS) { #if defined(_WIN32) LARGE_INTEGER Frequency, StartCounter, EndCounter; __int64 x; // Get the frequency of the high performance counter. if(!QueryPerformanceFrequency (&Frequency)) { return; } x = Frequency.QuadPart / 1000 * uiMS; // Get the starting position of the counter. QueryPerformanceCounter (&StartCounter); do { // Get the ending position of the counter. QueryPerformanceCounter (&EndCounter); } while (EndCounter.QuadPart - StartCounter.QuadPart == x); #endif (void)uiMS; } /** Return the number of logical CPU per physical CPUs Works only for windows */ unsigned char SystemInformationImplementation::LogicalCPUPerPhysicalCPU(void) { #ifdef __APPLE__ size_t len = 4; int cores_per_package = 0; int err = sysctlbyname("machdep.cpu.cores_per_package", &cores_per_package, &len, NULL, 0); if (err != 0) { return 1; // That name was not found, default to 1 } return static_cast(cores_per_package); #else int Regs[4] = { 0, 0, 0, 0 }; #if USE_CPUID if (!this->IsHyperThreadingSupported()) { return static_cast(1); // HT not supported } call_cpuid(1, Regs); #endif return static_cast ((Regs[1] & NUM_LOGICAL_BITS) >> 16); #endif } /** Works only for windows */ bool SystemInformationImplementation::IsHyperThreadingSupported() { if (this->Features.ExtendedFeatures.SupportsHyperthreading) { return true; } #if USE_CPUID int Regs[4] = { 0, 0, 0, 0 }, VendorId[4] = { 0, 0, 0, 0 }; // Get vendor id string if (!call_cpuid(0, VendorId)) { return false; } // eax contains family processor type // edx has info about the availability of hyper-Threading if (!call_cpuid(1, Regs)) { return false; } if (((Regs[0] & FAMILY_ID) == PENTIUM4_ID) || (Regs[0] & EXT_FAMILY_ID)) { if (VendorId[1] == 0x756e6547) // 'uneG' { if (VendorId[3] == 0x49656e69) // 'Ieni' { if (VendorId[2] == 0x6c65746e) // 'letn' { // Genuine Intel with hyper-Threading technology this->Features.ExtendedFeatures.SupportsHyperthreading = ((Regs[3] & HT_BIT) != 0); return this->Features.ExtendedFeatures.SupportsHyperthreading; } } } } #endif return 0; // Not genuine Intel processor } /** Return the APIC Id. Works only for windows. */ unsigned char SystemInformationImplementation::GetAPICId() { int Regs[4] = { 0, 0, 0, 0 }; #if USE_CPUID if (!this->IsHyperThreadingSupported()) { return static_cast(-1); // HT not supported } // Logical processor = 1 call_cpuid(1, Regs); #endif return static_cast((Regs[1] & INITIAL_APIC_ID_BITS) >> 24); } /** Count the number of CPUs. Works only on windows. */ int SystemInformationImplementation::CPUCount() { #if defined(_WIN32) unsigned char StatusFlag = 0; SYSTEM_INFO info; this->NumberOfPhysicalCPU = 0; this->NumberOfLogicalCPU = 0; info.dwNumberOfProcessors = 0; GetSystemInfo (&info); // Number of physical processors in a non-Intel system // or in a 32-bit Intel system with Hyper-Threading technology disabled this->NumberOfPhysicalCPU = (unsigned char) info.dwNumberOfProcessors; if (this->IsHyperThreadingSupported()) { unsigned char HT_Enabled = 0; this->NumberOfLogicalCPU = this->LogicalCPUPerPhysicalCPU(); if (this->NumberOfLogicalCPU >= 1) // >1 Doesn't mean HT is enabled in the BIOS { HANDLE hCurrentProcessHandle; #ifndef _WIN64 # define DWORD_PTR DWORD #endif DWORD_PTR dwProcessAffinity; DWORD_PTR dwSystemAffinity; DWORD dwAffinityMask; // Calculate the appropriate shifts and mask based on the // number of logical processors. unsigned int i = 1; unsigned char PHY_ID_MASK = 0xFF; //unsigned char PHY_ID_SHIFT = 0; while (i < this->NumberOfLogicalCPU) { i *= 2; PHY_ID_MASK <<= 1; // PHY_ID_SHIFT++; } hCurrentProcessHandle = GetCurrentProcess(); GetProcessAffinityMask(hCurrentProcessHandle, &dwProcessAffinity, &dwSystemAffinity); // Check if available process affinity mask is equal to the // available system affinity mask if (dwProcessAffinity != dwSystemAffinity) { StatusFlag = HT_CANNOT_DETECT; this->NumberOfPhysicalCPU = (unsigned char)-1; return StatusFlag; } dwAffinityMask = 1; while (dwAffinityMask != 0 && dwAffinityMask <= dwProcessAffinity) { // Check if this CPU is available if (dwAffinityMask & dwProcessAffinity) { if (SetProcessAffinityMask(hCurrentProcessHandle, dwAffinityMask)) { unsigned char APIC_ID, LOG_ID; Sleep(0); // Give OS time to switch CPU APIC_ID = GetAPICId(); LOG_ID = APIC_ID & ~PHY_ID_MASK; if (LOG_ID != 0) { HT_Enabled = 1; } } } dwAffinityMask = dwAffinityMask << 1; } // Reset the processor affinity SetProcessAffinityMask(hCurrentProcessHandle, dwProcessAffinity); if (this->NumberOfLogicalCPU == 1) // Normal P4 : HT is disabled in hardware { StatusFlag = HT_DISABLED; } else { if (HT_Enabled) { // Total physical processors in a Hyper-Threading enabled system. this->NumberOfPhysicalCPU /= (this->NumberOfLogicalCPU); StatusFlag = HT_ENABLED; } else { StatusFlag = HT_SUPPORTED_NOT_ENABLED; } } } } else { // Processors do not have Hyper-Threading technology StatusFlag = HT_NOT_CAPABLE; this->NumberOfLogicalCPU = 1; } return StatusFlag; #else return 0; #endif } /** Return the number of logical CPUs on the system */ unsigned int SystemInformationImplementation::GetNumberOfLogicalCPU() { return this->NumberOfLogicalCPU; } /** Return the number of physical CPUs on the system */ unsigned int SystemInformationImplementation::GetNumberOfPhysicalCPU() { return this->NumberOfPhysicalCPU; } /** For Mac use sysctlbyname calls to find system info */ bool SystemInformationImplementation::ParseSysCtl() { #if defined(__APPLE__) char retBuf[128]; int err = 0; uint64_t value = 0; size_t len = sizeof(value); sysctlbyname("hw.memsize", &value, &len, NULL, 0); this->TotalPhysicalMemory = static_cast< size_t >( value/1048576 ); // Parse values for Mac this->AvailablePhysicalMemory = 0; vm_statistics_data_t vmstat; mach_msg_type_number_t count = HOST_VM_INFO_COUNT; if ( host_statistics(mach_host_self(), HOST_VM_INFO, (host_info_t) &vmstat, &count) == KERN_SUCCESS ) { len = sizeof(value); err = sysctlbyname("hw.pagesize", &value, &len, NULL, 0); int64_t available_memory = vmstat.free_count * value; this->AvailablePhysicalMemory = static_cast< size_t >( available_memory / 1048576 ); } #ifdef VM_SWAPUSAGE // Virtual memory. int mib[2] = { CTL_VM, VM_SWAPUSAGE }; size_t miblen = sizeof(mib) / sizeof(mib[0]); struct xsw_usage swap; len = sizeof(swap); err = sysctl(mib, miblen, &swap, &len, NULL, 0); if (err == 0) { this->AvailableVirtualMemory = static_cast< size_t >( swap.xsu_avail/1048576 ); this->TotalVirtualMemory = static_cast< size_t >( swap.xsu_total/1048576 ); } #else this->AvailableVirtualMemory = 0; this->TotalVirtualMemory = 0; #endif // CPU Info len = sizeof(this->NumberOfPhysicalCPU); sysctlbyname("hw.physicalcpu", &this->NumberOfPhysicalCPU, &len, NULL, 0); len = sizeof(this->NumberOfLogicalCPU); sysctlbyname("hw.logicalcpu", &this->NumberOfLogicalCPU, &len, NULL, 0); this->Features.ExtendedFeatures.LogicalProcessorsPerPhysical = this->LogicalCPUPerPhysicalCPU(); len = sizeof(value); sysctlbyname("hw.cpufrequency", &value, &len, NULL, 0); this->CPUSpeedInMHz = static_cast< float >( value )/ 1000000; // Chip family len = sizeof(this->ChipID.Family); //Seems only the intel chips will have this name so if this fails it is //probably a PPC machine err = sysctlbyname("machdep.cpu.family", &this->ChipID.Family, &len, NULL, 0); if (err != 0) // Go back to names we know but are less descriptive { this->ChipID.Family = 0; ::memset(retBuf, 0, 128); len = 32; err = sysctlbyname("hw.machine", &retBuf, &len, NULL, 0); std::string machineBuf(retBuf); if (machineBuf.find_first_of("Power") != std::string::npos) { this->ChipID.Vendor = "IBM"; len = sizeof(this->ChipID.Family); err = sysctlbyname("hw.cputype", &this->ChipID.Family, &len, NULL, 0); len = sizeof(this->ChipID.Model); err = sysctlbyname("hw.cpusubtype", &this->ChipID.Model, &len, NULL, 0); this->FindManufacturer(); } } else // Should be an Intel Chip. { len = sizeof(this->ChipID.Family); err = sysctlbyname("machdep.cpu.family", &this->ChipID.Family, &len, NULL, 0); ::memset(retBuf, 0, 128); len = 128; err = sysctlbyname("machdep.cpu.vendor", retBuf, &len, NULL, 0); // Chip Vendor this->ChipID.Vendor = retBuf; this->FindManufacturer(); // Chip Model len = sizeof(value); err = sysctlbyname("machdep.cpu.model", &value, &len, NULL, 0); this->ChipID.Model = static_cast< int >( value ); // Chip Stepping len = sizeof(value); value = 0; err = sysctlbyname("machdep.cpu.stepping", &value, &len, NULL, 0); if (!err) { this->ChipID.Revision = static_cast< int >( value ); } // feature string char *buf = 0; size_t allocSize = 128; err = 0; len = 0; // sysctlbyname() will return with err==0 && len==0 if the buffer is too small while (err == 0 && len == 0) { delete[] buf; allocSize *= 2; buf = new char[allocSize]; if (!buf) { break; } buf[0] = ' '; len = allocSize - 2; // keep space for leading and trailing space err = sysctlbyname("machdep.cpu.features", buf + 1, &len, NULL, 0); } if (!err && buf && len) { // now we can match every flags as space + flag + space buf[len + 1] = ' '; std::string cpuflags(buf, len + 2); if ((cpuflags.find(" FPU ")!=std::string::npos)) { this->Features.HasFPU = true; } if ((cpuflags.find(" TSC ")!=std::string::npos)) { this->Features.HasTSC = true; } if ((cpuflags.find(" MMX ")!=std::string::npos)) { this->Features.HasMMX = true; } if ((cpuflags.find(" SSE ")!=std::string::npos)) { this->Features.HasSSE = true; } if ((cpuflags.find(" SSE2 ")!=std::string::npos)) { this->Features.HasSSE2 = true; } if ((cpuflags.find(" APIC ")!=std::string::npos)) { this->Features.HasAPIC = true; } if ((cpuflags.find(" CMOV ")!=std::string::npos)) { this->Features.HasCMOV = true; } if ((cpuflags.find(" MTRR ")!=std::string::npos)) { this->Features.HasMTRR = true; } if ((cpuflags.find(" ACPI ")!=std::string::npos)) { this->Features.HasACPI = true; } } delete[] buf; } // brand string ::memset(retBuf, 0, sizeof(retBuf)); len = sizeof(retBuf); err = sysctlbyname("machdep.cpu.brand_string", retBuf, &len, NULL, 0); if (!err) { this->ChipID.ProcessorName = retBuf; this->ChipID.ModelName = retBuf; } // Cache size len = sizeof(value); err = sysctlbyname("hw.l1icachesize", &value, &len, NULL, 0); this->Features.L1CacheSize = static_cast< int >( value ); len = sizeof(value); err = sysctlbyname("hw.l2cachesize", &value, &len, NULL, 0); this->Features.L2CacheSize = static_cast< int >( value ); return true; #else return false; #endif } /** Extract a value from sysctl command */ std::string SystemInformationImplementation::ExtractValueFromSysCtl(const char* word) { size_t pos = this->SysCtlBuffer.find(word); if(pos != this->SysCtlBuffer.npos) { pos = this->SysCtlBuffer.find(": ",pos); size_t pos2 = this->SysCtlBuffer.find("\n",pos); if(pos!=this->SysCtlBuffer.npos && pos2!=this->SysCtlBuffer.npos) { return this->SysCtlBuffer.substr(pos+2,pos2-pos-2); } } return ""; } /** Run a given process */ std::string SystemInformationImplementation::RunProcess(std::vector args) { std::string buffer = ""; // Run the application kwsysProcess* gp = kwsysProcess_New(); kwsysProcess_SetCommand(gp, &*args.begin()); kwsysProcess_SetOption(gp,kwsysProcess_Option_HideWindow,1); kwsysProcess_Execute(gp); char* data = NULL; int length; double timeout = 255; int pipe; // pipe id as returned by kwsysProcess_WaitForData() while( ( pipe = kwsysProcess_WaitForData(gp,&data,&length,&timeout), (pipe == kwsysProcess_Pipe_STDOUT || pipe == kwsysProcess_Pipe_STDERR) ) ) // wait for 1s { buffer.append(data, length); } kwsysProcess_WaitForExit(gp, 0); int result = 0; switch(kwsysProcess_GetState(gp)) { case kwsysProcess_State_Exited: { result = kwsysProcess_GetExitValue(gp); } break; case kwsysProcess_State_Error: { std::cerr << "Error: Could not run " << args[0] << ":\n"; std::cerr << kwsysProcess_GetErrorString(gp) << "\n"; } break; case kwsysProcess_State_Exception: { std::cerr << "Error: " << args[0] << " terminated with an exception: " << kwsysProcess_GetExceptionString(gp) << "\n"; } break; case kwsysProcess_State_Starting: case kwsysProcess_State_Executing: case kwsysProcess_State_Expired: case kwsysProcess_State_Killed: { // Should not get here. std::cerr << "Unexpected ending state after running " << args[0] << std::endl; } break; } kwsysProcess_Delete(gp); if(result) { std::cerr << "Error " << args[0] << " returned :" << result << "\n"; } return buffer; } std::string SystemInformationImplementation::ParseValueFromKStat(const char* arguments) { std::vector args; args.clear(); args.push_back("kstat"); args.push_back("-p"); std::string command = arguments; size_t start = command.npos; size_t pos = command.find(' ',0); while(pos!=command.npos) { bool inQuotes = false; // Check if we are between quotes size_t b0 = command.find('"',0); size_t b1 = command.find('"',b0+1); while(b0 != command.npos && b1 != command.npos && b1>b0) { if(pos>b0 && posRunProcess(args); std::string value = ""; for(size_t i=buffer.size()-1;i>0;i--) { if(buffer[i] == ' ' || buffer[i] == '\t') { break; } if(buffer[i] != '\n' && buffer[i] != '\r') { std::string val = value; value = buffer[i]; value += val; } } return value; } /** Querying for system information from Solaris */ bool SystemInformationImplementation::QuerySolarisMemory() { #if defined (__SVR4) && defined (__sun) // Solaris allows querying this value by sysconf, but if this is // a 32 bit process on a 64 bit host the returned memory will be // limited to 4GiB. So if this is a 32 bit process or if the sysconf // method fails use the kstat interface. #if SIZEOF_VOID_P == 8 if (this->QueryMemoryBySysconf()) { return true; } #endif char* tail; unsigned long totalMemory = strtoul(this->ParseValueFromKStat("-s physmem").c_str(),&tail,0); this->TotalPhysicalMemory = totalMemory/128; return true; #else return false; #endif } bool SystemInformationImplementation::QuerySolarisProcessor() { if (!this->QueryProcessorBySysconf()) { return false; } // Parse values this->CPUSpeedInMHz = static_cast(atoi(this->ParseValueFromKStat("-s clock_MHz").c_str())); // Chip family this->ChipID.Family = 0; // Chip Model this->ChipID.ProcessorName = this->ParseValueFromKStat("-s cpu_type"); this->ChipID.Model = 0; // Chip Vendor if (this->ChipID.ProcessorName != "i386") { this->ChipID.Vendor = "Sun"; this->FindManufacturer(); } return true; } /** Querying for system information from Haiku OS */ bool SystemInformationImplementation::QueryHaikuInfo() { #if defined(__HAIKU__) // CPU count system_info info; get_system_info(&info); this->NumberOfPhysicalCPU = info.cpu_count; // CPU speed uint32 topologyNodeCount = 0; cpu_topology_node_info* topology = 0; get_cpu_topology_info(0, &topologyNodeCount); if (topologyNodeCount != 0) topology = new cpu_topology_node_info[topologyNodeCount]; get_cpu_topology_info(topology, &topologyNodeCount); for (uint32 i = 0; i < topologyNodeCount; i++) { if (topology[i].type == B_TOPOLOGY_CORE) { this->CPUSpeedInMHz = topology[i].data.core.default_frequency / 1000000.0f; break; } } delete[] topology; // Physical Memory this->TotalPhysicalMemory = (info.max_pages * B_PAGE_SIZE) / (1024 * 1024) ; this->AvailablePhysicalMemory = this->TotalPhysicalMemory - ((info.used_pages * B_PAGE_SIZE) / (1024 * 1024)); // NOTE: get_system_info_etc is currently a private call so just set to 0 // until it becomes public this->TotalVirtualMemory = 0; this->AvailableVirtualMemory = 0; // Retrieve cpuid_info union for cpu 0 cpuid_info cpu_info; get_cpuid(&cpu_info, 0, 0); // Chip Vendor // Use a temporary buffer so that we can add NULL termination to the string char vbuf[13]; strncpy(vbuf, cpu_info.eax_0.vendor_id, 12); vbuf[12] = '\0'; this->ChipID.Vendor = vbuf; this->FindManufacturer(); // Retrieve cpuid_info union for cpu 0 this time using a register value of 1 get_cpuid(&cpu_info, 1, 0); this->NumberOfLogicalCPU = cpu_info.eax_1.logical_cpus; // Chip type this->ChipID.Type = cpu_info.eax_1.type; // Chip family this->ChipID.Family = cpu_info.eax_1.family; // Chip Model this->ChipID.Model = cpu_info.eax_1.model; // Chip Revision this->ChipID.Revision = cpu_info.eax_1.stepping; // Chip Extended Family this->ChipID.ExtendedFamily = cpu_info.eax_1.extended_family; // Chip Extended Model this->ChipID.ExtendedModel = cpu_info.eax_1.extended_model; // Get ChipID.ProcessorName from other information already gathered this->RetrieveClassicalCPUIdentity(); // Cache size this->Features.L1CacheSize = 0; this->Features.L2CacheSize = 0; return true; #else return false; #endif } bool SystemInformationImplementation::QueryQNXMemory() { #if defined(__QNX__) std::string buffer; std::vector args; args.clear(); args.push_back("showmem"); args.push_back("-S"); args.push_back(0); buffer = this->RunProcess(args); args.clear(); size_t pos = buffer.find("System RAM:"); if (pos == buffer.npos) return false; pos = buffer.find(":", pos); size_t pos2 = buffer.find("M (", pos); if (pos2 == buffer.npos) return false; pos++; while (buffer[pos] == ' ') pos++; this->TotalPhysicalMemory = atoi(buffer.substr(pos, pos2 - pos).c_str()); return true; #endif return false; } bool SystemInformationImplementation::QueryBSDMemory() { #if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__) int ctrl[2] = { CTL_HW, HW_PHYSMEM }; #if defined(HW_PHYSMEM64) int64_t k; ctrl[1] = HW_PHYSMEM64; #else int k; #endif size_t sz = sizeof(k); if (sysctl(ctrl, 2, &k, &sz, NULL, 0) != 0) { return false; } this->TotalPhysicalMemory = k>>10>>10; return true; #else return false; #endif } bool SystemInformationImplementation::QueryQNXProcessor() { #if defined(__QNX__) // the output on my QNX 6.4.1 looks like this: // Processor1: 686 Pentium II Stepping 3 2175MHz FPU std::string buffer; std::vector args; args.clear(); args.push_back("pidin"); args.push_back("info"); args.push_back(0); buffer = this->RunProcess(args); args.clear(); size_t pos = buffer.find("Processor1:"); if (pos == buffer.npos) return false; size_t pos2 = buffer.find("MHz", pos); if (pos2 == buffer.npos) return false; size_t pos3 = pos2; while (buffer[pos3] != ' ') --pos3; this->CPUSpeedInMHz = atoi(buffer.substr(pos3 + 1, pos2 - pos3 - 1).c_str()); pos2 = buffer.find(" Stepping", pos); if (pos2 != buffer.npos) { pos2 = buffer.find(" ", pos2 + 1); if (pos2 != buffer.npos && pos2 < pos3) { this->ChipID.Revision = atoi(buffer.substr(pos2 + 1, pos3 - pos2).c_str()); } } this->NumberOfPhysicalCPU = 0; do { pos = buffer.find("\nProcessor", pos + 1); ++this->NumberOfPhysicalCPU; } while (pos != buffer.npos); this->NumberOfLogicalCPU = 1; return true; #else return false; #endif } bool SystemInformationImplementation::QueryBSDProcessor() { #if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__) int k; size_t sz = sizeof(k); int ctrl[2] = { CTL_HW, HW_NCPU }; if (sysctl(ctrl, 2, &k, &sz, NULL, 0) != 0) { return false; } this->NumberOfPhysicalCPU = k; this->NumberOfLogicalCPU = this->NumberOfPhysicalCPU; #if defined(HW_CPUSPEED) ctrl[1] = HW_CPUSPEED; if (sysctl(ctrl, 2, &k, &sz, NULL, 0) != 0) { return false; } this->CPUSpeedInMHz = (float) k; #endif #if defined(CPU_SSE) ctrl[0] = CTL_MACHDEP; ctrl[1] = CPU_SSE; if (sysctl(ctrl, 2, &k, &sz, NULL, 0) != 0) { return false; } this->Features.HasSSE = (k > 0); #endif #if defined(CPU_SSE2) ctrl[0] = CTL_MACHDEP; ctrl[1] = CPU_SSE2; if (sysctl(ctrl, 2, &k, &sz, NULL, 0) != 0) { return false; } this->Features.HasSSE2 = (k > 0); #endif #if defined(CPU_CPUVENDOR) ctrl[0] = CTL_MACHDEP; ctrl[1] = CPU_CPUVENDOR; char vbuf[25]; ::memset(vbuf, 0, sizeof(vbuf)); sz = sizeof(vbuf) - 1; if (sysctl(ctrl, 2, vbuf, &sz, NULL, 0) != 0) { return false; } this->ChipID.Vendor = vbuf; this->FindManufacturer(); #endif return true; #else return false; #endif } bool SystemInformationImplementation::QueryHPUXMemory() { #if defined(__hpux) unsigned long tv=0; unsigned long tp=0; unsigned long av=0; unsigned long ap=0; struct pst_static pst; struct pst_dynamic pdy; unsigned long ps = 0; if (pstat_getstatic(&pst, sizeof(pst), (size_t) 1, 0) == -1) { return false; } ps = pst.page_size; tp = pst.physical_memory *ps; tv = (pst.physical_memory + pst.pst_maxmem) * ps; if (pstat_getdynamic(&pdy, sizeof(pdy), (size_t) 1, 0) == -1) { return false; } ap = tp - pdy.psd_rm * ps; av = tv - pdy.psd_vm; this->TotalVirtualMemory = tv>>10>>10; this->TotalPhysicalMemory = tp>>10>>10; this->AvailableVirtualMemory = av>>10>>10; this->AvailablePhysicalMemory = ap>>10>>10; return true; #else return false; #endif } bool SystemInformationImplementation::QueryHPUXProcessor() { #if defined(__hpux) # if defined(KWSYS_SYS_HAS_MPCTL_H) int c = mpctl(MPC_GETNUMSPUS_SYS, 0, 0); if (c <= 0) { return false; } this->NumberOfPhysicalCPU = c; this->NumberOfLogicalCPU = this->NumberOfPhysicalCPU; long t = sysconf(_SC_CPU_VERSION); if (t == -1) { return false; } switch (t) { case CPU_PA_RISC1_0: this->ChipID.Vendor = "Hewlett-Packard"; this->ChipID.Family = 0x100; break; case CPU_PA_RISC1_1: this->ChipID.Vendor = "Hewlett-Packard"; this->ChipID.Family = 0x110; break; case CPU_PA_RISC2_0: this->ChipID.Vendor = "Hewlett-Packard"; this->ChipID.Family = 0x200; break; # if defined(CPU_HP_INTEL_EM_1_0) || defined(CPU_IA64_ARCHREV_0) # ifdef CPU_HP_INTEL_EM_1_0 case CPU_HP_INTEL_EM_1_0: # endif # ifdef CPU_IA64_ARCHREV_0 case CPU_IA64_ARCHREV_0: # endif this->ChipID.Vendor = "GenuineIntel"; this->Features.HasIA64 = true; break; # endif default: return false; } this->FindManufacturer(); return true; # else return false; # endif #else return false; #endif } /** Query the operating system information */ bool SystemInformationImplementation::QueryOSInformation() { #if defined(_WIN32) this->OSName = "Windows"; OSVERSIONINFOEXW osvi; BOOL bIsWindows64Bit; BOOL bOsVersionInfoEx; char operatingSystem[256]; // Try calling GetVersionEx using the OSVERSIONINFOEX structure. ZeroMemory (&osvi, sizeof (OSVERSIONINFOEXW)); osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFOEXW); #ifdef KWSYS_WINDOWS_DEPRECATED_GetVersionEx # pragma warning (push) # ifdef __INTEL_COMPILER # pragma warning (disable:1478) # else # pragma warning (disable:4996) # endif #endif bOsVersionInfoEx = GetVersionExW ((OSVERSIONINFOW*)&osvi); if (!bOsVersionInfoEx) { osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFOW); if (!GetVersionExW((OSVERSIONINFOW*)&osvi)) { return false; } } #ifdef KWSYS_WINDOWS_DEPRECATED_GetVersionEx # pragma warning (pop) #endif switch (osvi.dwPlatformId) { case VER_PLATFORM_WIN32_NT: // Test for the product. if (osvi.dwMajorVersion <= 4) { this->OSRelease = "NT"; } if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0) { this->OSRelease = "2000"; } if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1) { this->OSRelease = "XP"; } // XP Professional x64 if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2) { this->OSRelease = "XP"; } #ifdef VER_NT_WORKSTATION // Test for product type. if (bOsVersionInfoEx) { if (osvi.wProductType == VER_NT_WORKSTATION) { if (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0) { this->OSRelease = "Vista"; } if (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 1) { this->OSRelease = "7"; } // VER_SUITE_PERSONAL may not be defined #ifdef VER_SUITE_PERSONAL else { if (osvi.wSuiteMask & VER_SUITE_PERSONAL) { this->OSRelease += " Personal"; } else { this->OSRelease += " Professional"; } } #endif } else if (osvi.wProductType == VER_NT_SERVER) { // Check for .NET Server instead of Windows XP. if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1) { this->OSRelease = ".NET"; } // Continue with the type detection. if (osvi.wSuiteMask & VER_SUITE_DATACENTER) { this->OSRelease += " DataCenter Server"; } else if (osvi.wSuiteMask & VER_SUITE_ENTERPRISE) { this->OSRelease += " Advanced Server"; } else { this->OSRelease += " Server"; } } sprintf (operatingSystem, "%ls (Build %ld)", osvi.szCSDVersion, osvi.dwBuildNumber & 0xFFFF); this->OSVersion = operatingSystem; } else #endif // VER_NT_WORKSTATION { HKEY hKey; wchar_t szProductType[80]; DWORD dwBufLen; // Query the registry to retrieve information. RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SYSTEM\\CurrentControlSet\\Control\\ProductOptions", 0, KEY_QUERY_VALUE, &hKey); RegQueryValueExW(hKey, L"ProductType", NULL, NULL, (LPBYTE) szProductType, &dwBufLen); RegCloseKey (hKey); if (lstrcmpiW(L"WINNT", szProductType) == 0) { this->OSRelease += " Professional"; } if (lstrcmpiW(L"LANMANNT", szProductType) == 0) { // Decide between Windows 2000 Advanced Server and Windows .NET Enterprise Server. if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1) { this->OSRelease += " Standard Server"; } else { this->OSRelease += " Server"; } } if (lstrcmpiW(L"SERVERNT", szProductType) == 0) { // Decide between Windows 2000 Advanced Server and Windows .NET Enterprise Server. if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1) { this->OSRelease += " Enterprise Server"; } else { this->OSRelease += " Advanced Server"; } } } // Display version, service pack (if any), and build number. if (osvi.dwMajorVersion <= 4) { // NB: NT 4.0 and earlier. sprintf (operatingSystem, "version %ld.%ld %ls (Build %ld)", osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.szCSDVersion, osvi.dwBuildNumber & 0xFFFF); this->OSVersion = operatingSystem; } else if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1) { // Windows XP and .NET server. typedef BOOL (CALLBACK* LPFNPROC) (HANDLE, BOOL *); HINSTANCE hKernelDLL; LPFNPROC DLLProc; // Load the Kernel32 DLL. hKernelDLL = LoadLibraryW(L"kernel32"); if (hKernelDLL != NULL) { // Only XP and .NET Server support IsWOW64Process so... Load dynamically! DLLProc = (LPFNPROC) GetProcAddress (hKernelDLL, "IsWow64Process"); // If the function address is valid, call the function. if (DLLProc != NULL) (DLLProc) (GetCurrentProcess (), &bIsWindows64Bit); else bIsWindows64Bit = false; // Free the DLL module. FreeLibrary (hKernelDLL); } } else { // Windows 2000 and everything else. sprintf (operatingSystem,"%ls (Build %ld)", osvi.szCSDVersion, osvi.dwBuildNumber & 0xFFFF); this->OSVersion = operatingSystem; } break; case VER_PLATFORM_WIN32_WINDOWS: // Test for the product. if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 0) { this->OSRelease = "95"; if(osvi.szCSDVersion[1] == 'C') { this->OSRelease += "OSR 2.5"; } else if(osvi.szCSDVersion[1] == 'B') { this->OSRelease += "OSR 2"; } } if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 10) { this->OSRelease = "98"; if (osvi.szCSDVersion[1] == 'A' ) { this->OSRelease += "SE"; } } if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 90) { this->OSRelease = "Me"; } break; case VER_PLATFORM_WIN32s: this->OSRelease = "Win32s"; break; default: this->OSRelease = "Unknown"; break; } // Get the hostname WORD wVersionRequested; WSADATA wsaData; char name[255]; wVersionRequested = MAKEWORD(2,0); if ( WSAStartup( wVersionRequested, &wsaData ) == 0 ) { gethostname(name,sizeof(name)); WSACleanup( ); } this->Hostname = name; const char* arch = getenv("PROCESSOR_ARCHITECTURE"); if(arch) { this->OSPlatform = arch; } #else struct utsname unameInfo; int errorFlag = uname(&unameInfo); if(errorFlag == 0) { this->OSName = unameInfo.sysname; this->Hostname = unameInfo.nodename; this->OSRelease = unameInfo.release; this->OSVersion = unameInfo.version; this->OSPlatform = unameInfo.machine; } #ifdef __APPLE__ this->OSName="Unknown Apple OS"; this->OSRelease="Unknown product version"; this->OSVersion="Unknown build version"; this->CallSwVers("-productName",this->OSName); this->CallSwVers("-productVersion",this->OSRelease); this->CallSwVers("-buildVersion",this->OSVersion); #endif #endif return true; } int SystemInformationImplementation::CallSwVers( const char *arg, std::string &ver) { #ifdef __APPLE__ std::vector args; args.push_back("sw_vers"); args.push_back(arg); args.push_back(0); ver = this->RunProcess(args); this->TrimNewline(ver); #else // avoid C4100 (void)arg; (void)ver; #endif return 0; } void SystemInformationImplementation::TrimNewline(std::string& output) { // remove \r std::string::size_type pos=0; while((pos = output.find("\r", pos)) != std::string::npos) { output.erase(pos); } // remove \n pos = 0; while((pos = output.find("\n", pos)) != std::string::npos) { output.erase(pos); } } /** Return true if the machine is 64 bits */ bool SystemInformationImplementation::Is64Bits() { return (sizeof(void*) == 8); } } // namespace @KWSYS_NAMESPACE@ KWStyle-master/Utilities/KWSys/SystemInformation.hxx.in000066400000000000000000000117241265471724600235570ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_SystemInformation_h #define @KWSYS_NAMESPACE@_SystemInformation_h #include <@KWSYS_NAMESPACE@/Configure.hxx> #include /* size_t */ #include namespace @KWSYS_NAMESPACE@ { // forward declare the implementation class class SystemInformationImplementation; class @KWSYS_NAMESPACE@_EXPORT SystemInformation { #if @KWSYS_USE_LONG_LONG@ typedef long long LongLong; #elif @KWSYS_USE___INT64@ typedef __int64 LongLong; #else # error "No Long Long" #endif friend class SystemInformationImplementation; SystemInformationImplementation* Implementation; public: SystemInformation (); ~SystemInformation (); const char * GetVendorString(); const char * GetVendorID(); std::string GetTypeID(); std::string GetFamilyID(); std::string GetModelID(); std::string GetModelName(); std::string GetSteppingCode(); const char * GetExtendedProcessorName(); const char * GetProcessorSerialNumber(); int GetProcessorCacheSize(); unsigned int GetLogicalProcessorsPerPhysical(); float GetProcessorClockFrequency(); int GetProcessorAPICID(); int GetProcessorCacheXSize(long int); bool DoesCPUSupportFeature(long int); // returns an informative general description of the cpu // on this system. std::string GetCPUDescription(); const char * GetHostname(); std::string GetFullyQualifiedDomainName(); const char * GetOSName(); const char * GetOSRelease(); const char * GetOSVersion(); const char * GetOSPlatform(); int GetOSIsWindows(); int GetOSIsLinux(); int GetOSIsApple(); // returns an informative general description of the os // on this system. std::string GetOSDescription(); bool Is64Bits(); unsigned int GetNumberOfLogicalCPU(); // per physical cpu unsigned int GetNumberOfPhysicalCPU(); bool DoesCPUSupportCPUID(); // Retrieve id of the current running process LongLong GetProcessId(); // Retrieve memory information in megabyte. size_t GetTotalVirtualMemory(); size_t GetAvailableVirtualMemory(); size_t GetTotalPhysicalMemory(); size_t GetAvailablePhysicalMemory(); // returns an informative general description if the installed and // available ram on this system. See the GetHostMmeoryTotal, and // Get{Host,Proc}MemoryAvailable methods for more information. std::string GetMemoryDescription( const char *hostLimitEnvVarName=NULL, const char *procLimitEnvVarName=NULL); // Retrieve amount of physical memory installed on the system in KiB // units. LongLong GetHostMemoryTotal(); // Get total system RAM in units of KiB available colectivley to all // processes in a process group. An example of a process group // are the processes comprising an mpi program which is running in // parallel. The amount of memory reported may differ from the host // total if a host wide resource limit is applied. Such reource limits // are reported to us via an applicaiton specified environment variable. LongLong GetHostMemoryAvailable(const char *hostLimitEnvVarName=NULL); // Get total system RAM in units of KiB available to this process. // This may differ from the host available if a per-process resource // limit is applied. per-process memory limits are applied on unix // system via rlimit API. Resource limits that are not imposed via // rlimit API may be reported to us via an application specified // environment variable. LongLong GetProcMemoryAvailable( const char *hostLimitEnvVarName=NULL, const char *procLimitEnvVarName=NULL); // Get the system RAM used by all processes on the host, in units of KiB. LongLong GetHostMemoryUsed(); // Get system RAM used by this process id in units of KiB. LongLong GetProcMemoryUsed(); // Return the load average of the machine or -0.0 if it cannot // be determined. double GetLoadAverage(); // enable/disable stack trace signal handler. In order to // produce an informative stack trace the application should // be dynamically linked and compiled with debug symbols. static void SetStackTraceOnError(int enable); // format and return the current program stack in a string. In // order to produce an informative stack trace the application // should be dynamically linked and compiled with debug symbols. static std::string GetProgramStack(int firstFrame, int wholePath); /** Run the different checks */ void RunCPUCheck(); void RunOSCheck(); void RunMemoryCheck(); }; } // namespace @KWSYS_NAMESPACE@ #endif KWStyle-master/Utilities/KWSys/SystemTools.cxx000066400000000000000000004124051265471724600217610ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifdef __osf__ # define _OSF_SOURCE # define _POSIX_C_SOURCE 199506L # define _XOPEN_SOURCE_EXTENDED #endif #if defined(_WIN32) && (defined(_MSC_VER) || defined(__WATCOMC__) || defined(__BORLANDC__) || defined(__MINGW32__)) # define KWSYS_WINDOWS_DIRS #else # if defined(__SUNPRO_CC) # include # endif #endif #include "kwsysPrivate.h" #include KWSYS_HEADER(RegularExpression.hxx) #include KWSYS_HEADER(SystemTools.hxx) #include KWSYS_HEADER(Directory.hxx) #include KWSYS_HEADER(FStream.hxx) #include KWSYS_HEADER(Encoding.hxx) #include #include #include #include // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "SystemTools.hxx.in" # include "Directory.hxx.in" # include "FStream.hxx.in" # include "Encoding.hxx.in" #endif #ifdef _MSC_VER # pragma warning (disable: 4786) #endif #if defined(__sgi) && !defined(__GNUC__) # pragma set woff 1375 /* base class destructor not virtual */ #endif #include #include #ifdef __QNX__ # include /* for malloc/free on QNX */ #endif #include #include #include #include #include #ifdef _MSC_VER # define umask _umask // Note this is still umask on Borland #endif // support for realpath call #ifndef _WIN32 #include #include #include #include #include #include #include #ifndef __VMS #include #include #endif #include /* sigprocmask */ #endif // Windows API. #if defined(_WIN32) # include # ifndef INVALID_FILE_ATTRIBUTES # define INVALID_FILE_ATTRIBUTES ((DWORD)-1) # endif # if defined(_MSC_VER) && _MSC_VER >= 1800 # define KWSYS_WINDOWS_DEPRECATED_GetVersionEx # endif #elif defined (__CYGWIN__) # include # undef _WIN32 #endif #if !KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H extern char **environ; #endif #ifdef __CYGWIN__ # include #endif // getpwnam doesn't exist on Windows and Cray Xt3/Catamount // same for TIOCGWINSZ #if defined(_WIN32) || defined (__LIBCATAMOUNT__) # undef HAVE_GETPWNAM # undef HAVE_TTY_INFO #else # define HAVE_GETPWNAM 1 # define HAVE_TTY_INFO 1 #endif #define VTK_URL_PROTOCOL_REGEX "([a-zA-Z0-9]*)://(.*)" #define VTK_URL_REGEX "([a-zA-Z0-9]*)://(([A-Za-z0-9]+)(:([^:@]+))?@)?([^:@/]+)(:([0-9]+))?/(.+)?" #ifdef _MSC_VER #include #else #include #endif // This is a hack to prevent warnings about these functions being // declared but not referenced. #if defined(__sgi) && !defined(__GNUC__) # include namespace KWSYS_NAMESPACE { class SystemToolsHack { public: enum { Ref1 = sizeof(cfgetospeed(0)), Ref2 = sizeof(cfgetispeed(0)), Ref3 = sizeof(tcgetattr(0, 0)), Ref4 = sizeof(tcsetattr(0, 0, 0)), Ref5 = sizeof(cfsetospeed(0,0)), Ref6 = sizeof(cfsetispeed(0,0)) }; }; } #endif #if defined(_WIN32) && (defined(_MSC_VER) || defined(__WATCOMC__) ||defined(__BORLANDC__) || defined(__MINGW32__)) #include #include #define _unlink unlink #endif /* The maximum length of a file name. */ #if defined(PATH_MAX) # define KWSYS_SYSTEMTOOLS_MAXPATH PATH_MAX #elif defined(MAXPATHLEN) # define KWSYS_SYSTEMTOOLS_MAXPATH MAXPATHLEN #else # define KWSYS_SYSTEMTOOLS_MAXPATH 16384 #endif #if defined(__WATCOMC__) #include #define _mkdir mkdir #define _rmdir rmdir #define _getcwd getcwd #define _chdir chdir #endif #if defined(__BEOS__) && !defined(__ZETA__) #include #include // BeOS 5 doesn't have usleep(), but it has snooze(), which is identical. static inline void usleep(unsigned int msec) { ::snooze(msec); } // BeOS 5 also doesn't have realpath(), but its C++ API offers something close. static inline char *realpath(const char *path, char *resolved_path) { const size_t maxlen = KWSYS_SYSTEMTOOLS_MAXPATH; snprintf(resolved_path, maxlen, "%s", path); BPath normalized(resolved_path, NULL, true); const char *resolved = normalized.Path(); if (resolved != NULL) // NULL == No such file. { if (snprintf(resolved_path, maxlen, "%s", resolved) < maxlen) { return resolved_path; } } return NULL; // something went wrong. } #endif #ifdef _WIN32 static time_t windows_filetime_to_posix_time(const FILETIME& ft) { LARGE_INTEGER date; date.HighPart = ft.dwHighDateTime; date.LowPart = ft.dwLowDateTime; // removes the diff between 1970 and 1601 date.QuadPart -= ((LONGLONG)(369 * 365 + 89) * 24 * 3600 * 10000000); // converts back from 100-nanoseconds to seconds return date.QuadPart / 10000000; } #endif #ifdef KWSYS_WINDOWS_DIRS #include inline int Mkdir(const std::string& dir) { return _wmkdir( KWSYS_NAMESPACE::SystemTools::ConvertToWindowsExtendedPath(dir).c_str()); } inline int Rmdir(const std::string& dir) { return _wrmdir( KWSYS_NAMESPACE::SystemTools::ConvertToWindowsExtendedPath(dir).c_str()); } inline const char* Getcwd(char* buf, unsigned int len) { std::vector w_buf(len); if(_wgetcwd(&w_buf[0], len)) { // make sure the drive letter is capital if(wcslen(&w_buf[0]) > 1 && w_buf[1] == L':') { w_buf[0] = towupper(w_buf[0]); } std::string tmp = KWSYS_NAMESPACE::Encoding::ToNarrow(&w_buf[0]); strcpy(buf, tmp.c_str()); return buf; } return 0; } inline int Chdir(const std::string& dir) { #if defined(__BORLANDC__) return chdir(dir.c_str()); #else return _wchdir(KWSYS_NAMESPACE::Encoding::ToWide(dir).c_str()); #endif } inline void Realpath(const std::string& path, std::string& resolved_path, std::string* errorMessage = 0) { std::wstring tmp = KWSYS_NAMESPACE::Encoding::ToWide(path); wchar_t *ptemp; wchar_t fullpath[MAX_PATH]; DWORD bufferLen = GetFullPathNameW(tmp.c_str(), sizeof(fullpath) / sizeof(fullpath[0]), fullpath, &ptemp); if( bufferLen < sizeof(fullpath)/sizeof(fullpath[0]) ) { resolved_path = KWSYS_NAMESPACE::Encoding::ToNarrow(fullpath); KWSYS_NAMESPACE::SystemTools::ConvertToUnixSlashes(resolved_path); } else if(errorMessage) { if(bufferLen) { *errorMessage = "Destination path buffer size too small."; } else if(unsigned int errorId = GetLastError()) { LPSTR message = NULL; DWORD size = FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, errorId, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&message, 0, NULL); *errorMessage = std::string(message, size); LocalFree(message); } else { *errorMessage = "Unknown error."; } resolved_path = ""; } else { resolved_path = path; } } #else #include #include #include inline int Mkdir(const std::string& dir) { return mkdir(dir.c_str(), 00777); } inline int Rmdir(const std::string& dir) { return rmdir(dir.c_str()); } inline const char* Getcwd(char* buf, unsigned int len) { return getcwd(buf, len); } inline int Chdir(const std::string& dir) { return chdir(dir.c_str()); } inline void Realpath(const std::string& path, std::string& resolved_path, std::string* errorMessage = 0) { char resolved_name[KWSYS_SYSTEMTOOLS_MAXPATH]; errno = 0; char *ret = realpath(path.c_str(), resolved_name); if(ret) { resolved_path = ret; } else if(errorMessage) { if(errno) { *errorMessage = strerror(errno); } else { *errorMessage = "Unknown error."; } resolved_path = ""; } else { // if path resolution fails, return what was passed in resolved_path = path; } } #endif #if !defined(_WIN32) && defined(__COMO__) // Hack for como strict mode to avoid defining _SVID_SOURCE or _BSD_SOURCE. extern "C" { extern FILE *popen (__const char *__command, __const char *__modes) __THROW; extern int pclose (FILE *__stream) __THROW; extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) __THROW; extern char *strdup (__const char *__s) __THROW; extern int putenv (char *__string) __THROW; } #endif namespace KWSYS_NAMESPACE { double SystemTools::GetTime(void) { #if defined(_WIN32) && !defined(__CYGWIN__) FILETIME ft; GetSystemTimeAsFileTime(&ft); return (429.4967296*ft.dwHighDateTime + 0.0000001*ft.dwLowDateTime - 11644473600.0); #else struct timeval t; gettimeofday(&t, 0); return 1.0*double(t.tv_sec) + 0.000001*double(t.tv_usec); #endif } class SystemToolsTranslationMap : public std::map { }; #ifdef _WIN32 struct SystemToolsPathCaseCmp { bool operator()(std::string const& l, std::string const& r) const { # ifdef _MSC_VER return _stricmp(l.c_str(), r.c_str()) < 0; # elif defined(__GNUC__) return strcasecmp(l.c_str(), r.c_str()) < 0; # else return SystemTools::Strucmp(l.c_str(), r.c_str()) < 0; # endif } }; class SystemToolsPathCaseMap: public std::map {}; #endif // adds the elements of the env variable path to the arg passed in void SystemTools::GetPath(std::vector& path, const char* env) { #if defined(_WIN32) && !defined(__CYGWIN__) const char pathSep = ';'; #else const char pathSep = ':'; #endif if(!env) { env = "PATH"; } const char* cpathEnv = SystemTools::GetEnv(env); if ( !cpathEnv ) { return; } std::string pathEnv = cpathEnv; // A hack to make the below algorithm work. if(!pathEnv.empty() && *pathEnv.rbegin() != pathSep) { pathEnv += pathSep; } std::string::size_type start =0; bool done = false; while(!done) { std::string::size_type endpos = pathEnv.find(pathSep, start); if(endpos != std::string::npos) { path.push_back(pathEnv.substr(start, endpos-start)); start = endpos+1; } else { done = true; } } for(std::vector::iterator i = path.begin(); i != path.end(); ++i) { SystemTools::ConvertToUnixSlashes(*i); } } const char* SystemTools::GetEnv(const char* key) { return getenv(key); } const char* SystemTools::GetEnv(const std::string& key) { return SystemTools::GetEnv(key.c_str()); } bool SystemTools::GetEnv(const char* key, std::string& result) { const char* v = getenv(key); if(v) { result = v; return true; } else { return false; } } bool SystemTools::GetEnv(const std::string& key, std::string& result) { return SystemTools::GetEnv(key.c_str(), result); } //---------------------------------------------------------------------------- #if defined(__CYGWIN__) || defined(__GLIBC__) # define KWSYS_PUTENV_NAME /* putenv("A") removes A. */ #elif defined(_WIN32) # define KWSYS_PUTENV_EMPTY /* putenv("A=") removes A. */ #endif #if KWSYS_CXX_HAS_UNSETENV /* unsetenv("A") removes A from the environment. On older platforms it returns void instead of int. */ static int kwsysUnPutEnv(const std::string& env) { size_t pos = env.find('='); if(pos != env.npos) { std::string name = env.substr(0, pos); unsetenv(name.c_str()); } else { unsetenv(env.c_str()); } return 0; } #elif defined(KWSYS_PUTENV_EMPTY) || defined(KWSYS_PUTENV_NAME) /* putenv("A=") or putenv("A") removes A from the environment. */ static int kwsysUnPutEnv(const std::string& env) { int err = 0; size_t pos = env.find('='); size_t const len = pos == env.npos ? env.size() : pos; # ifdef KWSYS_PUTENV_EMPTY size_t const sz = len + 2; # else size_t const sz = len + 1; # endif char local_buf[256]; char* buf = sz > sizeof(local_buf) ? (char*)malloc(sz) : local_buf; if(!buf) { return -1; } strncpy(buf, env.c_str(), len); # ifdef KWSYS_PUTENV_EMPTY buf[len] = '='; buf[len+1] = 0; if(putenv(buf) < 0) { err = errno; } # else buf[len] = 0; if(putenv(buf) < 0 && errno != EINVAL) { err = errno; } # endif if(buf != local_buf) { free(buf); } if(err) { errno = err; return -1; } return 0; } #else /* Manipulate the "environ" global directly. */ static int kwsysUnPutEnv(const std::string& env) { size_t pos = env.find('='); size_t const len = pos == env.npos ? env.size() : pos; int in = 0; int out = 0; while(environ[in]) { if(strlen(environ[in]) > len && environ[in][len] == '=' && strncmp(env.c_str(), environ[in], len) == 0) { ++in; } else { environ[out++] = environ[in++]; } } while(out < in) { environ[out++] = 0; } return 0; } #endif //---------------------------------------------------------------------------- #if KWSYS_CXX_HAS_SETENV /* setenv("A", "B", 1) will set A=B in the environment and makes its own copies of the strings. */ bool SystemTools::PutEnv(const std::string& env) { size_t pos = env.find('='); if(pos != env.npos) { std::string name = env.substr(0, pos); return setenv(name.c_str(), env.c_str() + pos + 1, 1) == 0; } else { return kwsysUnPutEnv(env) == 0; } } bool SystemTools::UnPutEnv(const std::string& env) { return kwsysUnPutEnv(env) == 0; } #else /* putenv("A=B") will set A=B in the environment. Most putenv implementations put their argument directly in the environment. They never free the memory on program exit. Keep an active set of pointers to memory we allocate and pass to putenv, one per environment key. At program exit remove any environment values that may still reference memory we allocated. Then free the memory. This will not affect any environment values we never set. */ # ifdef __INTEL_COMPILER # pragma warning disable 444 /* base has non-virtual destructor */ # endif /* Order by environment key only (VAR from VAR=VALUE). */ struct kwsysEnvCompare { bool operator() (const char* l, const char* r) const { const char* leq = strchr(l, '='); const char* req = strchr(r, '='); size_t llen = leq? (leq-l) : strlen(l); size_t rlen = req? (req-r) : strlen(r); if(llen == rlen) { return strncmp(l,r,llen) < 0; } else { return strcmp(l,r) < 0; } } }; class kwsysEnv: public std::set { class Free { const char* Env; public: Free(const char* env): Env(env) {} ~Free() { free(const_cast(this->Env)); } }; public: typedef std::set derived; ~kwsysEnv() { for(derived::iterator i = this->begin(); i != this->end(); ++i) { kwsysUnPutEnv(*i); free(const_cast(*i)); } } const char* Release(const char* env) { const char* old = 0; derived::iterator i = this->find(env); if(i != this->end()) { old = *i; this->erase(i); } return old; } bool Put(const char* env) { Free oldEnv(this->Release(env)); static_cast(oldEnv); char* newEnv = strdup(env); this->insert(newEnv); return putenv(newEnv) == 0; } bool UnPut(const char* env) { Free oldEnv(this->Release(env)); static_cast(oldEnv); return kwsysUnPutEnv(env) == 0; } }; static kwsysEnv kwsysEnvInstance; bool SystemTools::PutEnv(const std::string& env) { return kwsysEnvInstance.Put(env.c_str()); } bool SystemTools::UnPutEnv(const std::string& env) { return kwsysEnvInstance.UnPut(env.c_str()); } #endif //---------------------------------------------------------------------------- const char* SystemTools::GetExecutableExtension() { #if defined(_WIN32) || defined(__CYGWIN__) || defined(__VMS) return ".exe"; #else return ""; #endif } FILE* SystemTools::Fopen(const std::string& file, const char* mode) { #ifdef _WIN32 return _wfopen(SystemTools::ConvertToWindowsExtendedPath(file).c_str(), Encoding::ToWide(mode).c_str()); #else return fopen(file.c_str(), mode); #endif } bool SystemTools::MakeDirectory(const char* path) { if(!path) { return false; } return SystemTools::MakeDirectory(std::string(path)); } bool SystemTools::MakeDirectory(const std::string& path) { if(SystemTools::FileExists(path)) { return SystemTools::FileIsDirectory(path); } if(path.empty()) { return false; } std::string dir = path; SystemTools::ConvertToUnixSlashes(dir); std::string::size_type pos = 0; std::string topdir; while((pos = dir.find('/', pos)) != std::string::npos) { topdir = dir.substr(0, pos); Mkdir(topdir); pos++; } topdir = dir; if(Mkdir(topdir) != 0) { // There is a bug in the Borland Run time library which makes MKDIR // return EACCES when it should return EEXISTS // if it is some other error besides directory exists // then return false if( (errno != EEXIST) #ifdef __BORLANDC__ && (errno != EACCES) #endif ) { return false; } } return true; } // replace replace with with as many times as it shows up in source. // write the result into source. void SystemTools::ReplaceString(std::string& source, const std::string& replace, const std::string& with) { // do while hangs if replaceSize is 0 if (replace.empty()) { return; } SystemTools::ReplaceString(source, replace.c_str(), replace.size(), with); } void SystemTools::ReplaceString(std::string& source, const char* replace, const char* with) { // do while hangs if replaceSize is 0 if (!*replace) { return; } SystemTools::ReplaceString(source, replace, strlen(replace), with ? with : ""); } void SystemTools::ReplaceString(std::string& source, const char* replace, size_t replaceSize, const std::string& with) { const char *src = source.c_str(); char *searchPos = const_cast(strstr(src,replace)); // get out quick if string is not found if (!searchPos) { return; } // perform replacements until done char *orig = strdup(src); char *currentPos = orig; searchPos = searchPos - src + orig; // initialize the result source.erase(source.begin(),source.end()); do { *searchPos = '\0'; source += currentPos; currentPos = searchPos + replaceSize; // replace source += with; searchPos = strstr(currentPos,replace); } while (searchPos); // copy any trailing text source += currentPos; free(orig); } #if defined(KEY_WOW64_32KEY) && defined(KEY_WOW64_64KEY) # define KWSYS_ST_KEY_WOW64_32KEY KEY_WOW64_32KEY # define KWSYS_ST_KEY_WOW64_64KEY KEY_WOW64_64KEY #else # define KWSYS_ST_KEY_WOW64_32KEY 0x0200 # define KWSYS_ST_KEY_WOW64_64KEY 0x0100 #endif #if defined(_WIN32) && !defined(__CYGWIN__) static bool SystemToolsParseRegistryKey(const std::string& key, HKEY& primaryKey, std::string& second, std::string& valuename) { std::string primary = key; size_t start = primary.find('\\'); if (start == std::string::npos) { return false; } size_t valuenamepos = primary.find(';'); if (valuenamepos != std::string::npos) { valuename = primary.substr(valuenamepos+1); } second = primary.substr(start+1, valuenamepos-start-1); primary = primary.substr(0, start); if (primary == "HKEY_CURRENT_USER") { primaryKey = HKEY_CURRENT_USER; } if (primary == "HKEY_CURRENT_CONFIG") { primaryKey = HKEY_CURRENT_CONFIG; } if (primary == "HKEY_CLASSES_ROOT") { primaryKey = HKEY_CLASSES_ROOT; } if (primary == "HKEY_LOCAL_MACHINE") { primaryKey = HKEY_LOCAL_MACHINE; } if (primary == "HKEY_USERS") { primaryKey = HKEY_USERS; } return true; } static DWORD SystemToolsMakeRegistryMode(DWORD mode, SystemTools::KeyWOW64 view) { // only add the modes when on a system that supports Wow64. static FARPROC wow64p = GetProcAddress(GetModuleHandleW(L"kernel32"), "IsWow64Process"); if(wow64p == NULL) { return mode; } if(view == SystemTools::KeyWOW64_32) { return mode | KWSYS_ST_KEY_WOW64_32KEY; } else if(view == SystemTools::KeyWOW64_64) { return mode | KWSYS_ST_KEY_WOW64_64KEY; } return mode; } #endif #if defined(_WIN32) && !defined(__CYGWIN__) bool SystemTools::GetRegistrySubKeys(const std::string& key, std::vector& subkeys, KeyWOW64 view) { HKEY primaryKey = HKEY_CURRENT_USER; std::string second; std::string valuename; if (!SystemToolsParseRegistryKey(key, primaryKey, second, valuename)) { return false; } HKEY hKey; if(RegOpenKeyExW(primaryKey, Encoding::ToWide(second).c_str(), 0, SystemToolsMakeRegistryMode(KEY_READ, view), &hKey) != ERROR_SUCCESS) { return false; } else { wchar_t name[1024]; DWORD dwNameSize = sizeof(name)/sizeof(name[0]); DWORD i = 0; while (RegEnumKeyW(hKey, i, name, dwNameSize) == ERROR_SUCCESS) { subkeys.push_back(Encoding::ToNarrow(name)); ++i; } RegCloseKey(hKey); } return true; } #else bool SystemTools::GetRegistrySubKeys(const std::string&, std::vector&, KeyWOW64) { return false; } #endif // Read a registry value. // Example : // HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.1\InstallPath // => will return the data of the "default" value of the key // HKEY_LOCAL_MACHINE\SOFTWARE\Scriptics\Tcl\8.4;Root // => will return the data of the "Root" value of the key #if defined(_WIN32) && !defined(__CYGWIN__) bool SystemTools::ReadRegistryValue(const std::string& key, std::string &value, KeyWOW64 view) { bool valueset = false; HKEY primaryKey = HKEY_CURRENT_USER; std::string second; std::string valuename; if (!SystemToolsParseRegistryKey(key, primaryKey, second, valuename)) { return false; } HKEY hKey; if(RegOpenKeyExW(primaryKey, Encoding::ToWide(second).c_str(), 0, SystemToolsMakeRegistryMode(KEY_READ, view), &hKey) != ERROR_SUCCESS) { return false; } else { DWORD dwType, dwSize; dwSize = 1023; wchar_t data[1024]; if(RegQueryValueExW(hKey, Encoding::ToWide(valuename).c_str(), NULL, &dwType, (BYTE *)data, &dwSize) == ERROR_SUCCESS) { if (dwType == REG_SZ) { value = Encoding::ToNarrow(data); valueset = true; } else if (dwType == REG_EXPAND_SZ) { wchar_t expanded[1024]; DWORD dwExpandedSize = sizeof(expanded)/sizeof(expanded[0]); if(ExpandEnvironmentStringsW(data, expanded, dwExpandedSize)) { value = Encoding::ToNarrow(expanded); valueset = true; } } } RegCloseKey(hKey); } return valueset; } #else bool SystemTools::ReadRegistryValue(const std::string&, std::string &, KeyWOW64) { return false; } #endif // Write a registry value. // Example : // HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.1\InstallPath // => will set the data of the "default" value of the key // HKEY_LOCAL_MACHINE\SOFTWARE\Scriptics\Tcl\8.4;Root // => will set the data of the "Root" value of the key #if defined(_WIN32) && !defined(__CYGWIN__) bool SystemTools::WriteRegistryValue(const std::string& key, const std::string& value, KeyWOW64 view) { HKEY primaryKey = HKEY_CURRENT_USER; std::string second; std::string valuename; if (!SystemToolsParseRegistryKey(key, primaryKey, second, valuename)) { return false; } HKEY hKey; DWORD dwDummy; wchar_t lpClass[] = L""; if(RegCreateKeyExW(primaryKey, Encoding::ToWide(second).c_str(), 0, lpClass, REG_OPTION_NON_VOLATILE, SystemToolsMakeRegistryMode(KEY_WRITE, view), NULL, &hKey, &dwDummy) != ERROR_SUCCESS) { return false; } std::wstring wvalue = Encoding::ToWide(value); if(RegSetValueExW(hKey, Encoding::ToWide(valuename).c_str(), 0, REG_SZ, (CONST BYTE *)wvalue.c_str(), (DWORD)(sizeof(wchar_t) * (wvalue.size() + 1))) == ERROR_SUCCESS) { return true; } return false; } #else bool SystemTools::WriteRegistryValue(const std::string&, const std::string&, KeyWOW64) { return false; } #endif // Delete a registry value. // Example : // HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.1\InstallPath // => will delete the data of the "default" value of the key // HKEY_LOCAL_MACHINE\SOFTWARE\Scriptics\Tcl\8.4;Root // => will delete the data of the "Root" value of the key #if defined(_WIN32) && !defined(__CYGWIN__) bool SystemTools::DeleteRegistryValue(const std::string& key, KeyWOW64 view) { HKEY primaryKey = HKEY_CURRENT_USER; std::string second; std::string valuename; if (!SystemToolsParseRegistryKey(key, primaryKey, second, valuename)) { return false; } HKEY hKey; if(RegOpenKeyExW(primaryKey, Encoding::ToWide(second).c_str(), 0, SystemToolsMakeRegistryMode(KEY_WRITE, view), &hKey) != ERROR_SUCCESS) { return false; } else { if(RegDeleteValue(hKey, (LPTSTR)valuename.c_str()) == ERROR_SUCCESS) { RegCloseKey(hKey); return true; } } return false; } #else bool SystemTools::DeleteRegistryValue(const std::string&, KeyWOW64) { return false; } #endif bool SystemTools::SameFile(const std::string& file1, const std::string& file2) { #ifdef _WIN32 HANDLE hFile1, hFile2; hFile1 = CreateFileW( Encoding::ToWide(file1).c_str(), GENERIC_READ, FILE_SHARE_READ , NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL ); hFile2 = CreateFileW( Encoding::ToWide(file2).c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL ); if( hFile1 == INVALID_HANDLE_VALUE || hFile2 == INVALID_HANDLE_VALUE) { if(hFile1 != INVALID_HANDLE_VALUE) { CloseHandle(hFile1); } if(hFile2 != INVALID_HANDLE_VALUE) { CloseHandle(hFile2); } return false; } BY_HANDLE_FILE_INFORMATION fiBuf1; BY_HANDLE_FILE_INFORMATION fiBuf2; GetFileInformationByHandle( hFile1, &fiBuf1 ); GetFileInformationByHandle( hFile2, &fiBuf2 ); CloseHandle(hFile1); CloseHandle(hFile2); return (fiBuf1.dwVolumeSerialNumber == fiBuf2.dwVolumeSerialNumber && fiBuf1.nFileIndexHigh == fiBuf2.nFileIndexHigh && fiBuf1.nFileIndexLow == fiBuf2.nFileIndexLow); #else struct stat fileStat1, fileStat2; if (stat(file1.c_str(), &fileStat1) == 0 && stat(file2.c_str(), &fileStat2) == 0) { // see if the files are the same file // check the device inode and size if(memcmp(&fileStat2.st_dev, &fileStat1.st_dev, sizeof(fileStat1.st_dev)) == 0 && memcmp(&fileStat2.st_ino, &fileStat1.st_ino, sizeof(fileStat1.st_ino)) == 0 && fileStat2.st_size == fileStat1.st_size ) { return true; } } return false; #endif } //---------------------------------------------------------------------------- bool SystemTools::FileExists(const char* filename) { if(!filename) { return false; } return SystemTools::FileExists(std::string(filename)); } //---------------------------------------------------------------------------- bool SystemTools::FileExists(const std::string& filename) { if(filename.empty()) { return false; } #if defined(__CYGWIN__) // Convert filename to native windows path if possible. char winpath[MAX_PATH]; if(SystemTools::PathCygwinToWin32(filename.c_str(), winpath)) { return (GetFileAttributesA(winpath) != INVALID_FILE_ATTRIBUTES); } return access(filename.c_str(), R_OK) == 0; #elif defined(_WIN32) return (GetFileAttributesW( SystemTools::ConvertToWindowsExtendedPath(filename).c_str()) != INVALID_FILE_ATTRIBUTES); #else return access(filename.c_str(), R_OK) == 0; #endif } //---------------------------------------------------------------------------- bool SystemTools::FileExists(const char* filename, bool isFile) { if(!filename) { return false; } return SystemTools::FileExists(std::string(filename), isFile); } //---------------------------------------------------------------------------- bool SystemTools::FileExists(const std::string& filename, bool isFile) { if(SystemTools::FileExists(filename)) { // If isFile is set return not FileIsDirectory, // so this will only be true if it is a file return !isFile || !SystemTools::FileIsDirectory(filename); } return false; } //---------------------------------------------------------------------------- bool SystemTools::TestFileAccess(const char* filename, TestFilePermissions permissions) { if(!filename) { return false; } return SystemTools::TestFileAccess(std::string(filename), permissions); } //---------------------------------------------------------------------------- bool SystemTools::TestFileAccess(const std::string& filename, TestFilePermissions permissions) { if(filename.empty()) { return false; } #if defined(_WIN32) && !defined(__CYGWIN__) // If execute set, change to read permission (all files on Windows // are executable if they are readable). The CRT will always fail // if you pass an execute bit. if(permissions & TEST_FILE_EXECUTE) { permissions &= ~TEST_FILE_EXECUTE; permissions |= TEST_FILE_READ; } return _waccess( SystemTools::ConvertToWindowsExtendedPath(filename).c_str(), permissions) == 0; #else return access(filename.c_str(), permissions) == 0; #endif } //---------------------------------------------------------------------------- #ifdef __CYGWIN__ bool SystemTools::PathCygwinToWin32(const char *path, char *win32_path) { SystemToolsTranslationMap::iterator i = SystemTools::Cyg2Win32Map->find(path); if (i != SystemTools::Cyg2Win32Map->end()) { strncpy(win32_path, i->second.c_str(), MAX_PATH); } else { if(cygwin_conv_path(CCP_POSIX_TO_WIN_A, path, win32_path, MAX_PATH) != 0) { win32_path[0] = 0; } SystemToolsTranslationMap::value_type entry(path, win32_path); SystemTools::Cyg2Win32Map->insert(entry); } return win32_path[0] != 0; } #endif bool SystemTools::Touch(const std::string& filename, bool create) { if (!SystemTools::FileExists(filename)) { if(create) { FILE* file = Fopen(filename, "a+b"); if(file) { fclose(file); return true; } return false; } else { return true; } } #if defined(_WIN32) && !defined(__CYGWIN__) HANDLE h = CreateFileW( SystemTools::ConvertToWindowsExtendedPath(filename).c_str(), FILE_WRITE_ATTRIBUTES, FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0); if(!h) { return false; } FILETIME mtime; GetSystemTimeAsFileTime(&mtime); if(!SetFileTime(h, 0, 0, &mtime)) { CloseHandle(h); return false; } CloseHandle(h); #elif KWSYS_CXX_HAS_UTIMENSAT struct timespec times[2] = {{0,UTIME_OMIT},{0,UTIME_NOW}}; if(utimensat(AT_FDCWD, filename.c_str(), times, 0) < 0) { return false; } #else struct stat st; if(stat(filename.c_str(), &st) < 0) { return false; } struct timeval mtime; gettimeofday(&mtime, 0); # if KWSYS_CXX_HAS_UTIMES struct timeval times[2] = { # if KWSYS_STAT_HAS_ST_MTIM {st.st_atim.tv_sec, st.st_atim.tv_nsec/1000}, /* tv_sec, tv_usec */ # else {st.st_atime, 0}, # endif mtime }; if(utimes(filename.c_str(), times) < 0) { return false; } # else struct utimbuf times = {st.st_atime, mtime.tv_sec}; if(utime(filename.c_str(), ×) < 0) { return false; } # endif #endif return true; } bool SystemTools::FileTimeCompare(const std::string& f1, const std::string& f2, int* result) { // Default to same time. *result = 0; #if !defined(_WIN32) || defined(__CYGWIN__) // POSIX version. Use stat function to get file modification time. struct stat s1; if(stat(f1.c_str(), &s1) != 0) { return false; } struct stat s2; if(stat(f2.c_str(), &s2) != 0) { return false; } # if KWSYS_STAT_HAS_ST_MTIM // Compare using nanosecond resolution. if(s1.st_mtim.tv_sec < s2.st_mtim.tv_sec) { *result = -1; } else if(s1.st_mtim.tv_sec > s2.st_mtim.tv_sec) { *result = 1; } else if(s1.st_mtim.tv_nsec < s2.st_mtim.tv_nsec) { *result = -1; } else if(s1.st_mtim.tv_nsec > s2.st_mtim.tv_nsec) { *result = 1; } # else // Compare using 1 second resolution. if(s1.st_mtime < s2.st_mtime) { *result = -1; } else if(s1.st_mtime > s2.st_mtime) { *result = 1; } # endif #else // Windows version. Get the modification time from extended file attributes. WIN32_FILE_ATTRIBUTE_DATA f1d; WIN32_FILE_ATTRIBUTE_DATA f2d; if(!GetFileAttributesExW( SystemTools::ConvertToWindowsExtendedPath(f1).c_str(), GetFileExInfoStandard, &f1d)) { return false; } if(!GetFileAttributesExW( SystemTools::ConvertToWindowsExtendedPath(f2).c_str(), GetFileExInfoStandard, &f2d)) { return false; } // Compare the file times using resolution provided by system call. *result = (int)CompareFileTime(&f1d.ftLastWriteTime, &f2d.ftLastWriteTime); #endif return true; } // Return a capitalized string (i.e the first letter is uppercased, all other // are lowercased) std::string SystemTools::Capitalized(const std::string& s) { std::string n; if(s.empty()) { return n; } n.resize(s.size()); n[0] = static_cast(toupper(s[0])); for (size_t i = 1; i < s.size(); i++) { n[i] = static_cast(tolower(s[i])); } return n; } // Return capitalized words std::string SystemTools::CapitalizedWords(const std::string& s) { std::string n(s); for (size_t i = 0; i < s.size(); i++) { #if defined(_MSC_VER) && defined (_MT) && defined (_DEBUG) // MS has an assert that will fail if s[i] < 0; setting // LC_CTYPE using setlocale() does *not* help. Painful. if ((int)s[i] >= 0 && isalpha(s[i]) && (i == 0 || ((int)s[i - 1] >= 0 && isspace(s[i - 1])))) #else if (isalpha(s[i]) && (i == 0 || isspace(s[i - 1]))) #endif { n[i] = static_cast(toupper(s[i])); } } return n; } // Return uncapitalized words std::string SystemTools::UnCapitalizedWords(const std::string& s) { std::string n(s); for (size_t i = 0; i < s.size(); i++) { #if defined(_MSC_VER) && defined (_MT) && defined (_DEBUG) // MS has an assert that will fail if s[i] < 0; setting // LC_CTYPE using setlocale() does *not* help. Painful. if ((int)s[i] >= 0 && isalpha(s[i]) && (i == 0 || ((int)s[i - 1] >= 0 && isspace(s[i - 1])))) #else if (isalpha(s[i]) && (i == 0 || isspace(s[i - 1]))) #endif { n[i] = static_cast(tolower(s[i])); } } return n; } // only works for words with at least two letters std::string SystemTools::AddSpaceBetweenCapitalizedWords( const std::string& s) { std::string n; if (!s.empty()) { n.reserve(s.size()); n += s[0]; for (size_t i = 1; i < s.size(); i++) { if (isupper(s[i]) && !isspace(s[i - 1]) && !isupper(s[i - 1])) { n += ' '; } n += s[i]; } } return n; } char* SystemTools::AppendStrings(const char* str1, const char* str2) { if (!str1) { return SystemTools::DuplicateString(str2); } if (!str2) { return SystemTools::DuplicateString(str1); } size_t len1 = strlen(str1); char *newstr = new char[len1 + strlen(str2) + 1]; if (!newstr) { return 0; } strcpy(newstr, str1); strcat(newstr + len1, str2); return newstr; } char* SystemTools::AppendStrings( const char* str1, const char* str2, const char* str3) { if (!str1) { return SystemTools::AppendStrings(str2, str3); } if (!str2) { return SystemTools::AppendStrings(str1, str3); } if (!str3) { return SystemTools::AppendStrings(str1, str2); } size_t len1 = strlen(str1), len2 = strlen(str2); char *newstr = new char[len1 + len2 + strlen(str3) + 1]; if (!newstr) { return 0; } strcpy(newstr, str1); strcat(newstr + len1, str2); strcat(newstr + len1 + len2, str3); return newstr; } // Return a lower case string std::string SystemTools::LowerCase(const std::string& s) { std::string n; n.resize(s.size()); for (size_t i = 0; i < s.size(); i++) { n[i] = static_cast(tolower(s[i])); } return n; } // Return a lower case string std::string SystemTools::UpperCase(const std::string& s) { std::string n; n.resize(s.size()); for (size_t i = 0; i < s.size(); i++) { n[i] = static_cast(toupper(s[i])); } return n; } // Count char in string size_t SystemTools::CountChar(const char* str, char c) { size_t count = 0; if (str) { while (*str) { if (*str == c) { ++count; } ++str; } } return count; } // Remove chars in string char* SystemTools::RemoveChars(const char* str, const char *toremove) { if (!str) { return NULL; } char *clean_str = new char [strlen(str) + 1]; char *ptr = clean_str; while (*str) { const char *str2 = toremove; while (*str2 && *str != *str2) { ++str2; } if (!*str2) { *ptr++ = *str; } ++str; } *ptr = '\0'; return clean_str; } // Remove chars in string char* SystemTools::RemoveCharsButUpperHex(const char* str) { if (!str) { return 0; } char *clean_str = new char [strlen(str) + 1]; char *ptr = clean_str; while (*str) { if ((*str >= '0' && *str <= '9') || (*str >= 'A' && *str <= 'F')) { *ptr++ = *str; } ++str; } *ptr = '\0'; return clean_str; } // Replace chars in string char* SystemTools::ReplaceChars(char* str, const char *toreplace, char replacement) { if (str) { char *ptr = str; while (*ptr) { const char *ptr2 = toreplace; while (*ptr2) { if (*ptr == *ptr2) { *ptr = replacement; } ++ptr2; } ++ptr; } } return str; } // Returns if string starts with another string bool SystemTools::StringStartsWith(const char* str1, const char* str2) { if (!str1 || !str2) { return false; } size_t len1 = strlen(str1), len2 = strlen(str2); return len1 >= len2 && !strncmp(str1, str2, len2) ? true : false; } // Returns if string starts with another string bool SystemTools::StringStartsWith(const std::string& str1, const char* str2) { if (!str2) { return false; } size_t len1 = str1.size(), len2 = strlen(str2); return len1 >= len2 && !strncmp(str1.c_str(), str2, len2) ? true : false; } // Returns if string ends with another string bool SystemTools::StringEndsWith(const char* str1, const char* str2) { if (!str1 || !str2) { return false; } size_t len1 = strlen(str1), len2 = strlen(str2); return len1 >= len2 && !strncmp(str1 + (len1 - len2), str2, len2) ? true : false; } // Returns if string ends with another string bool SystemTools::StringEndsWith(const std::string& str1, const char* str2) { if (!str2) { return false; } size_t len1 = str1.size(), len2 = strlen(str2); return len1 >= len2 && !strncmp(str1.c_str() + (len1 - len2), str2, len2) ? true : false; } // Returns a pointer to the last occurence of str2 in str1 const char* SystemTools::FindLastString(const char* str1, const char* str2) { if (!str1 || !str2) { return NULL; } size_t len1 = strlen(str1), len2 = strlen(str2); if (len1 >= len2) { const char *ptr = str1 + len1 - len2; do { if (!strncmp(ptr, str2, len2)) { return ptr; } } while (ptr-- != str1); } return NULL; } // Duplicate string char* SystemTools::DuplicateString(const char* str) { if (str) { char *newstr = new char [strlen(str) + 1]; return strcpy(newstr, str); } return NULL; } // Return a cropped string std::string SystemTools::CropString(const std::string& s, size_t max_len) { if (!s.size() || max_len == 0 || max_len >= s.size()) { return s; } std::string n; n.reserve(max_len); size_t middle = max_len / 2; n += s.substr(0, middle); n += s.substr(s.size() - (max_len - middle), std::string::npos); if (max_len > 2) { n[middle] = '.'; if (max_len > 3) { n[middle - 1] = '.'; if (max_len > 4) { n[middle + 1] = '.'; } } } return n; } //---------------------------------------------------------------------------- std::vector SystemTools::SplitString(const std::string& p, char sep, bool isPath) { std::string path = p; std::vector paths; if(path.empty()) { return paths; } if(isPath && path[0] == '/') { path.erase(path.begin()); paths.push_back("/"); } std::string::size_type pos1 = 0; std::string::size_type pos2 = path.find(sep, pos1+1); while(pos2 != std::string::npos) { paths.push_back(path.substr(pos1, pos2-pos1)); pos1 = pos2+1; pos2 = path.find(sep, pos1+1); } paths.push_back(path.substr(pos1, pos2-pos1)); return paths; } //---------------------------------------------------------------------------- int SystemTools::EstimateFormatLength(const char *format, va_list ap) { if (!format) { return 0; } // Quick-hack attempt at estimating the length of the string. // Should never under-estimate. // Start with the length of the format string itself. size_t length = strlen(format); // Increase the length for every argument in the format. const char* cur = format; while(*cur) { if(*cur++ == '%') { // Skip "%%" since it doesn't correspond to a va_arg. if(*cur != '%') { while(!int(isalpha(*cur))) { ++cur; } switch (*cur) { case 's': { // Check the length of the string. char* s = va_arg(ap, char*); if(s) { length += strlen(s); } } break; case 'e': case 'f': case 'g': { // Assume the argument contributes no more than 64 characters. length += 64; // Eat the argument. static_cast(va_arg(ap, double)); } break; default: { // Assume the argument contributes no more than 64 characters. length += 64; // Eat the argument. static_cast(va_arg(ap, int)); } break; } } // Move past the characters just tested. ++cur; } } return static_cast(length); } std::string SystemTools::EscapeChars( const char *str, const char *chars_to_escape, char escape_char) { std::string n; if (str) { if (!chars_to_escape || !*chars_to_escape) { n.append(str); } else { n.reserve(strlen(str)); while (*str) { const char *ptr = chars_to_escape; while (*ptr) { if (*str == *ptr) { n += escape_char; break; } ++ptr; } n += *str; ++str; } } } return n; } #ifdef __VMS static void ConvertVMSToUnix(std::string& path) { std::string::size_type rootEnd = path.find(":["); std::string::size_type pathEnd = path.find("]"); if(rootEnd != path.npos) { std::string root = path.substr(0, rootEnd); std::string pathPart = path.substr(rootEnd+2, pathEnd - rootEnd-2); const char* pathCString = pathPart.c_str(); const char* pos0 = pathCString; for (std::string::size_type pos = 0; *pos0; ++ pos ) { if ( *pos0 == '.' ) { pathPart[pos] = '/'; } pos0 ++; } path = "/"+ root + "/" + pathPart; } } #endif // convert windows slashes to unix slashes void SystemTools::ConvertToUnixSlashes(std::string& path) { const char* pathCString = path.c_str(); bool hasDoubleSlash = false; #ifdef __VMS ConvertVMSToUnix(path); #else const char* pos0 = pathCString; const char* pos1 = pathCString+1; for (std::string::size_type pos = 0; *pos0; ++ pos ) { // make sure we don't convert an escaped space to a unix slash if ( *pos0 == '\\' && *pos1 != ' ' ) { path[pos] = '/'; } // Also, reuse the loop to check for slash followed by another slash if (*pos1 == '/' && *(pos1+1) == '/' && !hasDoubleSlash) { #ifdef _WIN32 // However, on windows if the first characters are both slashes, // then keep them that way, so that network paths can be handled. if ( pos > 0) { hasDoubleSlash = true; } #else hasDoubleSlash = true; #endif } pos0 ++; pos1 ++; } if ( hasDoubleSlash ) { SystemTools::ReplaceString(path, "//", "/"); } #endif // remove any trailing slash if(!path.empty()) { // if there is a tilda ~ then replace it with HOME pathCString = path.c_str(); if(pathCString[0] == '~' && (pathCString[1] == '/' || pathCString[1] == '\0')) { const char* homeEnv = SystemTools::GetEnv("HOME"); if (homeEnv) { path.replace(0,1,homeEnv); } } #ifdef HAVE_GETPWNAM else if(pathCString[0] == '~') { std::string::size_type idx = path.find_first_of("/\0"); std::string user = path.substr(1, idx-1); passwd* pw = getpwnam(user.c_str()); if(pw) { path.replace(0, idx, pw->pw_dir); } } #endif // remove trailing slash if the path is more than // a single / pathCString = path.c_str(); size_t size = path.size(); if(size > 1 && *path.rbegin() == '/') { // if it is c:/ then do not remove the trailing slash if(!((size == 3 && pathCString[1] == ':'))) { path.resize(size - 1); } } } } #ifdef _WIN32 // Convert local paths to UNC style paths std::wstring SystemTools::ConvertToWindowsExtendedPath(const std::string &source) { std::wstring wsource = Encoding::ToWide(source); // Resolve any relative paths DWORD wfull_len; /* The +3 is a workaround for a bug in some versions of GetFullPathNameW that * won't return a large enough buffer size if the input is too small */ wfull_len = GetFullPathNameW(wsource.c_str(), 0, NULL, NULL) + 3; std::vector wfull(wfull_len); GetFullPathNameW(wsource.c_str(), wfull_len, &wfull[0], NULL); /* This should get the correct size without any extra padding from the * previous size workaround. */ wfull_len = static_cast(wcslen(&wfull[0])); if(wfull_len >= 2 && isalpha(wfull[0]) && wfull[1] == L':') { /* C:\Foo\bar\FooBar.txt */ return L"\\\\?\\" + std::wstring(&wfull[0]); } else if(wfull_len >= 2 && wfull[0] == L'\\' && wfull[1] == L'\\') { /* Starts with \\ */ if(wfull_len >= 4 && wfull[2] == L'?' && wfull[3] == L'\\') { /* Starts with \\?\ */ if(wfull_len >= 8 && wfull[4] == L'U' && wfull[5] == L'N' && wfull[6] == L'C' && wfull[7] == L'\\') { /* \\?\UNC\Foo\bar\FooBar.txt */ return std::wstring(&wfull[0]); } else if(wfull_len >= 6 && isalpha(wfull[4]) && wfull[5] == L':') { /* \\?\C:\Foo\bar\FooBar.txt */ return std::wstring(&wfull[0]); } else if(wfull_len >= 5) { /* \\?\Foo\bar\FooBar.txt */ return L"\\\\?\\UNC\\" + std::wstring(&wfull[4]); } } else if(wfull_len >= 4 && wfull[2] == L'.' && wfull[3] == L'\\') { /* Starts with \\.\ a device name */ if(wfull_len >= 6 && isalpha(wfull[4]) && wfull[5] == L':') { /* \\.\C:\Foo\bar\FooBar.txt */ return L"\\\\?\\" + std::wstring(&wfull[4]); } else if(wfull_len >= 5) { /* \\.\Foo\bar\ Device name is left unchanged */ return std::wstring(&wfull[0]); } } else if(wfull_len >= 3) { /* \\Foo\bar\FooBar.txt */ return L"\\\\?\\UNC\\" + std::wstring(&wfull[2]); } } // If this case has been reached, then the path is invalid. Leave it // unchanged return Encoding::ToWide(source); } #endif // change // to /, and escape any spaces in the path std::string SystemTools::ConvertToUnixOutputPath(const std::string& path) { std::string ret = path; // remove // except at the beginning might be a cygwin drive std::string::size_type pos=1; while((pos = ret.find("//", pos)) != std::string::npos) { ret.erase(pos, 1); } // escape spaces and () in the path if(ret.find_first_of(" ") != std::string::npos) { std::string result = ""; char lastch = 1; for(const char* ch = ret.c_str(); *ch != '\0'; ++ch) { // if it is already escaped then don't try to escape it again if((*ch == ' ') && lastch != '\\') { result += '\\'; } result += *ch; lastch = *ch; } ret = result; } return ret; } std::string SystemTools::ConvertToOutputPath(const std::string& path) { #if defined(_WIN32) && !defined(__CYGWIN__) return SystemTools::ConvertToWindowsOutputPath(path); #else return SystemTools::ConvertToUnixOutputPath(path); #endif } // remove double slashes not at the start std::string SystemTools::ConvertToWindowsOutputPath(const std::string& path) { std::string ret; // make it big enough for all of path and double quotes ret.reserve(path.size()+3); // put path into the string ret = path; std::string::size_type pos = 0; // first convert all of the slashes while((pos = ret.find('/', pos)) != std::string::npos) { ret[pos] = '\\'; pos++; } // check for really small paths if(ret.size() < 2) { return ret; } // now clean up a bit and remove double slashes // Only if it is not the first position in the path which is a network // path on windows pos = 1; // start at position 1 if(ret[0] == '\"') { pos = 2; // if the string is already quoted then start at 2 if(ret.size() < 3) { return ret; } } while((pos = ret.find("\\\\", pos)) != std::string::npos) { ret.erase(pos, 1); } // now double quote the path if it has spaces in it // and is not already double quoted if(ret.find(' ') != std::string::npos && ret[0] != '\"') { ret.insert(static_cast(0), static_cast(1), '\"'); ret.append(1, '\"'); } return ret; } bool SystemTools::CopyFileIfDifferent(const std::string& source, const std::string& destination) { // special check for a destination that is a directory // FilesDiffer does not handle file to directory compare if(SystemTools::FileIsDirectory(destination)) { std::string new_destination = destination; SystemTools::ConvertToUnixSlashes(new_destination); new_destination += '/'; std::string source_name = source; new_destination += SystemTools::GetFilenameName(source_name); if(SystemTools::FilesDiffer(source, new_destination)) { return SystemTools::CopyFileAlways(source, destination); } else { // the files are the same so the copy is done return // true return true; } } // source and destination are files so do a copy if they // are different if(SystemTools::FilesDiffer(source, destination)) { return SystemTools::CopyFileAlways(source, destination); } // at this point the files must be the same so return true return true; } #define KWSYS_ST_BUFFER 4096 bool SystemTools::FilesDiffer(const std::string& source, const std::string& destination) { #if defined(_WIN32) WIN32_FILE_ATTRIBUTE_DATA statSource; if (GetFileAttributesExW( SystemTools::ConvertToWindowsExtendedPath(source).c_str(), GetFileExInfoStandard, &statSource) == 0) { return true; } WIN32_FILE_ATTRIBUTE_DATA statDestination; if (GetFileAttributesExW( SystemTools::ConvertToWindowsExtendedPath(destination).c_str(), GetFileExInfoStandard, &statDestination) == 0) { return true; } if(statSource.nFileSizeHigh != statDestination.nFileSizeHigh || statSource.nFileSizeLow != statDestination.nFileSizeLow) { return true; } if(statSource.nFileSizeHigh == 0 && statSource.nFileSizeLow == 0) { return false; } off_t nleft = ((__int64)statSource.nFileSizeHigh << 32) + statSource.nFileSizeLow; #else struct stat statSource; if (stat(source.c_str(), &statSource) != 0) { return true; } struct stat statDestination; if (stat(destination.c_str(), &statDestination) != 0) { return true; } if(statSource.st_size != statDestination.st_size) { return true; } if(statSource.st_size == 0) { return false; } off_t nleft = statSource.st_size; #endif #if defined(_WIN32) kwsys::ifstream finSource(source.c_str(), (std::ios::binary | std::ios::in)); kwsys::ifstream finDestination(destination.c_str(), (std::ios::binary | std::ios::in)); #else kwsys::ifstream finSource(source.c_str()); kwsys::ifstream finDestination(destination.c_str()); #endif if(!finSource || !finDestination) { return true; } // Compare the files a block at a time. char source_buf[KWSYS_ST_BUFFER]; char dest_buf[KWSYS_ST_BUFFER]; while(nleft > 0) { // Read a block from each file. std::streamsize nnext = (nleft > KWSYS_ST_BUFFER)? KWSYS_ST_BUFFER : static_cast(nleft); finSource.read(source_buf, nnext); finDestination.read(dest_buf, nnext); // If either failed to read assume they are different. if(static_cast(finSource.gcount()) != nnext || static_cast(finDestination.gcount()) != nnext) { return true; } // If this block differs the file differs. if(memcmp(static_cast(source_buf), static_cast(dest_buf), static_cast(nnext)) != 0) { return true; } // Update the byte count remaining. nleft -= nnext; } // No differences found. return false; } //---------------------------------------------------------------------------- /** * Copy a file named by "source" to the file named by "destination". */ bool SystemTools::CopyFileAlways(const std::string& source, const std::string& destination) { // If files are the same do not copy if ( SystemTools::SameFile(source, destination) ) { return true; } mode_t perm = 0; bool perms = SystemTools::GetPermissions(source, perm); const int bufferSize = 4096; char buffer[bufferSize]; // If destination is a directory, try to create a file with the same // name as the source in that directory. std::string real_destination = destination; std::string destination_dir; if(SystemTools::FileExists(destination) && SystemTools::FileIsDirectory(destination)) { destination_dir = real_destination; SystemTools::ConvertToUnixSlashes(real_destination); real_destination += '/'; std::string source_name = source; real_destination += SystemTools::GetFilenameName(source_name); } else { destination_dir = SystemTools::GetFilenamePath(destination); } // Create destination directory SystemTools::MakeDirectory(destination_dir); // Open files #if defined(_WIN32) kwsys::ifstream fin(Encoding::ToNarrow( SystemTools::ConvertToWindowsExtendedPath(source)).c_str(), std::ios::in | std::ios::binary); #else kwsys::ifstream fin(source.c_str(), std::ios::in | std::ios::binary); #endif if(!fin) { return false; } // try and remove the destination file so that read only destination files // can be written to. // If the remove fails continue so that files in read only directories // that do not allow file removal can be modified. SystemTools::RemoveFile(real_destination); #if defined(_WIN32) kwsys::ofstream fout(Encoding::ToNarrow( SystemTools::ConvertToWindowsExtendedPath(real_destination)).c_str(), std::ios::out | std::ios::trunc | std::ios::binary); #else kwsys::ofstream fout(real_destination.c_str(), std::ios::out | std::ios::trunc | std::ios::binary); #endif if(!fout) { return false; } // This copy loop is very sensitive on certain platforms with // slightly broken stream libraries (like HPUX). Normally, it is // incorrect to not check the error condition on the fin.read() // before using the data, but the fin.gcount() will be zero if an // error occurred. Therefore, the loop should be safe everywhere. while(fin) { fin.read(buffer, bufferSize); if(fin.gcount()) { fout.write(buffer, fin.gcount()); } else { break; } } // Make sure the operating system has finished writing the file // before closing it. This will ensure the file is finished before // the check below. fout.flush(); fin.close(); fout.close(); if(!fout) { return false; } if ( perms ) { if ( !SystemTools::SetPermissions(real_destination, perm) ) { return false; } } return true; } //---------------------------------------------------------------------------- bool SystemTools::CopyAFile(const std::string& source, const std::string& destination, bool always) { if(always) { return SystemTools::CopyFileAlways(source, destination); } else { return SystemTools::CopyFileIfDifferent(source, destination); } } /** * Copy a directory content from "source" directory to the directory named by * "destination". */ bool SystemTools::CopyADirectory(const std::string& source, const std::string& destination, bool always) { Directory dir; #ifdef _WIN32 dir.Load(Encoding::ToNarrow( SystemTools::ConvertToWindowsExtendedPath(source))); #else dir.Load(source); #endif size_t fileNum; if ( !SystemTools::MakeDirectory(destination) ) { return false; } for (fileNum = 0; fileNum < dir.GetNumberOfFiles(); ++fileNum) { if (strcmp(dir.GetFile(static_cast(fileNum)),".") && strcmp(dir.GetFile(static_cast(fileNum)),"..")) { std::string fullPath = source; fullPath += "/"; fullPath += dir.GetFile(static_cast(fileNum)); if(SystemTools::FileIsDirectory(fullPath)) { std::string fullDestPath = destination; fullDestPath += "/"; fullDestPath += dir.GetFile(static_cast(fileNum)); if (!SystemTools::CopyADirectory(fullPath, fullDestPath, always)) { return false; } } else { if(!SystemTools::CopyAFile(fullPath, destination, always)) { return false; } } } } return true; } // return size of file; also returns zero if no file exists unsigned long SystemTools::FileLength(const std::string& filename) { unsigned long length = 0; #ifdef _WIN32 WIN32_FILE_ATTRIBUTE_DATA fs; if (GetFileAttributesExW( SystemTools::ConvertToWindowsExtendedPath(filename).c_str(), GetFileExInfoStandard, &fs) != 0) { /* To support the full 64-bit file size, use fs.nFileSizeHigh * and fs.nFileSizeLow to construct the 64 bit size length = ((__int64)fs.nFileSizeHigh << 32) + fs.nFileSizeLow; */ length = static_cast(fs.nFileSizeLow); } #else struct stat fs; if (stat(filename.c_str(), &fs) == 0) { length = static_cast(fs.st_size); } #endif return length; } int SystemTools::Strucmp(const char *s1, const char *s2) { // lifted from Graphvis http://www.graphviz.org while ((*s1 != '\0') && (tolower(*s1) == tolower(*s2))) { s1++; s2++; } return tolower(*s1) - tolower(*s2); } // return file's modified time long int SystemTools::ModifiedTime(const std::string& filename) { long int mt = 0; #ifdef _WIN32 WIN32_FILE_ATTRIBUTE_DATA fs; if (GetFileAttributesExW( SystemTools::ConvertToWindowsExtendedPath(filename).c_str(), GetFileExInfoStandard, &fs) != 0) { mt = windows_filetime_to_posix_time(fs.ftLastWriteTime); } #else struct stat fs; if (stat(filename.c_str(), &fs) == 0) { mt = static_cast(fs.st_mtime); } #endif return mt; } // return file's creation time long int SystemTools::CreationTime(const std::string& filename) { long int ct = 0; #ifdef _WIN32 WIN32_FILE_ATTRIBUTE_DATA fs; if (GetFileAttributesExW( SystemTools::ConvertToWindowsExtendedPath(filename).c_str(), GetFileExInfoStandard, &fs) != 0) { ct = windows_filetime_to_posix_time(fs.ftCreationTime); } #else struct stat fs; if (stat(filename.c_str(), &fs) == 0) { ct = fs.st_ctime >= 0 ? static_cast(fs.st_ctime) : 0; } #endif return ct; } bool SystemTools::ConvertDateMacroString(const char *str, time_t *tmt) { if (!str || !tmt || strlen(str) > 11) { return false; } struct tm tmt2; // __DATE__ // The compilation date of the current source file. The date is a string // literal of the form Mmm dd yyyy. The month name Mmm is the same as for // dates generated by the library function asctime declared in TIME.H. // index: 012345678901 // format: Mmm dd yyyy // example: Dec 19 2003 static char month_names[] = "JanFebMarAprMayJunJulAugSepOctNovDec"; char buffer[12]; strcpy(buffer, str); buffer[3] = 0; char *ptr = strstr(month_names, buffer); if (!ptr) { return false; } int month = static_cast((ptr - month_names) / 3); int day = atoi(buffer + 4); int year = atoi(buffer + 7); tmt2.tm_isdst = -1; tmt2.tm_hour = 0; tmt2.tm_min = 0; tmt2.tm_sec = 0; tmt2.tm_wday = 0; tmt2.tm_yday = 0; tmt2.tm_mday = day; tmt2.tm_mon = month; tmt2.tm_year = year - 1900; *tmt = mktime(&tmt2); return true; } bool SystemTools::ConvertTimeStampMacroString(const char *str, time_t *tmt) { if (!str || !tmt || strlen(str) > 26) { return false; } struct tm tmt2; // __TIMESTAMP__ // The date and time of the last modification of the current source file, // expressed as a string literal in the form Ddd Mmm Date hh:mm:ss yyyy, /// where Ddd is the abbreviated day of the week and Date is an integer // from 1 to 31. // index: 0123456789 // 0123456789 // 0123456789 // format: Ddd Mmm Date hh:mm:ss yyyy // example: Fri Dec 19 14:34:58 2003 static char month_names[] = "JanFebMarAprMayJunJulAugSepOctNovDec"; char buffer[27]; strcpy(buffer, str); buffer[7] = 0; char *ptr = strstr(month_names, buffer + 4); if (!ptr) { return false; } int month = static_cast((ptr - month_names) / 3); int day = atoi(buffer + 8); int hour = atoi(buffer + 11); int min = atoi(buffer + 14); int sec = atoi(buffer + 17); int year = atoi(buffer + 20); tmt2.tm_isdst = -1; tmt2.tm_hour = hour; tmt2.tm_min = min; tmt2.tm_sec = sec; tmt2.tm_wday = 0; tmt2.tm_yday = 0; tmt2.tm_mday = day; tmt2.tm_mon = month; tmt2.tm_year = year - 1900; *tmt = mktime(&tmt2); return true; } std::string SystemTools::GetLastSystemError() { int e = errno; return strerror(e); } bool SystemTools::RemoveFile(const std::string& source) { #ifdef _WIN32 std::wstring const& ws = SystemTools::ConvertToWindowsExtendedPath(source); if (DeleteFileW(ws.c_str())) { return true; } DWORD err = GetLastError(); if (err == ERROR_FILE_NOT_FOUND || err == ERROR_PATH_NOT_FOUND) { return true; } if (err != ERROR_ACCESS_DENIED) { return false; } /* The file may be read-only. Try adding write permission. */ mode_t mode; if (!SystemTools::GetPermissions(source, mode) || !SystemTools::SetPermissions(source, S_IWRITE)) { SetLastError(err); return false; } if (DeleteFileW(ws.c_str()) || GetLastError() == ERROR_FILE_NOT_FOUND || GetLastError() == ERROR_PATH_NOT_FOUND) { return true; } /* Try to restore the original permissions. */ SystemTools::SetPermissions(source, mode); SetLastError(err); return false; #else return unlink(source.c_str()) == 0 || errno == ENOENT; #endif } bool SystemTools::RemoveADirectory(const std::string& source) { // Add write permission to the directory so we can modify its // content to remove files and directories from it. mode_t mode; if(SystemTools::GetPermissions(source, mode)) { #if defined(_WIN32) && !defined(__CYGWIN__) mode |= S_IWRITE; #else mode |= S_IWUSR; #endif SystemTools::SetPermissions(source, mode); } Directory dir; #ifdef _WIN32 dir.Load(Encoding::ToNarrow( SystemTools::ConvertToWindowsExtendedPath(source))); #else dir.Load(source); #endif size_t fileNum; for (fileNum = 0; fileNum < dir.GetNumberOfFiles(); ++fileNum) { if (strcmp(dir.GetFile(static_cast(fileNum)),".") && strcmp(dir.GetFile(static_cast(fileNum)),"..")) { std::string fullPath = source; fullPath += "/"; fullPath += dir.GetFile(static_cast(fileNum)); if(SystemTools::FileIsDirectory(fullPath) && !SystemTools::FileIsSymlink(fullPath)) { if (!SystemTools::RemoveADirectory(fullPath)) { return false; } } else { if(!SystemTools::RemoveFile(fullPath)) { return false; } } } } return (Rmdir(source) == 0); } /** */ size_t SystemTools::GetMaximumFilePathLength() { return KWSYS_SYSTEMTOOLS_MAXPATH; } /** * Find the file the given name. Searches the given path and then * the system search path. Returns the full path to the file if it is * found. Otherwise, the empty string is returned. */ std::string SystemTools ::FindName(const std::string& name, const std::vector& userPaths, bool no_system_path) { // Add the system search path to our path first std::vector path; if (!no_system_path) { SystemTools::GetPath(path, "CMAKE_FILE_PATH"); SystemTools::GetPath(path); } // now add the additional paths { for(std::vector::const_iterator i = userPaths.begin(); i != userPaths.end(); ++i) { path.push_back(*i); } } // Add a trailing slash to all paths to aid the search process. { for(std::vector::iterator i = path.begin(); i != path.end(); ++i) { std::string& p = *i; if(p.empty() || *p.rbegin() != '/') { p += "/"; } } } // now look for the file std::string tryPath; for(std::vector::const_iterator p = path.begin(); p != path.end(); ++p) { tryPath = *p; tryPath += name; if(SystemTools::FileExists(tryPath)) { return tryPath; } } // Couldn't find the file. return ""; } /** * Find the file the given name. Searches the given path and then * the system search path. Returns the full path to the file if it is * found. Otherwise, the empty string is returned. */ std::string SystemTools ::FindFile(const std::string& name, const std::vector& userPaths, bool no_system_path) { std::string tryPath = SystemTools::FindName(name, userPaths, no_system_path); if(!tryPath.empty() && !SystemTools::FileIsDirectory(tryPath)) { return SystemTools::CollapseFullPath(tryPath); } // Couldn't find the file. return ""; } /** * Find the directory the given name. Searches the given path and then * the system search path. Returns the full path to the directory if it is * found. Otherwise, the empty string is returned. */ std::string SystemTools ::FindDirectory(const std::string& name, const std::vector& userPaths, bool no_system_path) { std::string tryPath = SystemTools::FindName(name, userPaths, no_system_path); if(!tryPath.empty() && SystemTools::FileIsDirectory(tryPath)) { return SystemTools::CollapseFullPath(tryPath); } // Couldn't find the file. return ""; } /** * Find the executable with the given name. Searches the given path and then * the system search path. Returns the full path to the executable if it is * found. Otherwise, the empty string is returned. */ std::string SystemTools::FindProgram( const char* nameIn, const std::vector& userPaths, bool no_system_path) { if(!nameIn || !*nameIn) { return ""; } return SystemTools::FindProgram(std::string(nameIn), userPaths, no_system_path); } std::string SystemTools::FindProgram( const std::string& name, const std::vector& userPaths, bool no_system_path) { std::vector extensions; #if defined (_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__) bool hasExtension = false; // check to see if the name already has a .xxx at // the end of it if(name.size() > 3 && name[name.size()-4] == '.') { hasExtension = true; } // on windows try .com then .exe if(!hasExtension) { extensions.push_back(".com"); extensions.push_back(".exe"); } #endif std::string tryPath; // first try with extensions if the os supports them for(std::vector::iterator i = extensions.begin(); i != extensions.end(); ++i) { tryPath = name; tryPath += *i; if(SystemTools::FileExists(tryPath) && !SystemTools::FileIsDirectory(tryPath)) { return SystemTools::CollapseFullPath(tryPath); } } // now try just the name tryPath = name; if(SystemTools::FileExists(tryPath) && !SystemTools::FileIsDirectory(tryPath)) { return SystemTools::CollapseFullPath(tryPath); } // now construct the path std::vector path; // Add the system search path to our path. if (!no_system_path) { SystemTools::GetPath(path); } // now add the additional paths { for(std::vector::const_iterator i = userPaths.begin(); i != userPaths.end(); ++i) { path.push_back(*i); } } // Add a trailing slash to all paths to aid the search process. { for(std::vector::iterator i = path.begin(); i != path.end(); ++i) { std::string& p = *i; if(p.empty() || *p.rbegin() != '/') { p += "/"; } } } // Try each path for(std::vector::iterator p = path.begin(); p != path.end(); ++p) { #ifdef _WIN32 // Remove double quotes from the path on windows SystemTools::ReplaceString(*p, "\"", ""); #endif // first try with extensions for(std::vector::iterator ext = extensions.begin(); ext != extensions.end(); ++ext) { tryPath = *p; tryPath += name; tryPath += *ext; if(SystemTools::FileExists(tryPath) && !SystemTools::FileIsDirectory(tryPath)) { return SystemTools::CollapseFullPath(tryPath); } } // now try it without them tryPath = *p; tryPath += name; if(SystemTools::FileExists(tryPath) && !SystemTools::FileIsDirectory(tryPath)) { return SystemTools::CollapseFullPath(tryPath); } } // Couldn't find the program. return ""; } std::string SystemTools::FindProgram( const std::vector& names, const std::vector& path, bool noSystemPath) { for(std::vector::const_iterator it = names.begin(); it != names.end() ; ++it) { // Try to find the program. std::string result = SystemTools::FindProgram(*it, path, noSystemPath); if ( !result.empty() ) { return result; } } return ""; } /** * Find the library with the given name. Searches the given path and then * the system search path. Returns the full path to the library if it is * found. Otherwise, the empty string is returned. */ std::string SystemTools ::FindLibrary(const std::string& name, const std::vector& userPaths) { // See if the executable exists as written. if(SystemTools::FileExists(name) && !SystemTools::FileIsDirectory(name)) { return SystemTools::CollapseFullPath(name); } // Add the system search path to our path. std::vector path; SystemTools::GetPath(path); // now add the additional paths { for(std::vector::const_iterator i = userPaths.begin(); i != userPaths.end(); ++i) { path.push_back(*i); } } // Add a trailing slash to all paths to aid the search process. { for(std::vector::iterator i = path.begin(); i != path.end(); ++i) { std::string& p = *i; if(p.empty() || *p.rbegin() != '/') { p += "/"; } } } std::string tryPath; for(std::vector::const_iterator p = path.begin(); p != path.end(); ++p) { #if defined(__APPLE__) tryPath = *p; tryPath += name; tryPath += ".framework"; if(SystemTools::FileExists(tryPath) && SystemTools::FileIsDirectory(tryPath)) { return SystemTools::CollapseFullPath(tryPath); } #endif #if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__MINGW32__) tryPath = *p; tryPath += name; tryPath += ".lib"; if(SystemTools::FileExists(tryPath) && !SystemTools::FileIsDirectory(tryPath)) { return SystemTools::CollapseFullPath(tryPath); } #else tryPath = *p; tryPath += "lib"; tryPath += name; tryPath += ".so"; if(SystemTools::FileExists(tryPath) && !SystemTools::FileIsDirectory(tryPath)) { return SystemTools::CollapseFullPath(tryPath); } tryPath = *p; tryPath += "lib"; tryPath += name; tryPath += ".a"; if(SystemTools::FileExists(tryPath) && !SystemTools::FileIsDirectory(tryPath)) { return SystemTools::CollapseFullPath(tryPath); } tryPath = *p; tryPath += "lib"; tryPath += name; tryPath += ".sl"; if(SystemTools::FileExists(tryPath) && !SystemTools::FileIsDirectory(tryPath)) { return SystemTools::CollapseFullPath(tryPath); } tryPath = *p; tryPath += "lib"; tryPath += name; tryPath += ".dylib"; if(SystemTools::FileExists(tryPath) && !SystemTools::FileIsDirectory(tryPath)) { return SystemTools::CollapseFullPath(tryPath); } tryPath = *p; tryPath += "lib"; tryPath += name; tryPath += ".dll"; if(SystemTools::FileExists(tryPath) && !SystemTools::FileIsDirectory(tryPath)) { return SystemTools::CollapseFullPath(tryPath); } #endif } // Couldn't find the library. return ""; } std::string SystemTools::GetRealPath(const std::string& path, std::string* errorMessage) { std::string ret; Realpath(path, ret, errorMessage); return ret; } bool SystemTools::FileIsDirectory(const std::string& inName) { if (inName.empty()) { return false; } size_t length = inName.size(); const char* name = inName.c_str(); // Remove any trailing slash from the name except in a root component. char local_buffer[KWSYS_SYSTEMTOOLS_MAXPATH]; std::string string_buffer; size_t last = length-1; if(last > 0 && (name[last] == '/' || name[last] == '\\') && strcmp(name, "/") != 0 && name[last-1] != ':') { if (last < sizeof(local_buffer)) { memcpy(local_buffer, name, last); local_buffer[last] = '\0'; name = local_buffer; } else { string_buffer.append(name, last); name = string_buffer.c_str(); } } // Now check the file node type. #if defined( _WIN32 ) DWORD attr = GetFileAttributesW( SystemTools::ConvertToWindowsExtendedPath(name).c_str()); if (attr != INVALID_FILE_ATTRIBUTES) { return (attr & FILE_ATTRIBUTE_DIRECTORY) != 0; #else struct stat fs; if(stat(name, &fs) == 0) { return S_ISDIR(fs.st_mode); #endif } else { return false; } } bool SystemTools::FileIsSymlink(const std::string& name) { #if defined( _WIN32 ) DWORD attr = GetFileAttributesW( SystemTools::ConvertToWindowsExtendedPath(name).c_str()); if (attr != INVALID_FILE_ATTRIBUTES) { return (attr & FILE_ATTRIBUTE_REPARSE_POINT) != 0; } else { return false; } #else struct stat fs; if(lstat(name.c_str(), &fs) == 0) { return S_ISLNK(fs.st_mode); } else { return false; } #endif } #if defined(_WIN32) && !defined(__CYGWIN__) bool SystemTools::CreateSymlink(const std::string&, const std::string&) { return false; } #else bool SystemTools::CreateSymlink(const std::string& origName, const std::string& newName) { return symlink(origName.c_str(), newName.c_str()) >= 0; } #endif #if defined(_WIN32) && !defined(__CYGWIN__) bool SystemTools::ReadSymlink(const std::string&, std::string&) { return false; } #else bool SystemTools::ReadSymlink(const std::string& newName, std::string& origName) { char buf[KWSYS_SYSTEMTOOLS_MAXPATH+1]; int count = static_cast(readlink(newName.c_str(), buf, KWSYS_SYSTEMTOOLS_MAXPATH)); if(count >= 0) { // Add null-terminator. buf[count] = 0; origName = buf; return true; } else { return false; } } #endif int SystemTools::ChangeDirectory(const std::string& dir) { return Chdir(dir); } std::string SystemTools::GetCurrentWorkingDirectory(bool collapse) { char buf[2048]; const char* cwd = Getcwd(buf, 2048); std::string path; if ( cwd ) { path = cwd; } if(collapse) { return SystemTools::CollapseFullPath(path); } return path; } std::string SystemTools::GetProgramPath(const std::string& in_name) { std::string dir, file; SystemTools::SplitProgramPath(in_name, dir, file); return dir; } bool SystemTools::SplitProgramPath(const std::string& in_name, std::string& dir, std::string& file, bool) { dir = in_name; file = ""; SystemTools::ConvertToUnixSlashes(dir); if(!SystemTools::FileIsDirectory(dir)) { std::string::size_type slashPos = dir.rfind("/"); if(slashPos != std::string::npos) { file = dir.substr(slashPos+1); dir = dir.substr(0, slashPos); } else { file = dir; dir = ""; } } if(!(dir.empty()) && !SystemTools::FileIsDirectory(dir)) { std::string oldDir = in_name; SystemTools::ConvertToUnixSlashes(oldDir); dir = in_name; return false; } return true; } bool SystemTools::FindProgramPath(const char* argv0, std::string& pathOut, std::string& errorMsg, const char* exeName, const char* buildDir, const char* installPrefix ) { std::vector failures; std::string self = argv0 ? argv0 : ""; failures.push_back(self); SystemTools::ConvertToUnixSlashes(self); self = SystemTools::FindProgram(self); if(!SystemTools::FileExists(self)) { if(buildDir) { std::string intdir = "."; #ifdef CMAKE_INTDIR intdir = CMAKE_INTDIR; #endif self = buildDir; self += "/bin/"; self += intdir; self += "/"; self += exeName; self += SystemTools::GetExecutableExtension(); } } if(installPrefix) { if(!SystemTools::FileExists(self)) { failures.push_back(self); self = installPrefix; self += "/bin/"; self += exeName; } } if(!SystemTools::FileExists(self)) { failures.push_back(self); std::ostringstream msg; msg << "Can not find the command line program "; if (exeName) { msg << exeName; } msg << "\n"; if (argv0) { msg << " argv[0] = \"" << argv0 << "\"\n"; } msg << " Attempted paths:\n"; std::vector::iterator i; for(i=failures.begin(); i != failures.end(); ++i) { msg << " \"" << *i << "\"\n"; } errorMsg = msg.str(); return false; } pathOut = self; return true; } std::string SystemTools::CollapseFullPath(const std::string& in_relative) { return SystemTools::CollapseFullPath(in_relative, 0); } void SystemTools::AddTranslationPath(const std::string& a, const std::string& b) { std::string path_a = a; std::string path_b = b; SystemTools::ConvertToUnixSlashes(path_a); SystemTools::ConvertToUnixSlashes(path_b); // First check this is a directory path, since we don't want the table to // grow too fat if( SystemTools::FileIsDirectory( path_a ) ) { // Make sure the path is a full path and does not contain no '..' // Ken--the following code is incorrect. .. can be in a valid path // for example /home/martink/MyHubba...Hubba/Src if( SystemTools::FileIsFullPath(path_b) && path_b.find("..") == std::string::npos ) { // Before inserting make sure path ends with '/' if(!path_a.empty() && *path_a.rbegin() != '/') { path_a += '/'; } if(!path_b.empty() && *path_b.rbegin() != '/') { path_b += '/'; } if( !(path_a == path_b) ) { SystemTools::TranslationMap->insert( SystemToolsTranslationMap::value_type(path_a, path_b)); } } } } void SystemTools::AddKeepPath(const std::string& dir) { std::string cdir; Realpath(SystemTools::CollapseFullPath(dir).c_str(), cdir); SystemTools::AddTranslationPath(cdir, dir); } void SystemTools::CheckTranslationPath(std::string & path) { // Do not translate paths that are too short to have meaningful // translations. if(path.size() < 2) { return; } // Always add a trailing slash before translation. It does not // matter if this adds an extra slash, but we do not want to // translate part of a directory (like the foo part of foo-dir). path += "/"; // In case a file was specified we still have to go through this: // Now convert any path found in the table back to the one desired: std::map::const_iterator it; for(it = SystemTools::TranslationMap->begin(); it != SystemTools::TranslationMap->end(); ++it ) { // We need to check of the path is a substring of the other path if(path.find( it->first ) == 0) { path = path.replace( 0, it->first.size(), it->second); } } // Remove the trailing slash we added before. path.erase(path.end()-1, path.end()); } static void SystemToolsAppendComponents( std::vector& out_components, std::vector::const_iterator first, std::vector::const_iterator last) { static const std::string up = ".."; static const std::string cur = "."; for(std::vector::const_iterator i = first; i != last; ++i) { if(*i == up) { if(out_components.size() > 1) { out_components.resize(out_components.size()-1); } } else if(!i->empty() && *i != cur) { out_components.push_back(*i); } } } std::string SystemTools::CollapseFullPath(const std::string& in_path, const char* in_base) { // Collect the output path components. std::vector out_components; // Split the input path components. std::vector path_components; SystemTools::SplitPath(in_path, path_components); // If the input path is relative, start with a base path. if(path_components[0].length() == 0) { std::vector base_components; if(in_base) { // Use the given base path. SystemTools::SplitPath(in_base, base_components); } else { // Use the current working directory as a base path. char buf[2048]; if(const char* cwd = Getcwd(buf, 2048)) { SystemTools::SplitPath(cwd, base_components); } else { base_components.push_back(""); } } // Append base path components to the output path. out_components.push_back(base_components[0]); SystemToolsAppendComponents(out_components, base_components.begin()+1, base_components.end()); } // Append input path components to the output path. SystemToolsAppendComponents(out_components, path_components.begin(), path_components.end()); // Transform the path back to a string. std::string newPath = SystemTools::JoinPath(out_components); // Update the translation table with this potentially new path. I am not // sure why this line is here, it seems really questionable, but yet I // would put good money that if I remove it something will break, basically // from what I can see it created a mapping from the collapsed path, to be // replaced by the input path, which almost completely does the opposite of // this function, the only thing preventing this from happening a lot is // that if the in_path has a .. in it, then it is not added to the // translation table. So for most calls this either does nothing due to the // .. or it adds a translation between identical paths as nothing was // collapsed, so I am going to try to comment it out, and see what hits the // fan, hopefully quickly. // Commented out line below: //SystemTools::AddTranslationPath(newPath, in_path); SystemTools::CheckTranslationPath(newPath); #ifdef _WIN32 newPath = SystemTools::GetActualCaseForPath(newPath); SystemTools::ConvertToUnixSlashes(newPath); #endif // Return the reconstructed path. return newPath; } std::string SystemTools::CollapseFullPath(const std::string& in_path, const std::string& in_base) { // Collect the output path components. std::vector out_components; // Split the input path components. std::vector path_components; SystemTools::SplitPath(in_path, path_components); // If the input path is relative, start with a base path. if(path_components[0].length() == 0) { std::vector base_components; // Use the given base path. SystemTools::SplitPath(in_base, base_components); // Append base path components to the output path. out_components.push_back(base_components[0]); SystemToolsAppendComponents(out_components, base_components.begin()+1, base_components.end()); } // Append input path components to the output path. SystemToolsAppendComponents(out_components, path_components.begin(), path_components.end()); // Transform the path back to a string. std::string newPath = SystemTools::JoinPath(out_components); // Update the translation table with this potentially new path. I am not // sure why this line is here, it seems really questionable, but yet I // would put good money that if I remove it something will break, basically // from what I can see it created a mapping from the collapsed path, to be // replaced by the input path, which almost completely does the opposite of // this function, the only thing preventing this from happening a lot is // that if the in_path has a .. in it, then it is not added to the // translation table. So for most calls this either does nothing due to the // .. or it adds a translation between identical paths as nothing was // collapsed, so I am going to try to comment it out, and see what hits the // fan, hopefully quickly. // Commented out line below: //SystemTools::AddTranslationPath(newPath, in_path); SystemTools::CheckTranslationPath(newPath); #ifdef _WIN32 newPath = SystemTools::GetActualCaseForPath(newPath); SystemTools::ConvertToUnixSlashes(newPath); #endif // Return the reconstructed path. return newPath; } // compute the relative path from here to there std::string SystemTools::RelativePath(const std::string& local, const std::string& remote) { if(!SystemTools::FileIsFullPath(local)) { return ""; } if(!SystemTools::FileIsFullPath(remote)) { return ""; } std::string l = SystemTools::CollapseFullPath(local); std::string r = SystemTools::CollapseFullPath(remote); // split up both paths into arrays of strings using / as a separator std::vector localSplit = SystemTools::SplitString(l, '/', true); std::vector remoteSplit = SystemTools::SplitString(r, '/', true); std::vector commonPath; // store shared parts of path in this array std::vector finalPath; // store the final relative path here // count up how many matching directory names there are from the start unsigned int sameCount = 0; while( ((sameCount <= (localSplit.size()-1)) && (sameCount <= (remoteSplit.size()-1))) && // for windows and apple do a case insensitive string compare #if defined(_WIN32) || defined(__APPLE__) SystemTools::Strucmp(localSplit[sameCount].c_str(), remoteSplit[sameCount].c_str()) == 0 #else localSplit[sameCount] == remoteSplit[sameCount] #endif ) { // put the common parts of the path into the commonPath array commonPath.push_back(localSplit[sameCount]); // erase the common parts of the path from the original path arrays localSplit[sameCount] = ""; remoteSplit[sameCount] = ""; sameCount++; } // If there is nothing in common at all then just return the full // path. This is the case only on windows when the paths have // different drive letters. On unix two full paths always at least // have the root "/" in common so we will return a relative path // that passes through the root directory. if(sameCount == 0) { return remote; } // for each entry that is not common in the local path // add a ../ to the finalpath array, this gets us out of the local // path into the remote dir for(unsigned int i = 0; i < localSplit.size(); ++i) { if(!localSplit[i].empty()) { finalPath.push_back("../"); } } // for each entry that is not common in the remote path add it // to the final path. for(std::vector::iterator vit = remoteSplit.begin(); vit != remoteSplit.end(); ++vit) { if(!vit->empty()) { finalPath.push_back(*vit); } } std::string relativePath; // result string // now turn the array of directories into a unix path by puttint / // between each entry that does not already have one for(std::vector::iterator vit1 = finalPath.begin(); vit1 != finalPath.end(); ++vit1) { if(!relativePath.empty() && *relativePath.rbegin() != '/') { relativePath += "/"; } relativePath += *vit1; } return relativePath; } #ifdef _WIN32 static int GetCasePathName(const std::string & pathIn, std::string & casePath) { std::vector path_components; SystemTools::SplitPath(pathIn, path_components); if(path_components[0].empty()) // First component always exists. { // Relative paths cannot be converted. casePath = ""; return 0; } // Start with root component. std::vector::size_type idx = 0; casePath = path_components[idx++]; // make sure drive letter is always upper case if(casePath.size() > 1 && casePath[1] == ':') { casePath[0] = toupper(casePath[0]); } const char* sep = ""; // If network path, fill casePath with server/share so FindFirstFile // will work after that. Maybe someday call other APIs to get // actual case of servers and shares. if(path_components.size() > 2 && path_components[0] == "//") { casePath += path_components[idx++]; casePath += "/"; casePath += path_components[idx++]; sep = "/"; } for(; idx < path_components.size(); idx++) { casePath += sep; sep = "/"; std::string test_str = casePath; test_str += path_components[idx]; // If path component contains wildcards, we skip matching // because these filenames are not allowed on windows, // and we do not want to match a different file. if(path_components[idx].find('*') != std::string::npos || path_components[idx].find('?') != std::string::npos) { casePath = ""; return 0; } WIN32_FIND_DATAW findData; HANDLE hFind = ::FindFirstFileW(Encoding::ToWide(test_str).c_str(), &findData); if (INVALID_HANDLE_VALUE != hFind) { casePath += Encoding::ToNarrow(findData.cFileName); ::FindClose(hFind); } else { casePath = ""; return 0; } } return (int)casePath.size(); } #endif //---------------------------------------------------------------------------- std::string SystemTools::GetActualCaseForPath(const std::string& p) { #ifndef _WIN32 return p; #else // Check to see if actual case has already been called // for this path, and the result is stored in the PathCaseMap SystemToolsPathCaseMap::iterator i = SystemTools::PathCaseMap->find(p); if(i != SystemTools::PathCaseMap->end()) { return i->second; } std::string casePath; int len = GetCasePathName(p, casePath); if(len == 0 || len > MAX_PATH+1) { return p; } (*SystemTools::PathCaseMap)[p] = casePath; return casePath; #endif } //---------------------------------------------------------------------------- const char* SystemTools::SplitPathRootComponent(const std::string& p, std::string* root) { // Identify the root component. const char* c = p.c_str(); if((c[0] == '/' && c[1] == '/') || (c[0] == '\\' && c[1] == '\\')) { // Network path. if(root) { *root = "//"; } c += 2; } else if(c[0] == '/' || c[0] == '\\') { // Unix path (or Windows path w/out drive letter). if(root) { *root = "/"; } c += 1; } else if(c[0] && c[1] == ':' && (c[2] == '/' || c[2] == '\\')) { // Windows path. if(root) { (*root) = "_:/"; (*root)[0] = c[0]; } c += 3; } else if(c[0] && c[1] == ':') { // Path relative to a windows drive working directory. if(root) { (*root) = "_:"; (*root)[0] = c[0]; } c += 2; } else if(c[0] == '~') { // Home directory. The returned root should always have a // trailing slash so that appending components as // c[0]c[1]/c[2]/... works. The remaining path returned should // skip the first slash if it exists: // // "~" : root = "~/" , return "" // "~/ : root = "~/" , return "" // "~/x : root = "~/" , return "x" // "~u" : root = "~u/", return "" // "~u/" : root = "~u/", return "" // "~u/x" : root = "~u/", return "x" size_t n = 1; while(c[n] && c[n] != '/') { ++n; } if(root) { root->assign(c, n); *root += '/'; } if(c[n] == '/') { ++n; } c += n; } else { // Relative path. if(root) { *root = ""; } } // Return the remaining path. return c; } //---------------------------------------------------------------------------- void SystemTools::SplitPath(const std::string& p, std::vector& components, bool expand_home_dir) { const char* c; components.clear(); // Identify the root component. { std::string root; c = SystemTools::SplitPathRootComponent(p, &root); // Expand home directory references if requested. if(expand_home_dir && !root.empty() && root[0] == '~') { std::string homedir; root = root.substr(0, root.size()-1); if(root.size() == 1) { #if defined(_WIN32) && !defined(__CYGWIN__) if(const char* userp = getenv("USERPROFILE")) { homedir = userp; } else #endif if(const char* h = getenv("HOME")) { homedir = h; } } #ifdef HAVE_GETPWNAM else if(passwd* pw = getpwnam(root.c_str()+1)) { if(pw->pw_dir) { homedir = pw->pw_dir; } } #endif if(!homedir.empty() && (*homedir.rbegin() == '/' || *homedir.rbegin() == '\\')) { homedir.resize(homedir.size() - 1); } SystemTools::SplitPath(homedir, components); } else { components.push_back(root); } } // Parse the remaining components. const char* first = c; const char* last = first; for(;*last; ++last) { if(*last == '/' || *last == '\\') { // End of a component. Save it. components.push_back(std::string(first, last)); first = last+1; } } // Save the last component unless there were no components. if(last != c) { components.push_back(std::string(first, last)); } } //---------------------------------------------------------------------------- std::string SystemTools::JoinPath(const std::vector& components) { return SystemTools::JoinPath(components.begin(), components.end()); } //---------------------------------------------------------------------------- std::string SystemTools ::JoinPath(std::vector::const_iterator first, std::vector::const_iterator last) { // Construct result in a single string. std::string result; size_t len = 0; std::vector::const_iterator i; for(i = first; i != last; ++i) { len += 1 + i->size(); } result.reserve(len); // The first two components do not add a slash. if(first != last) { result.append(*first++); } if(first != last) { result.append(*first++); } // All remaining components are always separated with a slash. while(first != last) { result.append("/"); result.append((*first++)); } // Return the concatenated result. return result; } //---------------------------------------------------------------------------- bool SystemTools::ComparePath(const std::string& c1, const std::string& c2) { #if defined(_WIN32) || defined(__APPLE__) # ifdef _MSC_VER return _stricmp(c1.c_str(), c2.c_str()) == 0; # elif defined(__APPLE__) || defined(__GNUC__) return strcasecmp(c1.c_str(), c2.c_str()) == 0; #else return SystemTools::Strucmp(c1.c_str(), c2.c_str()) == 0; # endif #else return c1 == c2; #endif } //---------------------------------------------------------------------------- bool SystemTools::Split(const std::string& str, std::vector& lines, char separator) { std::string data(str); std::string::size_type lpos = 0; while(lpos < data.length()) { std::string::size_type rpos = data.find_first_of(separator, lpos); if(rpos == std::string::npos) { // Line ends at end of string without a newline. lines.push_back(data.substr(lpos)); return false; } else { // Line ends in a "\n", remove the character. lines.push_back(data.substr(lpos, rpos-lpos)); } lpos = rpos+1; } return true; } //---------------------------------------------------------------------------- bool SystemTools::Split(const std::string& str, std::vector& lines) { std::string data(str); std::string::size_type lpos = 0; while(lpos < data.length()) { std::string::size_type rpos = data.find_first_of("\n", lpos); if(rpos == std::string::npos) { // Line ends at end of string without a newline. lines.push_back(data.substr(lpos)); return false; } if((rpos > lpos) && (data[rpos-1] == '\r')) { // Line ends in a "\r\n" pair, remove both characters. lines.push_back(data.substr(lpos, (rpos-1)-lpos)); } else { // Line ends in a "\n", remove the character. lines.push_back(data.substr(lpos, rpos-lpos)); } lpos = rpos+1; } return true; } /** * Return path of a full filename (no trailing slashes). * Warning: returned path is converted to Unix slashes format. */ std::string SystemTools::GetFilenamePath(const std::string& filename) { std::string fn = filename; SystemTools::ConvertToUnixSlashes(fn); std::string::size_type slash_pos = fn.rfind("/"); if(slash_pos != std::string::npos) { std::string ret = fn.substr(0, slash_pos); if(ret.size() == 2 && ret[1] == ':') { return ret + '/'; } if(ret.empty()) { return "/"; } return ret; } else { return ""; } } /** * Return file name of a full filename (i.e. file name without path). */ std::string SystemTools::GetFilenameName(const std::string& filename) { #if defined(_WIN32) std::string::size_type slash_pos = filename.find_last_of("/\\"); #else std::string::size_type slash_pos = filename.rfind('/'); #endif if(slash_pos != std::string::npos) { return filename.substr(slash_pos + 1); } else { return filename; } } /** * Return file extension of a full filename (dot included). * Warning: this is the longest extension (for example: .tar.gz) */ std::string SystemTools::GetFilenameExtension(const std::string& filename) { std::string name = SystemTools::GetFilenameName(filename); std::string::size_type dot_pos = name.find('.'); if(dot_pos != std::string::npos) { return name.substr(dot_pos); } else { return ""; } } /** * Return file extension of a full filename (dot included). * Warning: this is the shortest extension (for example: .gz of .tar.gz) */ std::string SystemTools::GetFilenameLastExtension(const std::string& filename) { std::string name = SystemTools::GetFilenameName(filename); std::string::size_type dot_pos = name.rfind('.'); if(dot_pos != std::string::npos) { return name.substr(dot_pos); } else { return ""; } } /** * Return file name without extension of a full filename (i.e. without path). * Warning: it considers the longest extension (for example: .tar.gz) */ std::string SystemTools::GetFilenameWithoutExtension(const std::string& filename) { std::string name = SystemTools::GetFilenameName(filename); std::string::size_type dot_pos = name.find('.'); if(dot_pos != std::string::npos) { return name.substr(0, dot_pos); } else { return name; } } /** * Return file name without extension of a full filename (i.e. without path). * Warning: it considers the last extension (for example: removes .gz * from .tar.gz) */ std::string SystemTools::GetFilenameWithoutLastExtension(const std::string& filename) { std::string name = SystemTools::GetFilenameName(filename); std::string::size_type dot_pos = name.rfind('.'); if(dot_pos != std::string::npos) { return name.substr(0, dot_pos); } else { return name; } } bool SystemTools::FileHasSignature(const char *filename, const char *signature, long offset) { if (!filename || !signature) { return false; } FILE *fp = Fopen(filename, "rb"); if (!fp) { return false; } fseek(fp, offset, SEEK_SET); bool res = false; size_t signature_len = strlen(signature); char *buffer = new char [signature_len]; if (fread(buffer, 1, signature_len, fp) == signature_len) { res = (!strncmp(buffer, signature, signature_len) ? true : false); } delete [] buffer; fclose(fp); return res; } SystemTools::FileTypeEnum SystemTools::DetectFileType(const char *filename, unsigned long length, double percent_bin) { if (!filename || percent_bin < 0) { return SystemTools::FileTypeUnknown; } if (SystemTools::FileIsDirectory(filename)) { return SystemTools::FileTypeUnknown; } FILE *fp = Fopen(filename, "rb"); if (!fp) { return SystemTools::FileTypeUnknown; } // Allocate buffer and read bytes unsigned char *buffer = new unsigned char [length]; size_t read_length = fread(buffer, 1, length, fp); fclose(fp); if (read_length == 0) { delete [] buffer; return SystemTools::FileTypeUnknown; } // Loop over contents and count size_t text_count = 0; const unsigned char *ptr = buffer; const unsigned char *buffer_end = buffer + read_length; while (ptr != buffer_end) { if ((*ptr >= 0x20 && *ptr <= 0x7F) || *ptr == '\n' || *ptr == '\r' || *ptr == '\t') { text_count++; } ptr++; } delete [] buffer; double current_percent_bin = (static_cast(read_length - text_count) / static_cast(read_length)); if (current_percent_bin >= percent_bin) { return SystemTools::FileTypeBinary; } return SystemTools::FileTypeText; } bool SystemTools::LocateFileInDir(const char *filename, const char *dir, std::string& filename_found, int try_filename_dirs) { if (!filename || !dir) { return false; } // Get the basename of 'filename' std::string filename_base = SystemTools::GetFilenameName(filename); // Check if 'dir' is really a directory // If win32 and matches something like C:, accept it as a dir std::string real_dir; if (!SystemTools::FileIsDirectory(dir)) { #if defined( _WIN32 ) size_t dir_len = strlen(dir); if (dir_len < 2 || dir[dir_len - 1] != ':') { #endif real_dir = SystemTools::GetFilenamePath(dir); dir = real_dir.c_str(); #if defined( _WIN32 ) } #endif } // Try to find the file in 'dir' bool res = false; if (!filename_base.empty() && dir) { size_t dir_len = strlen(dir); int need_slash = (dir_len && dir[dir_len - 1] != '/' && dir[dir_len - 1] != '\\'); std::string temp = dir; if (need_slash) { temp += "/"; } temp += filename_base; if (SystemTools::FileExists(temp)) { res = true; filename_found = temp; } // If not found, we can try harder by appending part of the file to // to the directory to look inside. // Example: if we were looking for /foo/bar/yo.txt in /d1/d2, then // try to find yo.txt in /d1/d2/bar, then /d1/d2/foo/bar, etc. else if (try_filename_dirs) { std::string filename_dir(filename); std::string filename_dir_base; std::string filename_dir_bases; do { filename_dir = SystemTools::GetFilenamePath(filename_dir); filename_dir_base = SystemTools::GetFilenameName(filename_dir); #if defined( _WIN32 ) if (filename_dir_base.empty() || *filename_dir_base.rbegin() == ':') #else if (filename_dir_base.empty()) #endif { break; } filename_dir_bases = filename_dir_base + "/" + filename_dir_bases; temp = dir; if (need_slash) { temp += "/"; } temp += filename_dir_bases; res = SystemTools::LocateFileInDir( filename_base.c_str(), temp.c_str(), filename_found, 0); } while (!res && !filename_dir_base.empty()); } } return res; } bool SystemTools::FileIsFullPath(const std::string& in_name) { return SystemTools::FileIsFullPath(in_name.c_str(), in_name.size()); } bool SystemTools::FileIsFullPath(const char* in_name) { return SystemTools::FileIsFullPath(in_name, in_name[0] ? (in_name[1] ? 2 : 1) : 0); } bool SystemTools::FileIsFullPath(const char* in_name, size_t len) { #if defined(_WIN32) || defined(__CYGWIN__) // On Windows, the name must be at least two characters long. if(len < 2) { return false; } if(in_name[1] == ':') { return true; } if(in_name[0] == '\\') { return true; } #else // On UNIX, the name must be at least one character long. if(len < 1) { return false; } #endif #if !defined(_WIN32) if(in_name[0] == '~') { return true; } #endif // On UNIX, the name must begin in a '/'. // On Windows, if the name begins in a '/', then it is a full // network path. if(in_name[0] == '/') { return true; } return false; } bool SystemTools::GetShortPath(const std::string& path, std::string& shortPath) { #if defined(_WIN32) && !defined(__CYGWIN__) const int size = int(path.size()) +1; // size of return char *tempPath = new char[size]; // create a buffer DWORD ret; // if the path passed in has quotes around it, first remove the quotes if (!path.empty() && path[0] == '"' && *path.rbegin() == '"') { strcpy(tempPath,path.c_str()+1); tempPath[size-2] = '\0'; } else { strcpy(tempPath,path.c_str()); } std::wstring wtempPath = Encoding::ToWide(tempPath); std::vector buffer(wtempPath.size()+1); buffer[0] = 0; ret = GetShortPathNameW(wtempPath.c_str(), &buffer[0], static_cast(wtempPath.size())); if(buffer[0] == 0 || ret > wtempPath.size()) { delete [] tempPath; return false; } else { shortPath = Encoding::ToNarrow(&buffer[0]); delete [] tempPath; return true; } #else shortPath = path; return true; #endif } void SystemTools::SplitProgramFromArgs(const std::string& path, std::string& program, std::string& args) { // see if this is a full path to a program // if so then set program to path and args to nothing if(SystemTools::FileExists(path)) { program = path; args = ""; return; } // Try to find the program in the path, note the program // may have spaces in its name so we have to look for it std::vector e; std::string findProg = SystemTools::FindProgram(path, e); if(!findProg.empty()) { program = findProg; args = ""; return; } // Now try and peel off space separated chunks from the end of the string // so the largest path possible is found allowing for spaces in the path std::string dir = path; std::string::size_type spacePos = dir.rfind(' '); while(spacePos != std::string::npos) { std::string tryProg = dir.substr(0, spacePos); // See if the file exists if(SystemTools::FileExists(tryProg)) { program = tryProg; // remove trailing spaces from program std::string::size_type pos = program.size()-1; while(program[pos] == ' ') { program.erase(pos); pos--; } args = dir.substr(spacePos, dir.size()-spacePos); return; } // Now try and find the program in the path findProg = SystemTools::FindProgram(tryProg, e); if(!findProg.empty()) { program = findProg; // remove trailing spaces from program std::string::size_type pos = program.size()-1; while(program[pos] == ' ') { program.erase(pos); pos--; } args = dir.substr(spacePos, dir.size()-spacePos); return; } // move past the space for the next search spacePos--; spacePos = dir.rfind(' ', spacePos); } program = ""; args = ""; } std::string SystemTools::GetCurrentDateTime(const char* format) { char buf[1024]; time_t t; time(&t); strftime(buf, sizeof(buf), format, localtime(&t)); return std::string(buf); } std::string SystemTools::MakeCidentifier(const std::string& s) { std::string str(s); if (str.find_first_of("0123456789") == 0) { str = "_" + str; } std::string permited_chars("_" "abcdefghijklmnopqrstuvwxyz" "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "0123456789"); std::string::size_type pos = 0; while ((pos = str.find_first_not_of(permited_chars, pos)) != std::string::npos) { str[pos] = '_'; } return str; } // Due to a buggy stream library on the HP and another on Mac OS X, we // need this very carefully written version of getline. Returns true // if any data were read before the end-of-file was reached. bool SystemTools::GetLineFromStream(std::istream& is, std::string& line, bool* has_newline /* = 0 */, long sizeLimit /* = -1 */) { const int bufferSize = 1024; char buffer[bufferSize]; bool haveData = false; bool haveNewline = false; // Start with an empty line. line = ""; long leftToRead = sizeLimit; // Early short circuit return if stream is no good. Just return // false and the empty line. (Probably means caller tried to // create a file stream with a non-existent file name...) // if(!is) { if(has_newline) { *has_newline = false; } return false; } // If no characters are read from the stream, the end of file has // been reached. Clear the fail bit just before reading. while(!haveNewline && leftToRead != 0 && (is.clear(is.rdstate() & ~std::ios::failbit), is.getline(buffer, bufferSize), is.gcount() > 0)) { // We have read at least one byte. haveData = true; // If newline character was read the gcount includes the character // but the buffer does not: the end of line has been reached. size_t length = strlen(buffer); if(length < static_cast(is.gcount())) { haveNewline = true; } // Avoid storing a carriage return character. if(length > 0 && buffer[length-1] == '\r') { buffer[length-1] = 0; } // if we read too much then truncate the buffer if (leftToRead > 0) { if (static_cast(length) > leftToRead) { buffer[leftToRead-1] = 0; leftToRead = 0; } else { leftToRead -= static_cast(length); } } // Append the data read to the line. line.append(buffer); } // Return the results. if(has_newline) { *has_newline = haveNewline; } return haveData; } int SystemTools::GetTerminalWidth() { int width = -1; #ifdef HAVE_TTY_INFO struct winsize ws; char *columns; /* Unix98 environment variable */ if(ioctl(1, TIOCGWINSZ, &ws) != -1 && ws.ws_col>0 && ws.ws_row>0) { width = ws.ws_col; } if(!isatty(STDOUT_FILENO)) { width = -1; } columns = getenv("COLUMNS"); if(columns && *columns) { long t; char *endptr; t = strtol(columns, &endptr, 0); if(endptr && !*endptr && (t>0) && (t<1000)) { width = static_cast(t); } } if ( width < 9 ) { width = -1; } #endif return width; } bool SystemTools::GetPermissions(const char* file, mode_t& mode) { if ( !file ) { return false; } return SystemTools::GetPermissions(std::string(file), mode); } bool SystemTools::GetPermissions(const std::string& file, mode_t& mode) { #if defined(_WIN32) DWORD attr = GetFileAttributesW( SystemTools::ConvertToWindowsExtendedPath(file).c_str()); if(attr == INVALID_FILE_ATTRIBUTES) { return false; } if((attr & FILE_ATTRIBUTE_READONLY) != 0) { mode = (_S_IREAD | (_S_IREAD >> 3) | (_S_IREAD >> 6)); } else { mode = (_S_IWRITE | (_S_IWRITE >> 3) | (_S_IWRITE >> 6)) | (_S_IREAD | (_S_IREAD >> 3) | (_S_IREAD >> 6)); } if((attr & FILE_ATTRIBUTE_DIRECTORY) != 0) { mode |= S_IFDIR | (_S_IEXEC | (_S_IEXEC >> 3) | (_S_IEXEC >> 6)); } else { mode |= S_IFREG; } size_t dotPos = file.rfind('.'); const char* ext = dotPos == file.npos ? 0 : (file.c_str() + dotPos); if(ext && (Strucmp(ext, ".exe") == 0 || Strucmp(ext, ".com") == 0 || Strucmp(ext, ".cmd") == 0 || Strucmp(ext, ".bat") == 0)) { mode |= (_S_IEXEC | (_S_IEXEC >> 3) | (_S_IEXEC >> 6)); } #else struct stat st; if ( stat(file.c_str(), &st) < 0 ) { return false; } mode = st.st_mode; #endif return true; } bool SystemTools::SetPermissions(const char* file, mode_t mode, bool honor_umask) { if ( !file ) { return false; } return SystemTools::SetPermissions( std::string(file), mode, honor_umask); } bool SystemTools::SetPermissions(const std::string& file, mode_t mode, bool honor_umask) { // TEMPORARY / TODO: After FileExists calls lstat() instead of // access(), change this call to FileExists instead of // TestFileAccess so that we don't follow symlinks. if ( !SystemTools::TestFileAccess(file, TEST_FILE_OK) ) { return false; } if (honor_umask) { mode_t currentMask = umask(0); umask(currentMask); mode &= ~currentMask; } #ifdef _WIN32 if ( _wchmod(SystemTools::ConvertToWindowsExtendedPath(file).c_str(), mode) < 0 ) #else if ( chmod(file.c_str(), mode) < 0 ) #endif { return false; } return true; } std::string SystemTools::GetParentDirectory(const std::string& fileOrDir) { return SystemTools::GetFilenamePath(fileOrDir); } bool SystemTools::IsSubDirectory(const std::string& cSubdir, const std::string& cDir) { if(cDir.empty()) { return false; } std::string subdir = cSubdir; std::string dir = cDir; SystemTools::ConvertToUnixSlashes(subdir); SystemTools::ConvertToUnixSlashes(dir); if(subdir.size() > dir.size() && subdir[dir.size()] == '/') { std::string s = subdir.substr(0, dir.size()); return SystemTools::ComparePath(s, dir); } return false; } void SystemTools::Delay(unsigned int msec) { #ifdef _WIN32 Sleep(msec); #else // The sleep function gives 1 second resolution and the usleep // function gives 1e-6 second resolution but on some platforms has a // maximum sleep time of 1 second. This could be re-implemented to // use select with masked signals or pselect to mask signals // atomically. If select is given empty sets and zero as the max // file descriptor but a non-zero timeout it can be used to block // for a precise amount of time. if(msec >= 1000) { sleep(msec / 1000); usleep((msec % 1000) * 1000); } else { usleep(msec * 1000); } #endif } std::string SystemTools::GetOperatingSystemNameAndVersion() { std::string res; #ifdef _WIN32 char buffer[256]; OSVERSIONINFOEXA osvi; BOOL bOsVersionInfoEx; // Try calling GetVersionEx using the OSVERSIONINFOEX structure. // If that fails, try using the OSVERSIONINFO structure. ZeroMemory(&osvi, sizeof(OSVERSIONINFOEXA)); osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXA); #ifdef KWSYS_WINDOWS_DEPRECATED_GetVersionEx # pragma warning (push) # ifdef __INTEL_COMPILER # pragma warning (disable:1478) # else # pragma warning (disable:4996) # endif #endif bOsVersionInfoEx = GetVersionEx((OSVERSIONINFO *)&osvi); if (!bOsVersionInfoEx) { osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); if (!GetVersionEx((OSVERSIONINFO *)&osvi)) { return 0; } } #ifdef KWSYS_WINDOWS_DEPRECATED_GetVersionEx # pragma warning (pop) #endif switch (osvi.dwPlatformId) { // Test for the Windows NT product family. case VER_PLATFORM_WIN32_NT: // Test for the specific product family. if (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0) { #if (_MSC_VER >= 1300) if (osvi.wProductType == VER_NT_WORKSTATION) { res += "Microsoft Windows Vista"; } else { res += "Microsoft Windows Server 2008 family"; } #else res += "Microsoft Windows Vista or Windows Server 2008"; #endif } if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2) { res += "Microsoft Windows Server 2003 family"; } if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1) { res += "Microsoft Windows XP"; } if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0) { res += "Microsoft Windows 2000"; } if (osvi.dwMajorVersion <= 4) { res += "Microsoft Windows NT"; } // Test for specific product on Windows NT 4.0 SP6 and later. if (bOsVersionInfoEx) { // Test for the workstation type. #if (_MSC_VER >= 1300) if (osvi.wProductType == VER_NT_WORKSTATION) { if (osvi.dwMajorVersion == 4) { res += " Workstation 4.0"; } else if (osvi.dwMajorVersion == 5) { if (osvi.wSuiteMask & VER_SUITE_PERSONAL) { res += " Home Edition"; } else { res += " Professional"; } } } // Test for the server type. else if (osvi.wProductType == VER_NT_SERVER) { if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2) { if (osvi.wSuiteMask & VER_SUITE_DATACENTER) { res += " Datacenter Edition"; } else if (osvi.wSuiteMask & VER_SUITE_ENTERPRISE) { res += " Enterprise Edition"; } else if (osvi.wSuiteMask == VER_SUITE_BLADE) { res += " Web Edition"; } else { res += " Standard Edition"; } } else if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0) { if (osvi.wSuiteMask & VER_SUITE_DATACENTER) { res += " Datacenter Server"; } else if (osvi.wSuiteMask & VER_SUITE_ENTERPRISE) { res += " Advanced Server"; } else { res += " Server"; } } else if (osvi.dwMajorVersion <= 4) // Windows NT 4.0 { if (osvi.wSuiteMask & VER_SUITE_ENTERPRISE) { res += " Server 4.0, Enterprise Edition"; } else { res += " Server 4.0"; } } } #endif // Visual Studio 7 and up } // Test for specific product on Windows NT 4.0 SP5 and earlier else { HKEY hKey; #define BUFSIZE 80 wchar_t szProductType[BUFSIZE]; DWORD dwBufLen=BUFSIZE; LONG lRet; lRet = RegOpenKeyExW( HKEY_LOCAL_MACHINE, L"SYSTEM\\CurrentControlSet\\Control\\ProductOptions", 0, KEY_QUERY_VALUE, &hKey); if (lRet != ERROR_SUCCESS) { return 0; } lRet = RegQueryValueExW(hKey, L"ProductType", NULL, NULL, (LPBYTE) szProductType, &dwBufLen); if ((lRet != ERROR_SUCCESS) || (dwBufLen > BUFSIZE)) { return 0; } RegCloseKey(hKey); if (lstrcmpiW(L"WINNT", szProductType) == 0) { res += " Workstation"; } if (lstrcmpiW(L"LANMANNT", szProductType) == 0) { res += " Server"; } if (lstrcmpiW(L"SERVERNT", szProductType) == 0) { res += " Advanced Server"; } res += " "; sprintf(buffer, "%ld", osvi.dwMajorVersion); res += buffer; res += "."; sprintf(buffer, "%ld", osvi.dwMinorVersion); res += buffer; } // Display service pack (if any) and build number. if (osvi.dwMajorVersion == 4 && lstrcmpiA(osvi.szCSDVersion, "Service Pack 6") == 0) { HKEY hKey; LONG lRet; // Test for SP6 versus SP6a. lRet = RegOpenKeyExW( HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Hotfix\\Q246009", 0, KEY_QUERY_VALUE, &hKey); if (lRet == ERROR_SUCCESS) { res += " Service Pack 6a (Build "; sprintf(buffer, "%ld", osvi.dwBuildNumber & 0xFFFF); res += buffer; res += ")"; } else // Windows NT 4.0 prior to SP6a { res += " "; res += osvi.szCSDVersion; res += " (Build "; sprintf(buffer, "%ld", osvi.dwBuildNumber & 0xFFFF); res += buffer; res += ")"; } RegCloseKey(hKey); } else // Windows NT 3.51 and earlier or Windows 2000 and later { res += " "; res += osvi.szCSDVersion; res += " (Build "; sprintf(buffer, "%ld", osvi.dwBuildNumber & 0xFFFF); res += buffer; res += ")"; } break; // Test for the Windows 95 product family. case VER_PLATFORM_WIN32_WINDOWS: if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 0) { res += "Microsoft Windows 95"; if (osvi.szCSDVersion[1] == 'C' || osvi.szCSDVersion[1] == 'B') { res += " OSR2"; } } if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 10) { res += "Microsoft Windows 98"; if (osvi.szCSDVersion[1] == 'A') { res += " SE"; } } if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 90) { res += "Microsoft Windows Millennium Edition"; } break; case VER_PLATFORM_WIN32s: res += "Microsoft Win32s"; break; } #endif return res; } // ---------------------------------------------------------------------- bool SystemTools::ParseURLProtocol( const std::string& URL, std::string& protocol, std::string& dataglom ) { // match 0 entire url // match 1 protocol // match 2 dataglom following protocol:// kwsys::RegularExpression urlRe( VTK_URL_PROTOCOL_REGEX ); if ( ! urlRe.find( URL ) ) return false; protocol = urlRe.match( 1 ); dataglom = urlRe.match( 2 ); return true; } // ---------------------------------------------------------------------- bool SystemTools::ParseURL( const std::string& URL, std::string& protocol, std::string& username, std::string& password, std::string& hostname, std::string& dataport, std::string& database ) { kwsys::RegularExpression urlRe( VTK_URL_REGEX ); if ( ! urlRe.find( URL ) ) return false; // match 0 URL // match 1 protocol // match 2 mangled user // match 3 username // match 4 mangled password // match 5 password // match 6 hostname // match 7 mangled port // match 8 dataport // match 9 database name protocol = urlRe.match( 1 ); username = urlRe.match( 3 ); password = urlRe.match( 5 ); hostname = urlRe.match( 6 ); dataport = urlRe.match( 8 ); database = urlRe.match( 9 ); return true; } // ---------------------------------------------------------------------- // These must NOT be initialized. Default initialization to zero is // necessary. static unsigned int SystemToolsManagerCount; SystemToolsTranslationMap *SystemTools::TranslationMap; #ifdef _WIN32 SystemToolsPathCaseMap *SystemTools::PathCaseMap; #endif #ifdef __CYGWIN__ SystemToolsTranslationMap *SystemTools::Cyg2Win32Map; #endif // SystemToolsManager manages the SystemTools singleton. // SystemToolsManager should be included in any translation unit // that will use SystemTools or that implements the singleton // pattern. It makes sure that the SystemTools singleton is created // before and destroyed after all other singletons in CMake. SystemToolsManager::SystemToolsManager() { if(++SystemToolsManagerCount == 1) { SystemTools::ClassInitialize(); } } SystemToolsManager::~SystemToolsManager() { if(--SystemToolsManagerCount == 0) { SystemTools::ClassFinalize(); } } #if defined(__VMS) // On VMS we configure the run time C library to be more UNIX like. // http://h71000.www7.hp.com/doc/732final/5763/5763pro_004.html extern "C" int decc$feature_get_index(char *name); extern "C" int decc$feature_set_value(int index, int mode, int value); static int SetVMSFeature(char* name, int value) { int i; errno = 0; i = decc$feature_get_index(name); return i >= 0 && (decc$feature_set_value(i, 1, value) >= 0 || errno == 0); } #endif void SystemTools::ClassInitialize() { #ifdef __VMS SetVMSFeature("DECC$FILENAME_UNIX_ONLY", 1); #endif // Allocate the translation map first. SystemTools::TranslationMap = new SystemToolsTranslationMap; #ifdef _WIN32 SystemTools::PathCaseMap = new SystemToolsPathCaseMap; #endif #ifdef __CYGWIN__ SystemTools::Cyg2Win32Map = new SystemToolsTranslationMap; #endif // Add some special translation paths for unix. These are not added // for windows because drive letters need to be maintained. Also, // there are not sym-links and mount points on windows anyway. #if !defined(_WIN32) || defined(__CYGWIN__) // The tmp path is frequently a logical path so always keep it: SystemTools::AddKeepPath("/tmp/"); // If the current working directory is a logical path then keep the // logical name. if(const char* pwd = getenv("PWD")) { char buf[2048]; if(const char* cwd = Getcwd(buf, 2048)) { // The current working directory may be a logical path. Find // the shortest logical path that still produces the correct // physical path. std::string cwd_changed; std::string pwd_changed; // Test progressively shorter logical-to-physical mappings. std::string pwd_str = pwd; std::string cwd_str = cwd; std::string pwd_path; Realpath(pwd, pwd_path); while(cwd_str == pwd_path && cwd_str != pwd_str) { // The current pair of paths is a working logical mapping. cwd_changed = cwd_str; pwd_changed = pwd_str; // Strip off one directory level and see if the logical // mapping still works. pwd_str = SystemTools::GetFilenamePath(pwd_str); cwd_str = SystemTools::GetFilenamePath(cwd_str); Realpath(pwd_str.c_str(), pwd_path); } // Add the translation to keep the logical path name. if(!cwd_changed.empty() && !pwd_changed.empty()) { SystemTools::AddTranslationPath(cwd_changed, pwd_changed); } } } #endif } void SystemTools::ClassFinalize() { delete SystemTools::TranslationMap; #ifdef _WIN32 delete SystemTools::PathCaseMap; #endif #ifdef __CYGWIN__ delete SystemTools::Cyg2Win32Map; #endif } } // namespace KWSYS_NAMESPACE #if defined(_MSC_VER) && defined(_DEBUG) # include # include # include namespace KWSYS_NAMESPACE { static int SystemToolsDebugReport(int, char* message, int*) { fprintf(stderr, "%s", message); fflush(stderr); return 1; // no further reporting required } void SystemTools::EnableMSVCDebugHook() { if (getenv("DART_TEST_FROM_DART") || getenv("DASHBOARD_TEST_FROM_CTEST")) { _CrtSetReportHook(SystemToolsDebugReport); } } } // namespace KWSYS_NAMESPACE #else namespace KWSYS_NAMESPACE { void SystemTools::EnableMSVCDebugHook() {} } // namespace KWSYS_NAMESPACE #endif KWStyle-master/Utilities/KWSys/SystemTools.hxx.in000066400000000000000000001031431265471724600223670ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_SystemTools_hxx #define @KWSYS_NAMESPACE@_SystemTools_hxx #include <@KWSYS_NAMESPACE@/Configure.hxx> #include #include #include #include #include <@KWSYS_NAMESPACE@/String.hxx> #include #if !defined(_WIN32) || defined(__CYGWIN__) # include // For access permissions for use with access() #endif // Required for va_list #include // Required for FILE* #include #if !defined(va_list) // Some compilers move va_list into the std namespace and there is no way to // tell that this has been done. Playing with things being included before or // after stdarg.h does not solve things because we do not have control over // what the user does. This hack solves this problem by moving va_list to our // own namespace that is local for kwsys. namespace std {} // Required for platforms that do not have std namespace namespace @KWSYS_NAMESPACE@_VA_LIST { using namespace std; typedef va_list hack_va_list; } namespace @KWSYS_NAMESPACE@ { typedef @KWSYS_NAMESPACE@_VA_LIST::hack_va_list va_list; } #endif // va_list namespace @KWSYS_NAMESPACE@ { class SystemToolsTranslationMap; class SystemToolsPathCaseMap; /** \class SystemToolsManager * \brief Use to make sure SystemTools is initialized before it is used * and is the last static object destroyed */ class @KWSYS_NAMESPACE@_EXPORT SystemToolsManager { public: SystemToolsManager(); ~SystemToolsManager(); }; // This instance will show up in any translation unit that uses // SystemTools. It will make sure SystemTools is initialized // before it is used and is the last static object destroyed. static SystemToolsManager SystemToolsManagerInstance; // Flags for use with TestFileAccess. Use a typedef in case any operating // system in the future needs a special type. These are flags that may be // combined using the | operator. typedef int TestFilePermissions; #if defined(_WIN32) && !defined(__CYGWIN__) // On Windows (VC and Borland), no system header defines these constants... static const TestFilePermissions TEST_FILE_OK = 0; static const TestFilePermissions TEST_FILE_READ = 4; static const TestFilePermissions TEST_FILE_WRITE = 2; static const TestFilePermissions TEST_FILE_EXECUTE = 1; #else // Standard POSIX constants static const TestFilePermissions TEST_FILE_OK = F_OK; static const TestFilePermissions TEST_FILE_READ = R_OK; static const TestFilePermissions TEST_FILE_WRITE = W_OK; static const TestFilePermissions TEST_FILE_EXECUTE = X_OK; #endif /** \class SystemTools * \brief A collection of useful platform-independent system functions. */ class @KWSYS_NAMESPACE@_EXPORT SystemTools { public: /** ----------------------------------------------------------------- * String Manipulation Routines * ----------------------------------------------------------------- */ /** * Replace symbols in str that are not valid in C identifiers as * defined by the 1999 standard, ie. anything except [A-Za-z0-9_]. * They are replaced with `_' and if the first character is a digit * then an underscore is prepended. Note that this can produce * identifiers that the standard reserves (_[A-Z].* and __.*). */ static std::string MakeCidentifier(const std::string& s); static std::string MakeCindentifier(const std::string& s) { return MakeCidentifier(s); } /** * Replace replace all occurences of the string in the source string. */ static void ReplaceString(std::string& source, const char* replace, const char* with); static void ReplaceString(std::string& source, const std::string& replace, const std::string& with); /** * Return a capitalized string (i.e the first letter is uppercased, * all other are lowercased). */ static std::string Capitalized(const std::string&); /** * Return a 'capitalized words' string (i.e the first letter of each word * is uppercased all other are left untouched though). */ static std::string CapitalizedWords(const std::string&); /** * Return a 'uncapitalized words' string (i.e the first letter of each word * is lowercased all other are left untouched though). */ static std::string UnCapitalizedWords(const std::string&); /** * Return a lower case string */ static std::string LowerCase(const std::string&); /** * Return a lower case string */ static std::string UpperCase(const std::string&); /** * Count char in string */ static size_t CountChar(const char* str, char c); /** * Remove some characters from a string. * Return a pointer to the new resulting string (allocated with 'new') */ static char* RemoveChars(const char* str, const char *toremove); /** * Remove remove all but 0->9, A->F characters from a string. * Return a pointer to the new resulting string (allocated with 'new') */ static char* RemoveCharsButUpperHex(const char* str); /** * Replace some characters by another character in a string (in-place) * Return a pointer to string */ static char* ReplaceChars(char* str, const char *toreplace,char replacement); /** * Returns true if str1 starts (respectively ends) with str2 */ static bool StringStartsWith(const char* str1, const char* str2); static bool StringStartsWith(const std::string& str1, const char* str2); static bool StringEndsWith(const char* str1, const char* str2); static bool StringEndsWith(const std::string& str1, const char* str2); /** * Returns a pointer to the last occurence of str2 in str1 */ static const char* FindLastString(const char* str1, const char* str2); /** * Make a duplicate of the string similar to the strdup C function * but use new to create the 'new' string, so one can use * 'delete' to remove it. Returns 0 if the input is empty. */ static char* DuplicateString(const char* str); /** * Return the string cropped to a given length by removing chars in the * center of the string and replacing them with an ellipsis (...) */ static std::string CropString(const std::string&,size_t max_len); /** split a path by separator into an array of strings, default is /. If isPath is true then the string is treated like a path and if s starts with a / then the first element of the returned array will be /, so /foo/bar will be [/, foo, bar] */ static std::vector SplitString(const std::string& s, char separator = '/', bool isPath = false); /** * Perform a case-independent string comparison */ static int Strucmp(const char *s1, const char *s2); /** * Convert a string in __DATE__ or __TIMESTAMP__ format into a time_t. * Return false on error, true on success */ static bool ConvertDateMacroString(const char *str, time_t *tmt); static bool ConvertTimeStampMacroString(const char *str, time_t *tmt); /** * Split a string on its newlines into multiple lines * Return false only if the last line stored had no newline */ static bool Split(const std::string& s, std::vector& l); static bool Split(const std::string& s, std::vector& l, char separator); /** * Return string with space added between capitalized words * (i.e. EatMyShorts becomes Eat My Shorts ) * (note that IEatShorts becomes IEat Shorts) */ static std::string AddSpaceBetweenCapitalizedWords( const std::string&); /** * Append two or more strings and produce new one. * Programmer must 'delete []' the resulting string, which was allocated * with 'new'. * Return 0 if inputs are empty or there was an error */ static char* AppendStrings( const char* str1, const char* str2); static char* AppendStrings( const char* str1, const char* str2, const char* str3); /** * Estimate the length of the string that will be produced * from printing the given format string and arguments. The * returned length will always be at least as large as the string * that will result from printing. * WARNING: since va_arg is called to iterate of the argument list, * you will not be able to use this 'ap' anymore from the beginning. * It's up to you to call va_end though. */ static int EstimateFormatLength(const char *format, va_list ap); /** * Escape specific characters in 'str'. */ static std::string EscapeChars( const char *str, const char *chars_to_escape, char escape_char = '\\'); /** ----------------------------------------------------------------- * Filename Manipulation Routines * ----------------------------------------------------------------- */ /** * Replace Windows file system slashes with Unix-style slashes. */ static void ConvertToUnixSlashes(std::string& path); #ifdef _WIN32 /** * Convert the path to an extended length path to avoid MAX_PATH length * limitations on Windows. If the input is a local path the result will be * prefixed with \\?\; if the input is instead a network path, the result * will be prefixed with \\?\UNC\. All output will also be converted to * absolute paths with Windows-style backslashes. **/ static std::wstring ConvertToWindowsExtendedPath(const std::string&); #endif /** * For windows this calls ConvertToWindowsOutputPath and for unix * it calls ConvertToUnixOutputPath */ static std::string ConvertToOutputPath(const std::string&); /** * Convert the path to a string that can be used in a unix makefile. * double slashes are removed, and spaces are escaped. */ static std::string ConvertToUnixOutputPath(const std::string&); /** * Convert the path to string that can be used in a windows project or * makefile. Double slashes are removed if they are not at the start of * the string, the slashes are converted to windows style backslashes, and * if there are spaces in the string it is double quoted. */ static std::string ConvertToWindowsOutputPath(const std::string&); /** * Return true if a file exists in the current directory. * If isFile = true, then make sure the file is a file and * not a directory. If isFile = false, then return true * if it is a file or a directory. Note that the file will * also be checked for read access. (Currently, this check * for read access is only done on POSIX systems.) */ static bool FileExists(const char* filename, bool isFile); static bool FileExists(const std::string& filename, bool isFile); static bool FileExists(const char* filename); static bool FileExists(const std::string& filename); /** * Test if a file exists and can be accessed with the requested * permissions. Symbolic links are followed. Returns true if * the access test was successful. * * On POSIX systems (including Cygwin), this maps to the access * function. On Windows systems, all existing files are * considered readable, and writable files are considered to * have the read-only file attribute cleared. */ static bool TestFileAccess(const char* filename, TestFilePermissions permissions); static bool TestFileAccess(const std::string& filename, TestFilePermissions permissions); /** * Converts Cygwin path to Win32 path. Uses dictionary container for * caching and calls to cygwin_conv_to_win32_path from Cygwin dll * for actual translation. Returns true on success, else false. */ #ifdef __CYGWIN__ static bool PathCygwinToWin32(const char *path, char *win32_path); #endif /** * Return file length */ static unsigned long FileLength(const std::string& filename); /** Change the modification time or create a file */ static bool Touch(const std::string& filename, bool create); /** * Compare file modification times. * Return true for successful comparison and false for error. * When true is returned, result has -1, 0, +1 for * f1 older, same, or newer than f2. */ static bool FileTimeCompare(const std::string& f1, const std::string& f2, int* result); /** * Get the file extension (including ".") needed for an executable * on the current platform ("" for unix, ".exe" for Windows). */ static const char* GetExecutableExtension(); /** * Given a path that exists on a windows machine, return the * actuall case of the path as it was created. If the file * does not exist path is returned unchanged. This does nothing * on unix but return path. */ static std::string GetActualCaseForPath(const std::string& path); /** * Given the path to a program executable, get the directory part of * the path with the file stripped off. If there is no directory * part, the empty string is returned. */ static std::string GetProgramPath(const std::string&); static bool SplitProgramPath(const std::string& in_name, std::string& dir, std::string& file, bool errorReport = true); /** * Given argv[0] for a unix program find the full path to a running * executable. argv0 can be null for windows WinMain programs * in this case GetModuleFileName will be used to find the path * to the running executable. If argv0 is not a full path, * then this will try to find the full path. If the path is not * found false is returned, if found true is returned. An error * message of the attempted paths is stored in errorMsg. * exeName is the name of the executable. * buildDir is a possibly null path to the build directory. * installPrefix is a possibly null pointer to the install directory. */ static bool FindProgramPath(const char* argv0, std::string& pathOut, std::string& errorMsg, const char* exeName = 0, const char* buildDir = 0, const char* installPrefix = 0); /** * Given a path to a file or directory, convert it to a full path. * This collapses away relative paths relative to the cwd argument * (which defaults to the current working directory). The full path * is returned. */ static std::string CollapseFullPath(const std::string& in_relative); static std::string CollapseFullPath(const std::string& in_relative, const char* in_base); static std::string CollapseFullPath(const std::string& in_relative, const std::string& in_base); /** * Get the real path for a given path, removing all symlinks. In * the event of an error (non-existent path, permissions issue, * etc.) the original path is returned if errorMessage pointer is * NULL. Otherwise empty string is returned and errorMessage * contains error description. */ static std::string GetRealPath(const std::string& path, std::string* errorMessage = 0); /** * Split a path name into its root component and the rest of the * path. The root component is one of the following: * "/" = UNIX full path * "c:/" = Windows full path (can be any drive letter) * "c:" = Windows drive-letter relative path (can be any drive letter) * "//" = Network path * "~/" = Home path for current user * "~u/" = Home path for user 'u' * "" = Relative path * * A pointer to the rest of the path after the root component is * returned. The root component is stored in the "root" string if * given. */ static const char* SplitPathRootComponent(const std::string& p, std::string* root=0); /** * Split a path name into its basic components. The first component * always exists and is the root returned by SplitPathRootComponent. * The remaining components form the path. If there is a trailing * slash then the last component is the empty string. The * components can be recombined as "c[0]c[1]/c[2]/.../c[n]" to * produce the original path. Home directory references are * automatically expanded if expand_home_dir is true and this * platform supports them. */ static void SplitPath(const std::string& p, std::vector& components, bool expand_home_dir = true); /** * Join components of a path name into a single string. See * SplitPath for the format of the components. */ static std::string JoinPath( const std::vector& components); static std::string JoinPath( std::vector::const_iterator first, std::vector::const_iterator last); /** * Compare a path or components of a path. */ static bool ComparePath(const std::string& c1, const std::string& c2); /** * Return path of a full filename (no trailing slashes) */ static std::string GetFilenamePath(const std::string&); /** * Return file name of a full filename (i.e. file name without path) */ static std::string GetFilenameName(const std::string&); /** * Split a program from its arguments and handle spaces in the paths */ static void SplitProgramFromArgs( const std::string& path, std::string& program, std::string& args); /** * Return longest file extension of a full filename (dot included) */ static std::string GetFilenameExtension(const std::string&); /** * Return shortest file extension of a full filename (dot included) */ static std::string GetFilenameLastExtension( const std::string& filename); /** * Return file name without extension of a full filename */ static std::string GetFilenameWithoutExtension( const std::string&); /** * Return file name without its last (shortest) extension */ static std::string GetFilenameWithoutLastExtension( const std::string&); /** * Return whether the path represents a full path (not relative) */ static bool FileIsFullPath(const std::string&); static bool FileIsFullPath(const char*); /** * For windows return the short path for the given path, * Unix just a pass through */ static bool GetShortPath(const std::string& path, std::string& result); /** * Read line from file. Make sure to get everything. Due to a buggy stream * library on the HP and another on Mac OS X, we need this very carefully * written version of getline. Returns true if any data were read before the * end-of-file was reached. If the has_newline argument is specified, it will * be true when the line read had a newline character. */ static bool GetLineFromStream(std::istream& istr, std::string& line, bool* has_newline=0, long sizeLimit=-1); /** * Get the parent directory of the directory or file */ static std::string GetParentDirectory(const std::string& fileOrDir); /** * Check if the given file or directory is in subdirectory of dir */ static bool IsSubDirectory(const std::string& fileOrDir, const std::string& dir); /** ----------------------------------------------------------------- * File Manipulation Routines * ----------------------------------------------------------------- */ /** * Open a file considering unicode. */ static FILE* Fopen(const std::string& file, const char* mode); /** * Make a new directory if it is not there. This function * can make a full path even if none of the directories existed * prior to calling this function. */ static bool MakeDirectory(const char* path); static bool MakeDirectory(const std::string& path); /** * Copy the source file to the destination file only * if the two files differ. */ static bool CopyFileIfDifferent(const std::string& source, const std::string& destination); /** * Compare the contents of two files. Return true if different */ static bool FilesDiffer(const std::string& source, const std::string& destination); /** * Return true if the two files are the same file */ static bool SameFile(const std::string& file1, const std::string& file2); /** * Copy a file. */ static bool CopyFileAlways(const std::string& source, const std::string& destination); /** * Copy a file. If the "always" argument is true the file is always * copied. If it is false, the file is copied only if it is new or * has changed. */ static bool CopyAFile(const std::string& source, const std::string& destination, bool always = true); /** * Copy content directory to another directory with all files and * subdirectories. If the "always" argument is true all files are * always copied. If it is false, only files that have changed or * are new are copied. */ static bool CopyADirectory(const std::string& source, const std::string& destination, bool always = true); /** * Remove a file */ static bool RemoveFile(const std::string& source); /** * Remove a directory */ static bool RemoveADirectory(const std::string& source); /** * Get the maximum full file path length */ static size_t GetMaximumFilePathLength(); /** * Find a file in the system PATH, with optional extra paths */ static std::string FindFile( const std::string& name, const std::vector& path = std::vector(), bool no_system_path = false); /** * Find a directory in the system PATH, with optional extra paths */ static std::string FindDirectory( const std::string& name, const std::vector& path = std::vector(), bool no_system_path = false); /** * Find an executable in the system PATH, with optional extra paths */ static std::string FindProgram( const char* name, const std::vector& path = std::vector(), bool no_system_path = false); static std::string FindProgram( const std::string& name, const std::vector& path = std::vector(), bool no_system_path = false); static std::string FindProgram( const std::vector& names, const std::vector& path = std::vector(), bool no_system_path = false); /** * Find a library in the system PATH, with optional extra paths */ static std::string FindLibrary( const std::string& name, const std::vector& path); /** * Return true if the file is a directory */ static bool FileIsDirectory(const std::string& name); /** * Return true if the file is a symlink */ static bool FileIsSymlink(const std::string& name); /** * Return true if the file has a given signature (first set of bytes) */ static bool FileHasSignature( const char* filename, const char *signature, long offset = 0); /** * Attempt to detect and return the type of a file. * Up to 'length' bytes are read from the file, if more than 'percent_bin' % * of the bytes are non-textual elements, the file is considered binary, * otherwise textual. Textual elements are bytes in the ASCII [0x20, 0x7E] * range, but also \\n, \\r, \\t. * The algorithm is simplistic, and should probably check for usual file * extensions, 'magic' signature, unicode, etc. */ enum FileTypeEnum { FileTypeUnknown, FileTypeBinary, FileTypeText }; static SystemTools::FileTypeEnum DetectFileType( const char* filename, unsigned long length = 256, double percent_bin = 0.05); /** * Create a symbolic link if the platform supports it. Returns whether * creation succeded. */ static bool CreateSymlink(const std::string& origName, const std::string& newName); /** * Read the contents of a symbolic link. Returns whether reading * succeded. */ static bool ReadSymlink(const std::string& newName, std::string& origName); /** * Try to locate the file 'filename' in the directory 'dir'. * If 'filename' is a fully qualified filename, the basename of the file is * used to check for its existence in 'dir'. * If 'dir' is not a directory, GetFilenamePath() is called on 'dir' to * get its directory first (thus, you can pass a filename as 'dir', as * a convenience). * 'filename_found' is assigned the fully qualified name/path of the file * if it is found (not touched otherwise). * If 'try_filename_dirs' is true, try to find the file using the * components of its path, i.e. if we are looking for c:/foo/bar/bill.txt, * first look for bill.txt in 'dir', then in 'dir'/bar, then in 'dir'/foo/bar * etc. * Return true if the file was found, false otherwise. */ static bool LocateFileInDir(const char *filename, const char *dir, std::string& filename_found, int try_filename_dirs = 0); /** compute the relative path from local to remote. local must be a directory. remote can be a file or a directory. Both remote and local must be full paths. Basically, if you are in directory local and you want to access the file in remote what is the relative path to do that. For example: /a/b/c/d to /a/b/c1/d1 -> ../../c1/d1 from /usr/src to /usr/src/test/blah/foo.cpp -> test/blah/foo.cpp */ static std::string RelativePath(const std::string& local, const std::string& remote); /** * Return file's modified time */ static long int ModifiedTime(const std::string& filename); /** * Return file's creation time (Win32: works only for NTFS, not FAT) */ static long int CreationTime(const std::string& filename); /** * Visual C++ does not define mode_t (note that Borland does, however). */ #if defined( _MSC_VER ) typedef unsigned short mode_t; #endif /** * Get and set permissions of the file. If honor_umask is set, the umask * is queried and applied to the given permissions. Returns false if * failure. * * WARNING: A non-thread-safe method is currently used to get the umask * if a honor_umask parameter is set to true. */ static bool GetPermissions(const char* file, mode_t& mode); static bool GetPermissions(const std::string& file, mode_t& mode); static bool SetPermissions(const char* file, mode_t mode, bool honor_umask = false); static bool SetPermissions(const std::string& file, mode_t mode, bool honor_umask = false); /** ----------------------------------------------------------------- * Time Manipulation Routines * ----------------------------------------------------------------- */ /** Get current time in seconds since Posix Epoch (Jan 1, 1970). */ static double GetTime(); /** * Get current date/time */ static std::string GetCurrentDateTime(const char* format); /** ----------------------------------------------------------------- * Registry Manipulation Routines * ----------------------------------------------------------------- */ /** * Specify access to the 32-bit or 64-bit application view of * registry values. The default is to match the currently running * binary type. */ enum KeyWOW64 { KeyWOW64_Default, KeyWOW64_32, KeyWOW64_64 }; /** * Get a list of subkeys. */ static bool GetRegistrySubKeys(const std::string& key, std::vector& subkeys, KeyWOW64 view = KeyWOW64_Default); /** * Read a registry value */ static bool ReadRegistryValue(const std::string& key, std::string &value, KeyWOW64 view = KeyWOW64_Default); /** * Write a registry value */ static bool WriteRegistryValue(const std::string& key, const std::string& value, KeyWOW64 view = KeyWOW64_Default); /** * Delete a registry value */ static bool DeleteRegistryValue(const std::string& key, KeyWOW64 view = KeyWOW64_Default); /** ----------------------------------------------------------------- * Environment Manipulation Routines * ----------------------------------------------------------------- */ /** * Add the paths from the environment variable PATH to the * string vector passed in. If env is set then the value * of env will be used instead of PATH. */ static void GetPath(std::vector& path, const char* env=0); /** * Read an environment variable */ static const char* GetEnv(const char* key); static const char* GetEnv(const std::string& key); static bool GetEnv(const char* key, std::string& result); static bool GetEnv(const std::string& key, std::string& result); /** Put a string into the environment of the form var=value */ static bool PutEnv(const std::string& env); /** Remove a string from the environment. Input is of the form "var" or "var=value" (value is ignored). */ static bool UnPutEnv(const std::string& env); /** * Get current working directory CWD */ static std::string GetCurrentWorkingDirectory(bool collapse =true); /** * Change directory to the directory specified */ static int ChangeDirectory(const std::string& dir); /** * Get the result of strerror(errno) */ static std::string GetLastSystemError(); /** * When building DEBUG with MSVC, this enables a hook that prevents * error dialogs from popping up if the program is being run from * DART. */ static void EnableMSVCDebugHook(); /** * Get the width of the terminal window. The code may or may not work, so * make sure you have some resonable defaults prepared if the code returns * some bogus size. */ static int GetTerminalWidth(); /** * Add an entry in the path translation table. */ static void AddTranslationPath(const std::string& dir, const std::string& refdir); /** * If dir is different after CollapseFullPath is called, * Then insert it into the path translation table */ static void AddKeepPath(const std::string& dir); /** * Update path by going through the Path Translation table; */ static void CheckTranslationPath(std::string & path); /** * Delay the execution for a specified amount of time specified * in miliseconds */ static void Delay(unsigned int msec); /** * Get the operating system name and version * This is implemented for Win32 only for the moment */ static std::string GetOperatingSystemNameAndVersion(); /** ----------------------------------------------------------------- * URL Manipulation Routines * ----------------------------------------------------------------- */ /** * Parse a character string : * protocol://dataglom * and fill protocol as appropriate. * Return false if the URL does not have the required form, true otherwise. */ static bool ParseURLProtocol( const std::string& URL, std::string& protocol, std::string& dataglom ); /** * Parse a string (a URL without protocol prefix) with the form: * protocol://[[username[':'password]'@']hostname[':'dataport]]'/'[datapath] * and fill protocol, username, password, hostname, dataport, and datapath * when values are found. * Return true if the string matches the format; false otherwise. */ static bool ParseURL( const std::string& URL, std::string& protocol, std::string& username, std::string& password, std::string& hostname, std::string& dataport, std::string& datapath ); private: /** * Allocate the stl map that serve as the Path Translation table. */ static void ClassInitialize(); /** * Deallocate the stl map that serve as the Path Translation table. */ static void ClassFinalize(); /** * This method prevents warning on SGI */ SystemToolsManager* GetSystemToolsManager() { return &SystemToolsManagerInstance; } /** * Actual implementation of ReplaceString. */ static void ReplaceString(std::string& source, const char* replace, size_t replaceSize, const std::string& with); /** * Actual implementation of FileIsFullPath. */ static bool FileIsFullPath(const char*, size_t); /** * Find a filename (file or directory) in the system PATH, with * optional extra paths. */ static std::string FindName( const std::string& name, const std::vector& path = std::vector(), bool no_system_path = false); /** * Path translation table from dir to refdir * Each time 'dir' will be found it will be replace by 'refdir' */ static SystemToolsTranslationMap *TranslationMap; #ifdef _WIN32 static SystemToolsPathCaseMap *PathCaseMap; #endif #ifdef __CYGWIN__ static SystemToolsTranslationMap *Cyg2Win32Map; #endif friend class SystemToolsManager; }; } // namespace @KWSYS_NAMESPACE@ #endif KWStyle-master/Utilities/KWSys/Terminal.c000066400000000000000000000331721265471724600206470ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(Terminal.h) /* Work-around CMake dependency scanning limitation. This must duplicate the above list of headers. */ #if 0 # include "Terminal.h.in" #endif /*--------------------------------------------------------------------------*/ /* Configure support for this platform. */ #if defined(_WIN32) || defined(__CYGWIN__) # define KWSYS_TERMINAL_SUPPORT_CONSOLE #endif #if !defined(_WIN32) # define KWSYS_TERMINAL_ISATTY_WORKS #endif /*--------------------------------------------------------------------------*/ /* Include needed system APIs. */ #include /* getenv */ #include /* strcmp */ #include /* va_list */ #if defined(KWSYS_TERMINAL_SUPPORT_CONSOLE) # include /* SetConsoleTextAttribute */ # include /* _get_osfhandle */ #endif #if defined(KWSYS_TERMINAL_ISATTY_WORKS) # include /* isatty */ #else # include /* fstat */ #endif /*--------------------------------------------------------------------------*/ static int kwsysTerminalStreamIsVT100(FILE* stream, int default_vt100, int default_tty); static void kwsysTerminalSetVT100Color(FILE* stream, int color); #if defined(KWSYS_TERMINAL_SUPPORT_CONSOLE) static HANDLE kwsysTerminalGetStreamHandle(FILE* stream); static void kwsysTerminalSetConsoleColor(HANDLE hOut, CONSOLE_SCREEN_BUFFER_INFO* hOutInfo, FILE* stream, int color); #endif /*--------------------------------------------------------------------------*/ void kwsysTerminal_cfprintf(int color, FILE* stream, const char* format, ...) { /* Setup the stream with the given color if possible. */ int pipeIsConsole = 0; int pipeIsVT100 = 0; int default_vt100 = color & kwsysTerminal_Color_AssumeVT100; int default_tty = color & kwsysTerminal_Color_AssumeTTY; #if defined(KWSYS_TERMINAL_SUPPORT_CONSOLE) CONSOLE_SCREEN_BUFFER_INFO hOutInfo; HANDLE hOut = kwsysTerminalGetStreamHandle(stream); if(GetConsoleScreenBufferInfo(hOut, &hOutInfo)) { pipeIsConsole = 1; kwsysTerminalSetConsoleColor(hOut, &hOutInfo, stream, color); } #endif if(!pipeIsConsole && kwsysTerminalStreamIsVT100(stream, default_vt100, default_tty)) { pipeIsVT100 = 1; kwsysTerminalSetVT100Color(stream, color); } /* Format the text into the stream. */ { va_list var_args; va_start(var_args, format); vfprintf(stream, format, var_args); va_end(var_args); } /* Restore the normal color state for the stream. */ #if defined(KWSYS_TERMINAL_SUPPORT_CONSOLE) if(pipeIsConsole) { kwsysTerminalSetConsoleColor(hOut, &hOutInfo, stream, kwsysTerminal_Color_Normal); } #endif if(pipeIsVT100) { kwsysTerminalSetVT100Color(stream, kwsysTerminal_Color_Normal); } } /*--------------------------------------------------------------------------*/ /* Detect cases when a stream is definitely not interactive. */ #if !defined(KWSYS_TERMINAL_ISATTY_WORKS) static int kwsysTerminalStreamIsNotInteractive(FILE* stream) { /* The given stream is definitely not interactive if it is a regular file. */ struct stat stream_stat; if(fstat(fileno(stream), &stream_stat) == 0) { if(stream_stat.st_mode & S_IFREG) { return 1; } } return 0; } #endif /*--------------------------------------------------------------------------*/ /* List of terminal names known to support VT100 color escape sequences. */ static const char* kwsysTerminalVT100Names[] = { "Eterm", "ansi", "color-xterm", "con132x25", "con132x30", "con132x43", "con132x60", "con80x25", "con80x28", "con80x30", "con80x43", "con80x50", "con80x60", "cons25", "console", "cygwin", "dtterm", "eterm-color", "gnome", "gnome-256color", "konsole", "konsole-256color", "kterm", "linux", "msys", "linux-c", "mach-color", "mlterm", "putty", "putty-256color", "rxvt", "rxvt-256color", "rxvt-cygwin", "rxvt-cygwin-native", "rxvt-unicode", "rxvt-unicode-256color", "screen", "screen-256color", "screen-256color-bce", "screen-bce", "screen-w", "screen.linux", "vt100", "xterm", "xterm-16color", "xterm-256color", "xterm-88color", "xterm-color", "xterm-debian", "xterm-termite", 0 }; /*--------------------------------------------------------------------------*/ /* Detect whether a stream is displayed in a VT100-compatible terminal. */ static int kwsysTerminalStreamIsVT100(FILE* stream, int default_vt100, int default_tty) { /* If running inside emacs the terminal is not VT100. Some emacs seem to claim the TERM is xterm even though they do not support VT100 escapes. */ const char* emacs = getenv("EMACS"); if(emacs && *emacs == 't') { return 0; } /* Check for a valid terminal. */ if(!default_vt100) { const char** t = 0; const char* term = getenv("TERM"); if(term) { for(t = kwsysTerminalVT100Names; *t && strcmp(term, *t) != 0; ++t) {} } if(!(t && *t)) { return 0; } } #if defined(KWSYS_TERMINAL_ISATTY_WORKS) /* Make sure the stream is a tty. */ (void)default_tty; return isatty(fileno(stream))? 1:0; #else /* Check for cases in which the stream is definitely not a tty. */ if(kwsysTerminalStreamIsNotInteractive(stream)) { return 0; } /* Use the provided default for whether this is a tty. */ return default_tty; #endif } /*--------------------------------------------------------------------------*/ /* VT100 escape sequence strings. */ #define KWSYS_TERMINAL_VT100_NORMAL "\33[0m" #define KWSYS_TERMINAL_VT100_BOLD "\33[1m" #define KWSYS_TERMINAL_VT100_UNDERLINE "\33[4m" #define KWSYS_TERMINAL_VT100_BLINK "\33[5m" #define KWSYS_TERMINAL_VT100_INVERSE "\33[7m" #define KWSYS_TERMINAL_VT100_FOREGROUND_BLACK "\33[30m" #define KWSYS_TERMINAL_VT100_FOREGROUND_RED "\33[31m" #define KWSYS_TERMINAL_VT100_FOREGROUND_GREEN "\33[32m" #define KWSYS_TERMINAL_VT100_FOREGROUND_YELLOW "\33[33m" #define KWSYS_TERMINAL_VT100_FOREGROUND_BLUE "\33[34m" #define KWSYS_TERMINAL_VT100_FOREGROUND_MAGENTA "\33[35m" #define KWSYS_TERMINAL_VT100_FOREGROUND_CYAN "\33[36m" #define KWSYS_TERMINAL_VT100_FOREGROUND_WHITE "\33[37m" #define KWSYS_TERMINAL_VT100_BACKGROUND_BLACK "\33[40m" #define KWSYS_TERMINAL_VT100_BACKGROUND_RED "\33[41m" #define KWSYS_TERMINAL_VT100_BACKGROUND_GREEN "\33[42m" #define KWSYS_TERMINAL_VT100_BACKGROUND_YELLOW "\33[43m" #define KWSYS_TERMINAL_VT100_BACKGROUND_BLUE "\33[44m" #define KWSYS_TERMINAL_VT100_BACKGROUND_MAGENTA "\33[45m" #define KWSYS_TERMINAL_VT100_BACKGROUND_CYAN "\33[46m" #define KWSYS_TERMINAL_VT100_BACKGROUND_WHITE "\33[47m" /*--------------------------------------------------------------------------*/ /* Write VT100 escape sequences to the stream for the given color. */ static void kwsysTerminalSetVT100Color(FILE* stream, int color) { if(color == kwsysTerminal_Color_Normal) { fprintf(stream, KWSYS_TERMINAL_VT100_NORMAL); return; } switch(color & kwsysTerminal_Color_ForegroundMask) { case kwsysTerminal_Color_Normal: fprintf(stream, KWSYS_TERMINAL_VT100_NORMAL); break; case kwsysTerminal_Color_ForegroundBlack: fprintf(stream, KWSYS_TERMINAL_VT100_FOREGROUND_BLACK); break; case kwsysTerminal_Color_ForegroundRed: fprintf(stream, KWSYS_TERMINAL_VT100_FOREGROUND_RED); break; case kwsysTerminal_Color_ForegroundGreen: fprintf(stream, KWSYS_TERMINAL_VT100_FOREGROUND_GREEN); break; case kwsysTerminal_Color_ForegroundYellow: fprintf(stream, KWSYS_TERMINAL_VT100_FOREGROUND_YELLOW); break; case kwsysTerminal_Color_ForegroundBlue: fprintf(stream, KWSYS_TERMINAL_VT100_FOREGROUND_BLUE); break; case kwsysTerminal_Color_ForegroundMagenta: fprintf(stream, KWSYS_TERMINAL_VT100_FOREGROUND_MAGENTA); break; case kwsysTerminal_Color_ForegroundCyan: fprintf(stream, KWSYS_TERMINAL_VT100_FOREGROUND_CYAN); break; case kwsysTerminal_Color_ForegroundWhite: fprintf(stream, KWSYS_TERMINAL_VT100_FOREGROUND_WHITE); break; } switch(color & kwsysTerminal_Color_BackgroundMask) { case kwsysTerminal_Color_BackgroundBlack: fprintf(stream, KWSYS_TERMINAL_VT100_BACKGROUND_BLACK); break; case kwsysTerminal_Color_BackgroundRed: fprintf(stream, KWSYS_TERMINAL_VT100_BACKGROUND_RED); break; case kwsysTerminal_Color_BackgroundGreen: fprintf(stream, KWSYS_TERMINAL_VT100_BACKGROUND_GREEN); break; case kwsysTerminal_Color_BackgroundYellow: fprintf(stream, KWSYS_TERMINAL_VT100_BACKGROUND_YELLOW); break; case kwsysTerminal_Color_BackgroundBlue: fprintf(stream, KWSYS_TERMINAL_VT100_BACKGROUND_BLUE); break; case kwsysTerminal_Color_BackgroundMagenta: fprintf(stream, KWSYS_TERMINAL_VT100_BACKGROUND_MAGENTA); break; case kwsysTerminal_Color_BackgroundCyan: fprintf(stream, KWSYS_TERMINAL_VT100_BACKGROUND_CYAN); break; case kwsysTerminal_Color_BackgroundWhite: fprintf(stream, KWSYS_TERMINAL_VT100_BACKGROUND_WHITE); break; } if(color & kwsysTerminal_Color_ForegroundBold) { fprintf(stream, KWSYS_TERMINAL_VT100_BOLD); } } /*--------------------------------------------------------------------------*/ #if defined(KWSYS_TERMINAL_SUPPORT_CONSOLE) # define KWSYS_TERMINAL_MASK_FOREGROUND \ (FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY) # define KWSYS_TERMINAL_MASK_BACKGROUND \ (BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED | BACKGROUND_INTENSITY) /* Get the Windows handle for a FILE stream. */ static HANDLE kwsysTerminalGetStreamHandle(FILE* stream) { /* Get the C-library file descriptor from the stream. */ int fd = fileno(stream); # if defined(__CYGWIN__) /* Cygwin seems to have an extra pipe level. If the file descriptor corresponds to stdout or stderr then obtain the matching windows handle directly. */ if(fd == fileno(stdout)) { return GetStdHandle(STD_OUTPUT_HANDLE); } else if(fd == fileno(stderr)) { return GetStdHandle(STD_ERROR_HANDLE); } # endif /* Get the underlying Windows handle for the descriptor. */ return (HANDLE)_get_osfhandle(fd); } /* Set color attributes in a Windows console. */ static void kwsysTerminalSetConsoleColor(HANDLE hOut, CONSOLE_SCREEN_BUFFER_INFO* hOutInfo, FILE* stream, int color) { WORD attributes = 0; switch(color & kwsysTerminal_Color_ForegroundMask) { case kwsysTerminal_Color_Normal: attributes |= hOutInfo->wAttributes & KWSYS_TERMINAL_MASK_FOREGROUND; break; case kwsysTerminal_Color_ForegroundBlack: attributes |= 0; break; case kwsysTerminal_Color_ForegroundRed: attributes |= FOREGROUND_RED; break; case kwsysTerminal_Color_ForegroundGreen: attributes |= FOREGROUND_GREEN; break; case kwsysTerminal_Color_ForegroundYellow: attributes |= FOREGROUND_RED | FOREGROUND_GREEN; break; case kwsysTerminal_Color_ForegroundBlue: attributes |= FOREGROUND_BLUE; break; case kwsysTerminal_Color_ForegroundMagenta: attributes |= FOREGROUND_RED | FOREGROUND_BLUE; break; case kwsysTerminal_Color_ForegroundCyan: attributes |= FOREGROUND_BLUE | FOREGROUND_GREEN; break; case kwsysTerminal_Color_ForegroundWhite: attributes |= FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED; break; } switch(color & kwsysTerminal_Color_BackgroundMask) { case kwsysTerminal_Color_Normal: attributes |= hOutInfo->wAttributes & KWSYS_TERMINAL_MASK_BACKGROUND; break; case kwsysTerminal_Color_BackgroundBlack: attributes |= 0; break; case kwsysTerminal_Color_BackgroundRed: attributes |= BACKGROUND_RED; break; case kwsysTerminal_Color_BackgroundGreen: attributes |= BACKGROUND_GREEN; break; case kwsysTerminal_Color_BackgroundYellow: attributes |= BACKGROUND_RED | BACKGROUND_GREEN; break; case kwsysTerminal_Color_BackgroundBlue: attributes |= BACKGROUND_BLUE; break; case kwsysTerminal_Color_BackgroundMagenta: attributes |= BACKGROUND_RED | BACKGROUND_BLUE; break; case kwsysTerminal_Color_BackgroundCyan: attributes |= BACKGROUND_BLUE | BACKGROUND_GREEN; break; case kwsysTerminal_Color_BackgroundWhite: attributes |= BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED; break; } if(color & kwsysTerminal_Color_ForegroundBold) { attributes |= FOREGROUND_INTENSITY; } if(color & kwsysTerminal_Color_BackgroundBold) { attributes |= BACKGROUND_INTENSITY; } fflush(stream); SetConsoleTextAttribute(hOut, attributes); } #endif KWStyle-master/Utilities/KWSys/Terminal.h.in000066400000000000000000000161501265471724600212560ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_Terminal_h #define @KWSYS_NAMESPACE@_Terminal_h #include <@KWSYS_NAMESPACE@/Configure.h> #include /* For file stream type FILE. */ /* Redefine all public interface symbol names to be in the proper namespace. These macros are used internally to kwsys only, and are not visible to user code. Use kwsysHeaderDump.pl to reproduce these macros after making changes to the interface. */ #if !defined(KWSYS_NAMESPACE) # define kwsys_ns(x) @KWSYS_NAMESPACE@##x # define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT #endif #if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # define kwsysTerminal_cfprintf kwsys_ns(Terminal_cfprintf) # define kwsysTerminal_Color_e kwsys_ns(Terminal_Color_e) # define kwsysTerminal_Color_Normal kwsys_ns(Terminal_Color_Normal) # define kwsysTerminal_Color_ForegroundBlack kwsys_ns(Terminal_Color_ForegroundBlack) # define kwsysTerminal_Color_ForegroundRed kwsys_ns(Terminal_Color_ForegroundRed) # define kwsysTerminal_Color_ForegroundGreen kwsys_ns(Terminal_Color_ForegroundGreen) # define kwsysTerminal_Color_ForegroundYellow kwsys_ns(Terminal_Color_ForegroundYellow) # define kwsysTerminal_Color_ForegroundBlue kwsys_ns(Terminal_Color_ForegroundBlue) # define kwsysTerminal_Color_ForegroundMagenta kwsys_ns(Terminal_Color_ForegroundMagenta) # define kwsysTerminal_Color_ForegroundCyan kwsys_ns(Terminal_Color_ForegroundCyan) # define kwsysTerminal_Color_ForegroundWhite kwsys_ns(Terminal_Color_ForegroundWhite) # define kwsysTerminal_Color_ForegroundMask kwsys_ns(Terminal_Color_ForegroundMask) # define kwsysTerminal_Color_BackgroundBlack kwsys_ns(Terminal_Color_BackgroundBlack) # define kwsysTerminal_Color_BackgroundRed kwsys_ns(Terminal_Color_BackgroundRed) # define kwsysTerminal_Color_BackgroundGreen kwsys_ns(Terminal_Color_BackgroundGreen) # define kwsysTerminal_Color_BackgroundYellow kwsys_ns(Terminal_Color_BackgroundYellow) # define kwsysTerminal_Color_BackgroundBlue kwsys_ns(Terminal_Color_BackgroundBlue) # define kwsysTerminal_Color_BackgroundMagenta kwsys_ns(Terminal_Color_BackgroundMagenta) # define kwsysTerminal_Color_BackgroundCyan kwsys_ns(Terminal_Color_BackgroundCyan) # define kwsysTerminal_Color_BackgroundWhite kwsys_ns(Terminal_Color_BackgroundWhite) # define kwsysTerminal_Color_BackgroundMask kwsys_ns(Terminal_Color_BackgroundMask) # define kwsysTerminal_Color_ForegroundBold kwsys_ns(Terminal_Color_ForegroundBold) # define kwsysTerminal_Color_BackgroundBold kwsys_ns(Terminal_Color_BackgroundBold) # define kwsysTerminal_Color_AssumeTTY kwsys_ns(Terminal_Color_AssumeTTY) # define kwsysTerminal_Color_AssumeVT100 kwsys_ns(Terminal_Color_AssumeVT100) # define kwsysTerminal_Color_AttributeMask kwsys_ns(Terminal_Color_AttributeMask) #endif #if defined(__cplusplus) extern "C" { #endif /** * Write colored and formatted text to a stream. Color is used only * for streams supporting it. The color specification is constructed * by bitwise-OR-ing enumeration values. At most one foreground and * one background value may be given. * * Whether the a stream supports color is usually automatically * detected, but with two exceptions: * * - When the stream is displayed in a terminal supporting VT100 * color but using an intermediate pipe for communication the * detection of a tty fails. (This typically occurs for a shell * running in an rxvt terminal in MSYS.) If the caller knows this * to be the case, the attribute Color_AssumeTTY may be included in * the color specification. * * - When the stream is displayed in a terminal whose TERM * environment variable is not set or is set to a value that is not * known to support VT100 colors. If the caller knows this to be * the case, the attribute Color_AssumeVT100 may be included in the * color specification. */ kwsysEXPORT void kwsysTerminal_cfprintf(int color, FILE* stream, const char* format, ...); enum kwsysTerminal_Color_e { /* Normal Text */ kwsysTerminal_Color_Normal = 0, /* Foreground Color */ kwsysTerminal_Color_ForegroundBlack = 0x1, kwsysTerminal_Color_ForegroundRed = 0x2, kwsysTerminal_Color_ForegroundGreen = 0x3, kwsysTerminal_Color_ForegroundYellow = 0x4, kwsysTerminal_Color_ForegroundBlue = 0x5, kwsysTerminal_Color_ForegroundMagenta = 0x6, kwsysTerminal_Color_ForegroundCyan = 0x7, kwsysTerminal_Color_ForegroundWhite = 0x8, kwsysTerminal_Color_ForegroundMask = 0xF, /* Background Color */ kwsysTerminal_Color_BackgroundBlack = 0x10, kwsysTerminal_Color_BackgroundRed = 0x20, kwsysTerminal_Color_BackgroundGreen = 0x30, kwsysTerminal_Color_BackgroundYellow = 0x40, kwsysTerminal_Color_BackgroundBlue = 0x50, kwsysTerminal_Color_BackgroundMagenta = 0x60, kwsysTerminal_Color_BackgroundCyan = 0x70, kwsysTerminal_Color_BackgroundWhite = 0x80, kwsysTerminal_Color_BackgroundMask = 0xF0, /* Attributes */ kwsysTerminal_Color_ForegroundBold = 0x100, kwsysTerminal_Color_BackgroundBold = 0x200, kwsysTerminal_Color_AssumeTTY = 0x400, kwsysTerminal_Color_AssumeVT100 = 0x800, kwsysTerminal_Color_AttributeMask = 0xF00 }; #if defined(__cplusplus) } /* extern "C" */ #endif /* If we are building a kwsys .c or .cxx file, let it use these macros. Otherwise, undefine them to keep the namespace clean. */ #if !defined(KWSYS_NAMESPACE) # undef kwsys_ns # undef kwsysEXPORT # if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS # undef kwsysTerminal_cfprintf # undef kwsysTerminal_Color_e # undef kwsysTerminal_Color_Normal # undef kwsysTerminal_Color_ForegroundBlack # undef kwsysTerminal_Color_ForegroundRed # undef kwsysTerminal_Color_ForegroundGreen # undef kwsysTerminal_Color_ForegroundYellow # undef kwsysTerminal_Color_ForegroundBlue # undef kwsysTerminal_Color_ForegroundMagenta # undef kwsysTerminal_Color_ForegroundCyan # undef kwsysTerminal_Color_ForegroundWhite # undef kwsysTerminal_Color_ForegroundMask # undef kwsysTerminal_Color_BackgroundBlack # undef kwsysTerminal_Color_BackgroundRed # undef kwsysTerminal_Color_BackgroundGreen # undef kwsysTerminal_Color_BackgroundYellow # undef kwsysTerminal_Color_BackgroundBlue # undef kwsysTerminal_Color_BackgroundMagenta # undef kwsysTerminal_Color_BackgroundCyan # undef kwsysTerminal_Color_BackgroundWhite # undef kwsysTerminal_Color_BackgroundMask # undef kwsysTerminal_Color_ForegroundBold # undef kwsysTerminal_Color_BackgroundBold # undef kwsysTerminal_Color_AssumeTTY # undef kwsysTerminal_Color_AssumeVT100 # undef kwsysTerminal_Color_AttributeMask # endif #endif #endif KWStyle-master/Utilities/KWSys/auto_ptr.hxx.in000066400000000000000000000150051265471724600217160ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_auto_ptr_hxx #define @KWSYS_NAMESPACE@_auto_ptr_hxx #include <@KWSYS_NAMESPACE@/Configure.hxx> // The HP compiler and VS6 cannot handle the conversions necessary to use // auto_ptr_ref to pass an auto_ptr returned from one function // directly to another function as in use_auto_ptr(get_auto_ptr()). // We instead use const_cast to achieve the syntax on those platforms. // We do not use const_cast on other platforms to maintain the C++ // standard design and guarantee that if an auto_ptr is bound // to a reference-to-const then ownership will be maintained. #if defined(__HP_aCC) || (defined(_MSC_VER) && _MSC_VER <= 1200) # define @KWSYS_NAMESPACE@_AUTO_PTR_REF 0 # define @KWSYS_NAMESPACE@_AUTO_PTR_CONST const # define @KWSYS_NAMESPACE@_AUTO_PTR_CAST(a) cast(a) #else # define @KWSYS_NAMESPACE@_AUTO_PTR_REF 1 # define @KWSYS_NAMESPACE@_AUTO_PTR_CONST # define @KWSYS_NAMESPACE@_AUTO_PTR_CAST(a) a #endif // In C++11, clang will warn about using dynamic exception specifications // as they are deprecated. But as this class is trying to faithfully // mimic std::auto_ptr, we want to keep the 'throw()' decorations below. // So we suppress the warning. #if defined(__clang__) && defined(__has_warning) # if __has_warning("-Wdeprecated") # pragma clang diagnostic push # pragma clang diagnostic ignored "-Wdeprecated" # endif #endif namespace @KWSYS_NAMESPACE@ { template class auto_ptr; #if @KWSYS_NAMESPACE@_AUTO_PTR_REF namespace detail { // The auto_ptr_ref template is supposed to be a private member of // auto_ptr but Borland 5.8 cannot handle it. Instead put it in // a private namespace. template struct auto_ptr_ref { Y* p_; // The extra constructor argument prevents implicit conversion to // auto_ptr_ref from auto_ptr through the constructor. Normally // this should be done with the explicit keyword but Borland 5.x // generates code in the conversion operator to call itself // infinately. auto_ptr_ref(Y* p, int): p_(p) {} }; } #endif /** C++98 Standard Section 20.4.5 - Template class auto_ptr. */ template class auto_ptr { #if !@KWSYS_NAMESPACE@_AUTO_PTR_REF template static inline auto_ptr& cast(auto_ptr const& a) { return const_cast&>(a); } #endif /** The pointer to the object held. */ X* x_; public: /** The type of object held by the auto_ptr. */ typedef X element_type; /** Construct from an auto_ptr holding a compatible object. This transfers ownership to the newly constructed auto_ptr. */ template auto_ptr(auto_ptr @KWSYS_NAMESPACE@_AUTO_PTR_CONST& a) throw(): x_(@KWSYS_NAMESPACE@_AUTO_PTR_CAST(a).release()) { } /** Assign from an auto_ptr holding a compatible object. This transfers ownership to the left-hand-side of the assignment. */ template auto_ptr& operator=(auto_ptr @KWSYS_NAMESPACE@_AUTO_PTR_CONST& a) throw() { this->reset(@KWSYS_NAMESPACE@_AUTO_PTR_CAST(a).release()); return *this; } /** * Explicitly construct from a raw pointer. This is typically * called with the result of operator new. For example: * * auto_ptr ptr(new X()); */ explicit auto_ptr(X* p=0) throw(): x_(p) { } /** Construct from another auto_ptr holding an object of the same type. This transfers ownership to the newly constructed auto_ptr. */ auto_ptr(auto_ptr @KWSYS_NAMESPACE@_AUTO_PTR_CONST& a) throw(): x_(@KWSYS_NAMESPACE@_AUTO_PTR_CAST(a).release()) { } /** Assign from another auto_ptr holding an object of the same type. This transfers ownership to the newly constructed auto_ptr. */ auto_ptr& operator=(auto_ptr @KWSYS_NAMESPACE@_AUTO_PTR_CONST& a) throw() { this->reset(@KWSYS_NAMESPACE@_AUTO_PTR_CAST(a).release()); return *this; } /** Destruct and delete the object held. */ ~auto_ptr() throw() { // Assume object destructor is nothrow. delete this->x_; } /** Dereference and return a reference to the object held. */ X& operator*() const throw() { return *this->x_; } /** Return a pointer to the object held. */ X* operator->() const throw() { return this->x_; } /** Return a pointer to the object held. */ X* get() const throw() { return this->x_; } /** Return a pointer to the object held and reset to hold no object. This transfers ownership to the caller. */ X* release() throw() { X* x = this->x_; this->x_ = 0; return x; } /** Assume ownership of the given object. The object previously held is deleted. */ void reset(X* p=0) throw() { if(this->x_ != p) { // Assume object destructor is nothrow. delete this->x_; this->x_ = p; } } /** Convert to an auto_ptr holding an object of a compatible type. This transfers ownership to the returned auto_ptr. */ template operator auto_ptr() throw() { return auto_ptr(this->release()); } #if @KWSYS_NAMESPACE@_AUTO_PTR_REF /** Construct from an auto_ptr_ref. This is used when the constructor argument is a call to a function returning an auto_ptr. */ auto_ptr(detail::auto_ptr_ref r) throw(): x_(r.p_) { } /** Assign from an auto_ptr_ref. This is used when a function returning an auto_ptr is passed on the right-hand-side of an assignment. */ auto_ptr& operator=(detail::auto_ptr_ref r) throw() { this->reset(r.p_); return *this; } /** Convert to an auto_ptr_ref. This is used when a function returning an auto_ptr is the argument to the constructor of another auto_ptr. */ template operator detail::auto_ptr_ref() throw() { return detail::auto_ptr_ref(this->release(), 1); } #endif }; } // namespace @KWSYS_NAMESPACE@ // Undo warning suppression. #if defined(__clang__) && defined(__has_warning) # if __has_warning("-Wdeprecated") # pragma clang diagnostic pop # endif #endif #endif KWStyle-master/Utilities/KWSys/hash_fun.hxx.in000066400000000000000000000077341265471724600216660ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ /* * Copyright (c) 1996 * Silicon Graphics Computer Systems, Inc. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without fee, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. Silicon Graphics makes no * representations about the suitability of this software for any * purpose. It is provided "as is" without express or implied warranty. * * * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without fee, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. Hewlett-Packard Company makes no * representations about the suitability of this software for any * purpose. It is provided "as is" without express or implied warranty. * */ #ifndef @KWSYS_NAMESPACE@_hash_fun_hxx #define @KWSYS_NAMESPACE@_hash_fun_hxx #include <@KWSYS_NAMESPACE@/Configure.hxx> #include // size_t #include namespace @KWSYS_NAMESPACE@ { template struct hash { }; inline size_t _stl_hash_string(const char* __s) { unsigned long __h = 0; for ( ; *__s; ++__s) __h = 5*__h + *__s; return size_t(__h); } template <> struct hash { size_t operator()(const char* __s) const { return _stl_hash_string(__s); } }; template <> struct hash { size_t operator()(const char* __s) const { return _stl_hash_string(__s); } }; template <> struct hash { size_t operator()(const std::string & __s) const { return _stl_hash_string(__s.c_str()); } }; #if !defined(__BORLANDC__) template <> struct hash { size_t operator()(const std::string & __s) const { return _stl_hash_string(__s.c_str()); } }; #endif template <> struct hash { size_t operator()(char __x) const { return __x; } }; template <> struct hash { size_t operator()(unsigned char __x) const { return __x; } }; template <> struct hash { size_t operator()(unsigned char __x) const { return __x; } }; template <> struct hash { size_t operator()(short __x) const { return __x; } }; template <> struct hash { size_t operator()(unsigned short __x) const { return __x; } }; template <> struct hash { size_t operator()(int __x) const { return __x; } }; template <> struct hash { size_t operator()(unsigned int __x) const { return __x; } }; template <> struct hash { size_t operator()(long __x) const { return __x; } }; template <> struct hash { size_t operator()(unsigned long __x) const { return __x; } }; // use long long or __int64 #if @KWSYS_USE_LONG_LONG@ template <> struct hash { size_t operator()(long long __x) const { return __x; } }; template <> struct hash { size_t operator()(unsigned long long __x) const { return __x; } }; #elif @KWSYS_USE___INT64@ template <> struct hash<__int64> { size_t operator()(__int64 __x) const { return __x; } }; template <> struct hash { size_t operator()(unsigned __int64 __x) const { return __x; } }; #endif // use long long or __int64 } // namespace @KWSYS_NAMESPACE@ #endif KWStyle-master/Utilities/KWSys/hash_map.hxx.in000066400000000000000000000331261265471724600216450ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ /* * Copyright (c) 1996 * Silicon Graphics Computer Systems, Inc. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without fee, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. Silicon Graphics makes no * representations about the suitability of this software for any * purpose. It is provided "as is" without express or implied warranty. * * * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without fee, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. Hewlett-Packard Company makes no * representations about the suitability of this software for any * purpose. It is provided "as is" without express or implied warranty. * */ #ifndef @KWSYS_NAMESPACE@_hash_map_hxx #define @KWSYS_NAMESPACE@_hash_map_hxx #include <@KWSYS_NAMESPACE@/hashtable.hxx> #include <@KWSYS_NAMESPACE@/hash_fun.hxx> #include // equal_to #if defined(_MSC_VER) # pragma warning (push) # pragma warning (disable:4284) # pragma warning (disable:4786) #endif #if defined(__sgi) && !defined(__GNUC__) && (_MIPS_SIM != _MIPS_SIM_ABI32) # pragma set woff 1174 # pragma set woff 1375 #endif namespace @KWSYS_NAMESPACE@ { // select1st is an extension: it is not part of the standard. template struct hash_select1st: public std::unary_function, T1> { const T1& operator()(const std::pair& __x) const { return __x.first; } }; // Forward declaration of equality operator; needed for friend declaration. template , class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator > class hash_map; template bool operator==(const hash_map<_Key, _Tp, _HashFn, _EqKey, _Alloc>&, const hash_map<_Key, _Tp, _HashFn, _EqKey, _Alloc>&); template class hash_map { private: typedef hashtable,_Key,_HashFcn, hash_select1st,_EqualKey,_Alloc> _Ht; _Ht _M_ht; public: typedef typename _Ht::key_type key_type; typedef _Tp data_type; typedef _Tp mapped_type; typedef typename _Ht::value_type value_type; typedef typename _Ht::hasher hasher; typedef typename _Ht::key_equal key_equal; typedef typename _Ht::size_type size_type; typedef typename _Ht::difference_type difference_type; typedef typename _Ht::pointer pointer; typedef typename _Ht::const_pointer const_pointer; typedef typename _Ht::reference reference; typedef typename _Ht::const_reference const_reference; typedef typename _Ht::iterator iterator; typedef typename _Ht::const_iterator const_iterator; typedef typename _Ht::allocator_type allocator_type; hasher hash_funct() const { return _M_ht.hash_funct(); } key_equal key_eq() const { return _M_ht.key_eq(); } allocator_type get_allocator() const { return _M_ht.get_allocator(); } public: hash_map() : _M_ht(100, hasher(), key_equal(), allocator_type()) {} explicit hash_map(size_type __n) : _M_ht(__n, hasher(), key_equal(), allocator_type()) {} hash_map(size_type __n, const hasher& __hf) : _M_ht(__n, __hf, key_equal(), allocator_type()) {} hash_map(size_type __n, const hasher& __hf, const key_equal& __eql, const allocator_type& __a = allocator_type()) : _M_ht(__n, __hf, __eql, __a) {} template hash_map(_InputIterator __f, _InputIterator __l) : _M_ht(100, hasher(), key_equal(), allocator_type()) { _M_ht.insert_unique(__f, __l); } template hash_map(_InputIterator __f, _InputIterator __l, size_type __n) : _M_ht(__n, hasher(), key_equal(), allocator_type()) { _M_ht.insert_unique(__f, __l); } template hash_map(_InputIterator __f, _InputIterator __l, size_type __n, const hasher& __hf) : _M_ht(__n, __hf, key_equal(), allocator_type()) { _M_ht.insert_unique(__f, __l); } template hash_map(_InputIterator __f, _InputIterator __l, size_type __n, const hasher& __hf, const key_equal& __eql, const allocator_type& __a = allocator_type()) : _M_ht(__n, __hf, __eql, __a) { _M_ht.insert_unique(__f, __l); } public: size_type size() const { return _M_ht.size(); } size_type max_size() const { return _M_ht.max_size(); } bool empty() const { return _M_ht.empty(); } void swap(hash_map& __hs) { _M_ht.swap(__hs._M_ht); } friend bool operator==<>(const hash_map&, const hash_map&); iterator begin() { return _M_ht.begin(); } iterator end() { return _M_ht.end(); } const_iterator begin() const { return _M_ht.begin(); } const_iterator end() const { return _M_ht.end(); } public: std::pair insert(const value_type& __obj) { return _M_ht.insert_unique(__obj); } template void insert(_InputIterator __f, _InputIterator __l) { _M_ht.insert_unique(__f,__l); } std::pair insert_noresize(const value_type& __obj) { return _M_ht.insert_unique_noresize(__obj); } iterator find(const key_type& __key) { return _M_ht.find(__key); } const_iterator find(const key_type& __key) const { return _M_ht.find(__key); } _Tp& operator[](const key_type& __key) { return _M_ht.find_or_insert(value_type(__key, _Tp())).second; } size_type count(const key_type& __key) const { return _M_ht.count(__key); } std::pair equal_range(const key_type& __key) { return _M_ht.equal_range(__key); } std::pair equal_range(const key_type& __key) const { return _M_ht.equal_range(__key); } size_type erase(const key_type& __key) {return _M_ht.erase(__key); } void erase(iterator __it) { _M_ht.erase(__it); } void erase(iterator __f, iterator __l) { _M_ht.erase(__f, __l); } void clear() { _M_ht.clear(); } void resize(size_type __hint) { _M_ht.resize(__hint); } size_type bucket_count() const { return _M_ht.bucket_count(); } size_type max_bucket_count() const { return _M_ht.max_bucket_count(); } size_type elems_in_bucket(size_type __n) const { return _M_ht.elems_in_bucket(__n); } }; template bool operator==(const hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, const hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) { return __hm1._M_ht == __hm2._M_ht; } template inline bool operator!=(const hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, const hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) { return !(__hm1 == __hm2); } template inline void swap(hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) { __hm1.swap(__hm2); } // Forward declaration of equality operator; needed for friend declaration. template , class _EqualKey = std::equal_to<_Key>, class _Alloc = std::allocator > class hash_multimap; template bool operator==(const hash_multimap<_Key,_Tp,_HF,_EqKey,_Alloc>& __hm1, const hash_multimap<_Key,_Tp,_HF,_EqKey,_Alloc>& __hm2); template class hash_multimap { private: typedef hashtable, _Key, _HashFcn, hash_select1st, _EqualKey, _Alloc> _Ht; _Ht _M_ht; public: typedef typename _Ht::key_type key_type; typedef _Tp data_type; typedef _Tp mapped_type; typedef typename _Ht::value_type value_type; typedef typename _Ht::hasher hasher; typedef typename _Ht::key_equal key_equal; typedef typename _Ht::size_type size_type; typedef typename _Ht::difference_type difference_type; typedef typename _Ht::pointer pointer; typedef typename _Ht::const_pointer const_pointer; typedef typename _Ht::reference reference; typedef typename _Ht::const_reference const_reference; typedef typename _Ht::iterator iterator; typedef typename _Ht::const_iterator const_iterator; typedef typename _Ht::allocator_type allocator_type; hasher hash_funct() const { return _M_ht.hash_funct(); } key_equal key_eq() const { return _M_ht.key_eq(); } allocator_type get_allocator() const { return _M_ht.get_allocator(); } public: hash_multimap() : _M_ht(100, hasher(), key_equal(), allocator_type()) {} explicit hash_multimap(size_type __n) : _M_ht(__n, hasher(), key_equal(), allocator_type()) {} hash_multimap(size_type __n, const hasher& __hf) : _M_ht(__n, __hf, key_equal(), allocator_type()) {} hash_multimap(size_type __n, const hasher& __hf, const key_equal& __eql, const allocator_type& __a = allocator_type()) : _M_ht(__n, __hf, __eql, __a) {} template hash_multimap(_InputIterator __f, _InputIterator __l) : _M_ht(100, hasher(), key_equal(), allocator_type()) { _M_ht.insert_equal(__f, __l); } template hash_multimap(_InputIterator __f, _InputIterator __l, size_type __n) : _M_ht(__n, hasher(), key_equal(), allocator_type()) { _M_ht.insert_equal(__f, __l); } template hash_multimap(_InputIterator __f, _InputIterator __l, size_type __n, const hasher& __hf) : _M_ht(__n, __hf, key_equal(), allocator_type()) { _M_ht.insert_equal(__f, __l); } template hash_multimap(_InputIterator __f, _InputIterator __l, size_type __n, const hasher& __hf, const key_equal& __eql, const allocator_type& __a = allocator_type()) : _M_ht(__n, __hf, __eql, __a) { _M_ht.insert_equal(__f, __l); } public: size_type size() const { return _M_ht.size(); } size_type max_size() const { return _M_ht.max_size(); } bool empty() const { return _M_ht.empty(); } void swap(hash_multimap& __hs) { _M_ht.swap(__hs._M_ht); } friend bool operator==<>(const hash_multimap&, const hash_multimap&); iterator begin() { return _M_ht.begin(); } iterator end() { return _M_ht.end(); } const_iterator begin() const { return _M_ht.begin(); } const_iterator end() const { return _M_ht.end(); } public: iterator insert(const value_type& __obj) { return _M_ht.insert_equal(__obj); } template void insert(_InputIterator __f, _InputIterator __l) { _M_ht.insert_equal(__f,__l); } iterator insert_noresize(const value_type& __obj) { return _M_ht.insert_equal_noresize(__obj); } iterator find(const key_type& __key) { return _M_ht.find(__key); } const_iterator find(const key_type& __key) const { return _M_ht.find(__key); } size_type count(const key_type& __key) const { return _M_ht.count(__key); } std::pair equal_range(const key_type& __key) { return _M_ht.equal_range(__key); } std::pair equal_range(const key_type& __key) const { return _M_ht.equal_range(__key); } size_type erase(const key_type& __key) {return _M_ht.erase(__key); } void erase(iterator __it) { _M_ht.erase(__it); } void erase(iterator __f, iterator __l) { _M_ht.erase(__f, __l); } void clear() { _M_ht.clear(); } public: void resize(size_type __hint) { _M_ht.resize(__hint); } size_type bucket_count() const { return _M_ht.bucket_count(); } size_type max_bucket_count() const { return _M_ht.max_bucket_count(); } size_type elems_in_bucket(size_type __n) const { return _M_ht.elems_in_bucket(__n); } }; template bool operator==(const hash_multimap<_Key,_Tp,_HF,_EqKey,_Alloc>& __hm1, const hash_multimap<_Key,_Tp,_HF,_EqKey,_Alloc>& __hm2) { return __hm1._M_ht == __hm2._M_ht; } template inline bool operator!=(const hash_multimap<_Key,_Tp,_HF,_EqKey,_Alloc>& __hm1, const hash_multimap<_Key,_Tp,_HF,_EqKey,_Alloc>& __hm2) { return !(__hm1 == __hm2); } template inline void swap(hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm2) { __hm1.swap(__hm2); } } // namespace @KWSYS_NAMESPACE@ #if defined(__sgi) && !defined(__GNUC__) && (_MIPS_SIM != _MIPS_SIM_ABI32) # pragma reset woff 1174 # pragma reset woff 1375 #endif #if defined(_MSC_VER) # pragma warning (pop) #endif #endif KWStyle-master/Utilities/KWSys/hash_set.hxx.in000066400000000000000000000315621265471724600216650ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ /* * Copyright (c) 1996 * Silicon Graphics Computer Systems, Inc. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without fee, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. Silicon Graphics makes no * representations about the suitability of this software for any * purpose. It is provided "as is" without express or implied warranty. * * * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without fee, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. Hewlett-Packard Company makes no * representations about the suitability of this software for any * purpose. It is provided "as is" without express or implied warranty. * */ #ifndef @KWSYS_NAMESPACE@_hash_set_hxx #define @KWSYS_NAMESPACE@_hash_set_hxx #include <@KWSYS_NAMESPACE@/hashtable.hxx> #include <@KWSYS_NAMESPACE@/hash_fun.hxx> #include // equal_to #if defined(_MSC_VER) # pragma warning (push) # pragma warning (disable:4284) # pragma warning (disable:4786) #endif #if defined(__sgi) && !defined(__GNUC__) && (_MIPS_SIM != _MIPS_SIM_ABI32) # pragma set woff 1174 # pragma set woff 1375 #endif namespace @KWSYS_NAMESPACE@ { // identity is an extension: it is not part of the standard. template struct _Identity : public std::unary_function<_Tp,_Tp> { const _Tp& operator()(const _Tp& __x) const { return __x; } }; // Forward declaration of equality operator; needed for friend declaration. template , class _EqualKey = std::equal_to<_Value>, class _Alloc = std::allocator > class hash_set; template bool operator==(const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs1, const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs2); template class hash_set { private: typedef hashtable<_Value, _Value, _HashFcn, _Identity<_Value>, _EqualKey, _Alloc> _Ht; _Ht _M_ht; public: typedef typename _Ht::key_type key_type; typedef typename _Ht::value_type value_type; typedef typename _Ht::hasher hasher; typedef typename _Ht::key_equal key_equal; typedef typename _Ht::size_type size_type; typedef typename _Ht::difference_type difference_type; typedef typename _Ht::const_pointer pointer; typedef typename _Ht::const_pointer const_pointer; typedef typename _Ht::const_reference reference; typedef typename _Ht::const_reference const_reference; typedef typename _Ht::const_iterator iterator; typedef typename _Ht::const_iterator const_iterator; typedef typename _Ht::allocator_type allocator_type; hasher hash_funct() const { return _M_ht.hash_funct(); } key_equal key_eq() const { return _M_ht.key_eq(); } allocator_type get_allocator() const { return _M_ht.get_allocator(); } public: hash_set() : _M_ht(100, hasher(), key_equal(), allocator_type()) {} explicit hash_set(size_type __n) : _M_ht(__n, hasher(), key_equal(), allocator_type()) {} hash_set(size_type __n, const hasher& __hf) : _M_ht(__n, __hf, key_equal(), allocator_type()) {} hash_set(size_type __n, const hasher& __hf, const key_equal& __eql, const allocator_type& __a = allocator_type()) : _M_ht(__n, __hf, __eql, __a) {} template hash_set(_InputIterator __f, _InputIterator __l) : _M_ht(100, hasher(), key_equal(), allocator_type()) { _M_ht.insert_unique(__f, __l); } template hash_set(_InputIterator __f, _InputIterator __l, size_type __n) : _M_ht(__n, hasher(), key_equal(), allocator_type()) { _M_ht.insert_unique(__f, __l); } template hash_set(_InputIterator __f, _InputIterator __l, size_type __n, const hasher& __hf) : _M_ht(__n, __hf, key_equal(), allocator_type()) { _M_ht.insert_unique(__f, __l); } template hash_set(_InputIterator __f, _InputIterator __l, size_type __n, const hasher& __hf, const key_equal& __eql, const allocator_type& __a = allocator_type()) : _M_ht(__n, __hf, __eql, __a) { _M_ht.insert_unique(__f, __l); } public: size_type size() const { return _M_ht.size(); } size_type max_size() const { return _M_ht.max_size(); } bool empty() const { return _M_ht.empty(); } void swap(hash_set& __hs) { _M_ht.swap(__hs._M_ht); } friend bool operator==<>(const hash_set&, const hash_set&); iterator begin() const { return _M_ht.begin(); } iterator end() const { return _M_ht.end(); } public: std::pair insert(const value_type& __obj) { typedef typename _Ht::iterator _Ht_iterator; std::pair<_Ht_iterator, bool> __p = _M_ht.insert_unique(__obj); return std::pair(__p.first, __p.second); } template void insert(_InputIterator __f, _InputIterator __l) { _M_ht.insert_unique(__f,__l); } std::pair insert_noresize(const value_type& __obj) { typedef typename _Ht::iterator _Ht_iterator; std::pair<_Ht_iterator, bool> __p = _M_ht.insert_unique_noresize(__obj); return std::pair(__p.first, __p.second); } iterator find(const key_type& __key) const { return _M_ht.find(__key); } size_type count(const key_type& __key) const { return _M_ht.count(__key); } std::pair equal_range(const key_type& __key) const { return _M_ht.equal_range(__key); } size_type erase(const key_type& __key) {return _M_ht.erase(__key); } void erase(iterator __it) { _M_ht.erase(__it); } void erase(iterator __f, iterator __l) { _M_ht.erase(__f, __l); } void clear() { _M_ht.clear(); } public: void resize(size_type __hint) { _M_ht.resize(__hint); } size_type bucket_count() const { return _M_ht.bucket_count(); } size_type max_bucket_count() const { return _M_ht.max_bucket_count(); } size_type elems_in_bucket(size_type __n) const { return _M_ht.elems_in_bucket(__n); } }; template bool operator==(const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs1, const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs2) { return __hs1._M_ht == __hs2._M_ht; } template inline bool operator!=(const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs1, const hash_set<_Value,_HashFcn,_EqualKey,_Alloc>& __hs2) { return !(__hs1 == __hs2); } template inline void swap(hash_set<_Val,_HashFcn,_EqualKey,_Alloc>& __hs1, hash_set<_Val,_HashFcn,_EqualKey,_Alloc>& __hs2) { __hs1.swap(__hs2); } template , class _EqualKey = std::equal_to<_Value>, class _Alloc = std::allocator > class hash_multiset; template bool operator==(const hash_multiset<_Val,_HashFcn,_EqualKey,_Alloc>& __hs1, const hash_multiset<_Val,_HashFcn,_EqualKey,_Alloc>& __hs2); template class hash_multiset { private: typedef hashtable<_Value, _Value, _HashFcn, _Identity<_Value>, _EqualKey, _Alloc> _Ht; _Ht _M_ht; public: typedef typename _Ht::key_type key_type; typedef typename _Ht::value_type value_type; typedef typename _Ht::hasher hasher; typedef typename _Ht::key_equal key_equal; typedef typename _Ht::size_type size_type; typedef typename _Ht::difference_type difference_type; typedef typename _Ht::const_pointer pointer; typedef typename _Ht::const_pointer const_pointer; typedef typename _Ht::const_reference reference; typedef typename _Ht::const_reference const_reference; typedef typename _Ht::const_iterator iterator; typedef typename _Ht::const_iterator const_iterator; typedef typename _Ht::allocator_type allocator_type; hasher hash_funct() const { return _M_ht.hash_funct(); } key_equal key_eq() const { return _M_ht.key_eq(); } allocator_type get_allocator() const { return _M_ht.get_allocator(); } public: hash_multiset() : _M_ht(100, hasher(), key_equal(), allocator_type()) {} explicit hash_multiset(size_type __n) : _M_ht(__n, hasher(), key_equal(), allocator_type()) {} hash_multiset(size_type __n, const hasher& __hf) : _M_ht(__n, __hf, key_equal(), allocator_type()) {} hash_multiset(size_type __n, const hasher& __hf, const key_equal& __eql, const allocator_type& __a = allocator_type()) : _M_ht(__n, __hf, __eql, __a) {} template hash_multiset(_InputIterator __f, _InputIterator __l) : _M_ht(100, hasher(), key_equal(), allocator_type()) { _M_ht.insert_equal(__f, __l); } template hash_multiset(_InputIterator __f, _InputIterator __l, size_type __n) : _M_ht(__n, hasher(), key_equal(), allocator_type()) { _M_ht.insert_equal(__f, __l); } template hash_multiset(_InputIterator __f, _InputIterator __l, size_type __n, const hasher& __hf) : _M_ht(__n, __hf, key_equal(), allocator_type()) { _M_ht.insert_equal(__f, __l); } template hash_multiset(_InputIterator __f, _InputIterator __l, size_type __n, const hasher& __hf, const key_equal& __eql, const allocator_type& __a = allocator_type()) : _M_ht(__n, __hf, __eql, __a) { _M_ht.insert_equal(__f, __l); } public: size_type size() const { return _M_ht.size(); } size_type max_size() const { return _M_ht.max_size(); } bool empty() const { return _M_ht.empty(); } void swap(hash_multiset& hs) { _M_ht.swap(hs._M_ht); } friend bool operator==<>(const hash_multiset&, const hash_multiset&); iterator begin() const { return _M_ht.begin(); } iterator end() const { return _M_ht.end(); } public: iterator insert(const value_type& __obj) { return _M_ht.insert_equal(__obj); } template void insert(_InputIterator __f, _InputIterator __l) { _M_ht.insert_equal(__f,__l); } iterator insert_noresize(const value_type& __obj) { return _M_ht.insert_equal_noresize(__obj); } iterator find(const key_type& __key) const { return _M_ht.find(__key); } size_type count(const key_type& __key) const { return _M_ht.count(__key); } std::pair equal_range(const key_type& __key) const { return _M_ht.equal_range(__key); } size_type erase(const key_type& __key) {return _M_ht.erase(__key); } void erase(iterator __it) { _M_ht.erase(__it); } void erase(iterator __f, iterator __l) { _M_ht.erase(__f, __l); } void clear() { _M_ht.clear(); } public: void resize(size_type __hint) { _M_ht.resize(__hint); } size_type bucket_count() const { return _M_ht.bucket_count(); } size_type max_bucket_count() const { return _M_ht.max_bucket_count(); } size_type elems_in_bucket(size_type __n) const { return _M_ht.elems_in_bucket(__n); } }; template bool operator==(const hash_multiset<_Val,_HashFcn,_EqualKey,_Alloc>& __hs1, const hash_multiset<_Val,_HashFcn,_EqualKey,_Alloc>& __hs2) { return __hs1._M_ht == __hs2._M_ht; } template inline bool operator!=(const hash_multiset<_Val,_HashFcn,_EqualKey,_Alloc>& __hs1, const hash_multiset<_Val,_HashFcn,_EqualKey,_Alloc>& __hs2) { return !(__hs1 == __hs2); } template inline void swap(hash_multiset<_Val,_HashFcn,_EqualKey,_Alloc>& __hs1, hash_multiset<_Val,_HashFcn,_EqualKey,_Alloc>& __hs2) { __hs1.swap(__hs2); } } // namespace @KWSYS_NAMESPACE@ #if defined(__sgi) && !defined(__GNUC__) && (_MIPS_SIM != _MIPS_SIM_ABI32) # pragma reset woff 1174 # pragma reset woff 1375 #endif #if defined(_MSC_VER) # pragma warning (pop) #endif #endif KWStyle-master/Utilities/KWSys/hashtable.hxx.in000066400000000000000000000753101265471724600220210ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ /* * Copyright (c) 1996 * Silicon Graphics Computer Systems, Inc. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without fee, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. Silicon Graphics makes no * representations about the suitability of this software for any * purpose. It is provided "as is" without express or implied warranty. * * * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without fee, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. Hewlett-Packard Company makes no * representations about the suitability of this software for any * purpose. It is provided "as is" without express or implied warranty. * */ #ifdef __BORLANDC__ # pragma warn -8027 /* 'for' not inlined. */ # pragma warn -8026 /* 'exception' not inlined. */ #endif #ifndef @KWSYS_NAMESPACE@_hashtable_hxx #define @KWSYS_NAMESPACE@_hashtable_hxx #include <@KWSYS_NAMESPACE@/Configure.hxx> #include // size_t #include // lower_bound #include // unary_function #include // iterator_traits #include // allocator #include // pair #include // vector #if defined(_MSC_VER) # pragma warning (push) # pragma warning (disable:4284) # pragma warning (disable:4786) # pragma warning (disable:4512) /* no assignment operator for class */ #endif #if defined(__sgi) && !defined(__GNUC__) # pragma set woff 3970 /* pointer to int conversion */ 3321 3968 #endif // In C++11, clang will warn about using dynamic exception specifications // as they are deprecated. But as this class is trying to faithfully // mimic unordered_set and unordered_map, we want to keep the 'throw()' // decorations below. So we suppress the warning. #if defined(__clang__) && defined(__has_warning) # if __has_warning("-Wdeprecated") # pragma clang diagnostic push # pragma clang diagnostic ignored "-Wdeprecated" # endif #endif namespace @KWSYS_NAMESPACE@ { template struct _Hashtable_node { _Hashtable_node* _M_next; _Val _M_val; void public_method_to_quiet_warning_about_all_methods_private(); private: void operator=(_Hashtable_node<_Val> const&); // poison node assignment }; template > class hashtable; template struct _Hashtable_iterator; template struct _Hashtable_const_iterator; template struct _Hashtable_iterator { typedef hashtable<_Val,_Key,_HashFcn,_ExtractKey,_EqualKey,_Alloc> _Hashtable; typedef _Hashtable_iterator<_Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc> iterator; typedef _Hashtable_const_iterator<_Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc> const_iterator; typedef _Hashtable_node<_Val> _Node; typedef std::forward_iterator_tag iterator_category; typedef _Val value_type; typedef ptrdiff_t difference_type; typedef size_t size_type; typedef _Val& reference; typedef _Val* pointer; _Node* _M_cur; _Hashtable* _M_ht; _Hashtable_iterator(_Node* __n, _Hashtable* __tab) : _M_cur(__n), _M_ht(__tab) {} _Hashtable_iterator() {} reference operator*() const { return _M_cur->_M_val; } pointer operator->() const { return &(operator*()); } iterator& operator++(); iterator operator++(int); bool operator==(const iterator& __it) const { return _M_cur == __it._M_cur; } bool operator!=(const iterator& __it) const { return _M_cur != __it._M_cur; } }; template struct _Hashtable_const_iterator { typedef hashtable<_Val,_Key,_HashFcn,_ExtractKey,_EqualKey,_Alloc> _Hashtable; typedef _Hashtable_iterator<_Val,_Key,_HashFcn, _ExtractKey,_EqualKey,_Alloc> iterator; typedef _Hashtable_const_iterator<_Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc> const_iterator; typedef _Hashtable_node<_Val> _Node; typedef std::forward_iterator_tag iterator_category; typedef _Val value_type; typedef ptrdiff_t difference_type; typedef size_t size_type; typedef const _Val& reference; typedef const _Val* pointer; const _Node* _M_cur; const _Hashtable* _M_ht; _Hashtable_const_iterator(const _Node* __n, const _Hashtable* __tab) : _M_cur(__n), _M_ht(__tab) {} _Hashtable_const_iterator() {} _Hashtable_const_iterator(const iterator& __it) : _M_cur(__it._M_cur), _M_ht(__it._M_ht) {} reference operator*() const { return _M_cur->_M_val; } pointer operator->() const { return &(operator*()); } const_iterator& operator++(); const_iterator operator++(int); bool operator==(const const_iterator& __it) const { return _M_cur == __it._M_cur; } bool operator!=(const const_iterator& __it) const { return _M_cur != __it._M_cur; } }; // Note: assumes long is at least 32 bits. enum { _stl_num_primes = 31 }; // create a function with a static local to that function that returns // the static static inline const unsigned long* get_stl_prime_list() { static const unsigned long _stl_prime_list[_stl_num_primes] = { 5ul, 11ul, 23ul, 53ul, 97ul, 193ul, 389ul, 769ul, 1543ul, 3079ul, 6151ul, 12289ul, 24593ul, 49157ul, 98317ul, 196613ul, 393241ul, 786433ul, 1572869ul, 3145739ul, 6291469ul, 12582917ul, 25165843ul, 50331653ul, 100663319ul, 201326611ul, 402653189ul, 805306457ul, 1610612741ul, 3221225473ul, 4294967291ul }; return &_stl_prime_list[0]; } static inline size_t _stl_next_prime(size_t __n) { const unsigned long* __first = get_stl_prime_list(); const unsigned long* __last = get_stl_prime_list() + (int)_stl_num_primes; const unsigned long* pos = std::lower_bound(__first, __last, __n); return pos == __last ? *(__last - 1) : *pos; } // Forward declaration of operator==. template class hashtable; template bool operator==(const hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>& __ht1, const hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>& __ht2); // Hashtables handle allocators a bit differently than other containers // do. If we're using standard-conforming allocators, then a hashtable // unconditionally has a member variable to hold its allocator, even if // it so happens that all instances of the allocator type are identical. // This is because, for hashtables, this extra storage is negligible. // Additionally, a base class wouldn't serve any other purposes; it // wouldn't, for example, simplify the exception-handling code. template class hashtable { public: typedef _Key key_type; typedef _Val value_type; typedef _HashFcn hasher; typedef _EqualKey key_equal; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type& reference; typedef const value_type& const_reference; hasher hash_funct() const { return _M_hash; } key_equal key_eq() const { return _M_equals; } private: typedef _Hashtable_node<_Val> _Node; public: typedef typename _Alloc::template rebind<_Val>::other allocator_type; allocator_type get_allocator() const { return _M_node_allocator; } private: typedef typename _Alloc::template rebind<_Node>::other _M_node_allocator_type; typedef typename _Alloc::template rebind<_Node*>::other _M_node_ptr_allocator_type; typedef std::vector<_Node*,_M_node_ptr_allocator_type> _M_buckets_type; private: _M_node_allocator_type _M_node_allocator; hasher _M_hash; key_equal _M_equals; _ExtractKey _M_get_key; _M_buckets_type _M_buckets; size_type _M_num_elements; _Node* _M_get_node() { return _M_node_allocator.allocate(1); } void _M_put_node(_Node* __p) { _M_node_allocator.deallocate(__p, 1); } public: typedef _Hashtable_iterator<_Val,_Key,_HashFcn,_ExtractKey,_EqualKey,_Alloc> iterator; typedef _Hashtable_const_iterator<_Val,_Key,_HashFcn,_ExtractKey,_EqualKey, _Alloc> const_iterator; friend struct _Hashtable_iterator<_Val,_Key,_HashFcn,_ExtractKey,_EqualKey,_Alloc>; friend struct _Hashtable_const_iterator<_Val,_Key,_HashFcn,_ExtractKey,_EqualKey,_Alloc>; public: hashtable(size_type __n, const _HashFcn& __hf, const _EqualKey& __eql, const _ExtractKey& __ext, const allocator_type& __a = allocator_type()) : _M_node_allocator(__a), _M_hash(__hf), _M_equals(__eql), _M_get_key(__ext), _M_buckets(__a), _M_num_elements(0) { _M_initialize_buckets(__n); } hashtable(size_type __n, const _HashFcn& __hf, const _EqualKey& __eql, const allocator_type& __a = allocator_type()) : _M_node_allocator(__a), _M_hash(__hf), _M_equals(__eql), _M_get_key(_ExtractKey()), _M_buckets(__a), _M_num_elements(0) { _M_initialize_buckets(__n); } hashtable(const hashtable& __ht) : _M_node_allocator(__ht.get_allocator()), _M_hash(__ht._M_hash), _M_equals(__ht._M_equals), _M_get_key(__ht._M_get_key), _M_buckets(__ht.get_allocator()), _M_num_elements(0) { _M_copy_from(__ht); } hashtable& operator= (const hashtable& __ht) { if (&__ht != this) { clear(); _M_hash = __ht._M_hash; _M_equals = __ht._M_equals; _M_get_key = __ht._M_get_key; _M_copy_from(__ht); } return *this; } ~hashtable() { clear(); } size_type size() const { return _M_num_elements; } size_type max_size() const { return size_type(-1); } bool empty() const { return size() == 0; } void swap(hashtable& __ht) { std::swap(_M_hash, __ht._M_hash); std::swap(_M_equals, __ht._M_equals); std::swap(_M_get_key, __ht._M_get_key); _M_buckets.swap(__ht._M_buckets); std::swap(_M_num_elements, __ht._M_num_elements); } iterator begin() { for (size_type __n = 0; __n < _M_buckets.size(); ++__n) if (_M_buckets[__n]) return iterator(_M_buckets[__n], this); return end(); } iterator end() { return iterator(0, this); } const_iterator begin() const { for (size_type __n = 0; __n < _M_buckets.size(); ++__n) if (_M_buckets[__n]) return const_iterator(_M_buckets[__n], this); return end(); } const_iterator end() const { return const_iterator(0, this); } friend bool operator==<>(const hashtable&, const hashtable&); public: size_type bucket_count() const { return _M_buckets.size(); } size_type max_bucket_count() const { return get_stl_prime_list()[(int)_stl_num_primes - 1]; } size_type elems_in_bucket(size_type __bucket) const { size_type __result = 0; for (_Node* __cur = _M_buckets[__bucket]; __cur; __cur = __cur->_M_next) __result += 1; return __result; } std::pair insert_unique(const value_type& __obj) { resize(_M_num_elements + 1); return insert_unique_noresize(__obj); } iterator insert_equal(const value_type& __obj) { resize(_M_num_elements + 1); return insert_equal_noresize(__obj); } std::pair insert_unique_noresize(const value_type& __obj); iterator insert_equal_noresize(const value_type& __obj); template void insert_unique(_InputIterator __f, _InputIterator __l) { insert_unique(__f, __l, typename std::iterator_traits<_InputIterator>::iterator_category()); } template void insert_equal(_InputIterator __f, _InputIterator __l) { insert_equal(__f, __l, typename std::iterator_traits<_InputIterator>::iterator_category()); } template void insert_unique(_InputIterator __f, _InputIterator __l, std::input_iterator_tag) { for ( ; __f != __l; ++__f) insert_unique(*__f); } template void insert_equal(_InputIterator __f, _InputIterator __l, std::input_iterator_tag) { for ( ; __f != __l; ++__f) insert_equal(*__f); } template void insert_unique(_ForwardIterator __f, _ForwardIterator __l, std::forward_iterator_tag) { size_type __n = 0; std::distance(__f, __l, __n); resize(_M_num_elements + __n); for ( ; __n > 0; --__n, ++__f) insert_unique_noresize(*__f); } template void insert_equal(_ForwardIterator __f, _ForwardIterator __l, std::forward_iterator_tag) { size_type __n = 0; std::distance(__f, __l, __n); resize(_M_num_elements + __n); for ( ; __n > 0; --__n, ++__f) insert_equal_noresize(*__f); } reference find_or_insert(const value_type& __obj); iterator find(const key_type& __key) { size_type __n = _M_bkt_num_key(__key); _Node* __first; for ( __first = _M_buckets[__n]; __first && !_M_equals(_M_get_key(__first->_M_val), __key); __first = __first->_M_next) {} return iterator(__first, this); } const_iterator find(const key_type& __key) const { size_type __n = _M_bkt_num_key(__key); const _Node* __first; for ( __first = _M_buckets[__n]; __first && !_M_equals(_M_get_key(__first->_M_val), __key); __first = __first->_M_next) {} return const_iterator(__first, this); } size_type count(const key_type& __key) const { const size_type __n = _M_bkt_num_key(__key); size_type __result = 0; for (const _Node* __cur = _M_buckets[__n]; __cur; __cur = __cur->_M_next) if (_M_equals(_M_get_key(__cur->_M_val), __key)) ++__result; return __result; } std::pair equal_range(const key_type& __key); std::pair equal_range(const key_type& __key) const; size_type erase(const key_type& __key); void erase(const iterator& __it); void erase(iterator __first, iterator __last); void erase(const const_iterator& __it); void erase(const_iterator __first, const_iterator __last); void resize(size_type __num_elements_hint); void clear(); private: size_type _M_next_size(size_type __n) const { return _stl_next_prime(__n); } void _M_initialize_buckets(size_type __n) { const size_type __n_buckets = _M_next_size(__n); _M_buckets.reserve(__n_buckets); _M_buckets.insert(_M_buckets.end(), __n_buckets, (_Node*) 0); _M_num_elements = 0; } size_type _M_bkt_num_key(const key_type& __key) const { return _M_bkt_num_key(__key, _M_buckets.size()); } size_type _M_bkt_num(const value_type& __obj) const { return _M_bkt_num_key(_M_get_key(__obj)); } size_type _M_bkt_num_key(const key_type& __key, size_t __n) const { return _M_hash(__key) % __n; } size_type _M_bkt_num(const value_type& __obj, size_t __n) const { return _M_bkt_num_key(_M_get_key(__obj), __n); } void construct(_Val* p, const _Val& v) { new (p) _Val(v); } void destroy(_Val* p) { (void)p; p->~_Val(); } _Node* _M_new_node(const value_type& __obj) { _Node* __n = _M_get_node(); __n->_M_next = 0; try { construct(&__n->_M_val, __obj); return __n; } catch(...) {_M_put_node(__n); throw;} } void _M_delete_node(_Node* __n) { destroy(&__n->_M_val); _M_put_node(__n); } void _M_erase_bucket(const size_type __n, _Node* __first, _Node* __last); void _M_erase_bucket(const size_type __n, _Node* __last); void _M_copy_from(const hashtable& __ht); }; template _Hashtable_iterator<_Val,_Key,_HF,_ExK,_EqK,_All>& _Hashtable_iterator<_Val,_Key,_HF,_ExK,_EqK,_All>::operator++() { const _Node* __old = _M_cur; _M_cur = _M_cur->_M_next; if (!_M_cur) { size_type __bucket = _M_ht->_M_bkt_num(__old->_M_val); while (!_M_cur && ++__bucket < _M_ht->_M_buckets.size()) _M_cur = _M_ht->_M_buckets[__bucket]; } return *this; } template inline _Hashtable_iterator<_Val,_Key,_HF,_ExK,_EqK,_All> _Hashtable_iterator<_Val,_Key,_HF,_ExK,_EqK,_All>::operator++(int) { iterator __tmp = *this; ++*this; return __tmp; } template _Hashtable_const_iterator<_Val,_Key,_HF,_ExK,_EqK,_All>& _Hashtable_const_iterator<_Val,_Key,_HF,_ExK,_EqK,_All>::operator++() { const _Node* __old = _M_cur; _M_cur = _M_cur->_M_next; if (!_M_cur) { size_type __bucket = _M_ht->_M_bkt_num(__old->_M_val); while (!_M_cur && ++__bucket < _M_ht->_M_buckets.size()) _M_cur = _M_ht->_M_buckets[__bucket]; } return *this; } template inline _Hashtable_const_iterator<_Val,_Key,_HF,_ExK,_EqK,_All> _Hashtable_const_iterator<_Val,_Key,_HF,_ExK,_EqK,_All>::operator++(int) { const_iterator __tmp = *this; ++*this; return __tmp; } template bool operator==(const hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>& __ht1, const hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>& __ht2) { typedef typename hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>::_Node _Node; if (__ht1._M_buckets.size() != __ht2._M_buckets.size()) return false; for (int __n = 0; __n < __ht1._M_buckets.size(); ++__n) { _Node* __cur1 = __ht1._M_buckets[__n]; _Node* __cur2 = __ht2._M_buckets[__n]; for ( ; __cur1 && __cur2 && __cur1->_M_val == __cur2->_M_val; __cur1 = __cur1->_M_next, __cur2 = __cur2->_M_next) {} if (__cur1 || __cur2) return false; } return true; } template inline bool operator!=(const hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>& __ht1, const hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>& __ht2) { return !(__ht1 == __ht2); } template inline void swap(hashtable<_Val, _Key, _HF, _Extract, _EqKey, _All>& __ht1, hashtable<_Val, _Key, _HF, _Extract, _EqKey, _All>& __ht2) { __ht1.swap(__ht2); } template std::pair::iterator, bool> hashtable<_Val,_Key,_HF,_Ex,_Eq,_All> ::insert_unique_noresize(const value_type& __obj) { const size_type __n = _M_bkt_num(__obj); _Node* __first = _M_buckets[__n]; for (_Node* __cur = __first; __cur; __cur = __cur->_M_next) if (_M_equals(_M_get_key(__cur->_M_val), _M_get_key(__obj))) return std::pair(iterator(__cur, this), false); _Node* __tmp = _M_new_node(__obj); __tmp->_M_next = __first; _M_buckets[__n] = __tmp; ++_M_num_elements; return std::pair(iterator(__tmp, this), true); } template typename hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>::iterator hashtable<_Val,_Key,_HF,_Ex,_Eq,_All> ::insert_equal_noresize(const value_type& __obj) { const size_type __n = _M_bkt_num(__obj); _Node* __first = _M_buckets[__n]; for (_Node* __cur = __first; __cur; __cur = __cur->_M_next) if (_M_equals(_M_get_key(__cur->_M_val), _M_get_key(__obj))) { _Node* __tmp = _M_new_node(__obj); __tmp->_M_next = __cur->_M_next; __cur->_M_next = __tmp; ++_M_num_elements; return iterator(__tmp, this); } _Node* __tmp = _M_new_node(__obj); __tmp->_M_next = __first; _M_buckets[__n] = __tmp; ++_M_num_elements; return iterator(__tmp, this); } template typename hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>::reference hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>::find_or_insert(const value_type& __obj) { resize(_M_num_elements + 1); size_type __n = _M_bkt_num(__obj); _Node* __first = _M_buckets[__n]; for (_Node* __cur = __first; __cur; __cur = __cur->_M_next) if (_M_equals(_M_get_key(__cur->_M_val), _M_get_key(__obj))) return __cur->_M_val; _Node* __tmp = _M_new_node(__obj); __tmp->_M_next = __first; _M_buckets[__n] = __tmp; ++_M_num_elements; return __tmp->_M_val; } template std::pair::iterator, typename hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>::iterator> hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>::equal_range(const key_type& __key) { typedef std::pair _Pii; const size_type __n = _M_bkt_num_key(__key); for (_Node* __first = _M_buckets[__n]; __first; __first = __first->_M_next) if (_M_equals(_M_get_key(__first->_M_val), __key)) { for (_Node* __cur = __first->_M_next; __cur; __cur = __cur->_M_next) if (!_M_equals(_M_get_key(__cur->_M_val), __key)) return _Pii(iterator(__first, this), iterator(__cur, this)); for (size_type __m = __n + 1; __m < _M_buckets.size(); ++__m) if (_M_buckets[__m]) return _Pii(iterator(__first, this), iterator(_M_buckets[__m], this)); return _Pii(iterator(__first, this), end()); } return _Pii(end(), end()); } template std::pair::const_iterator, typename hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>::const_iterator> hashtable<_Val,_Key,_HF,_Ex,_Eq,_All> ::equal_range(const key_type& __key) const { typedef std::pair _Pii; const size_type __n = _M_bkt_num_key(__key); for (const _Node* __first = _M_buckets[__n] ; __first; __first = __first->_M_next) { if (_M_equals(_M_get_key(__first->_M_val), __key)) { for (const _Node* __cur = __first->_M_next; __cur; __cur = __cur->_M_next) if (!_M_equals(_M_get_key(__cur->_M_val), __key)) return _Pii(const_iterator(__first, this), const_iterator(__cur, this)); for (size_type __m = __n + 1; __m < _M_buckets.size(); ++__m) if (_M_buckets[__m]) return _Pii(const_iterator(__first, this), const_iterator(_M_buckets[__m], this)); return _Pii(const_iterator(__first, this), end()); } } return _Pii(end(), end()); } template typename hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>::size_type hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>::erase(const key_type& __key) { const size_type __n = _M_bkt_num_key(__key); _Node* __first = _M_buckets[__n]; size_type __erased = 0; if (__first) { _Node* __cur = __first; _Node* __next = __cur->_M_next; while (__next) { if (_M_equals(_M_get_key(__next->_M_val), __key)) { __cur->_M_next = __next->_M_next; _M_delete_node(__next); __next = __cur->_M_next; ++__erased; --_M_num_elements; } else { __cur = __next; __next = __cur->_M_next; } } if (_M_equals(_M_get_key(__first->_M_val), __key)) { _M_buckets[__n] = __first->_M_next; _M_delete_node(__first); ++__erased; --_M_num_elements; } } return __erased; } template void hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>::erase(const iterator& __it) { _Node* __p = __it._M_cur; if (__p) { const size_type __n = _M_bkt_num(__p->_M_val); _Node* __cur = _M_buckets[__n]; if (__cur == __p) { _M_buckets[__n] = __cur->_M_next; _M_delete_node(__cur); --_M_num_elements; } else { _Node* __next = __cur->_M_next; while (__next) { if (__next == __p) { __cur->_M_next = __next->_M_next; _M_delete_node(__next); --_M_num_elements; break; } else { __cur = __next; __next = __cur->_M_next; } } } } } template void hashtable<_Val,_Key,_HF,_Ex,_Eq,_All> ::erase(iterator __first, iterator __last) { size_type __f_bucket = __first._M_cur ? _M_bkt_num(__first._M_cur->_M_val) : _M_buckets.size(); size_type __l_bucket = __last._M_cur ? _M_bkt_num(__last._M_cur->_M_val) : _M_buckets.size(); if (__first._M_cur == __last._M_cur) return; else if (__f_bucket == __l_bucket) _M_erase_bucket(__f_bucket, __first._M_cur, __last._M_cur); else { _M_erase_bucket(__f_bucket, __first._M_cur, 0); for (size_type __n = __f_bucket + 1; __n < __l_bucket; ++__n) _M_erase_bucket(__n, 0); if (__l_bucket != _M_buckets.size()) _M_erase_bucket(__l_bucket, __last._M_cur); } } template inline void hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>::erase(const_iterator __first, const_iterator __last) { erase(iterator(const_cast<_Node*>(__first._M_cur), const_cast(__first._M_ht)), iterator(const_cast<_Node*>(__last._M_cur), const_cast(__last._M_ht))); } template inline void hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>::erase(const const_iterator& __it) { erase(iterator(const_cast<_Node*>(__it._M_cur), const_cast(__it._M_ht))); } template void hashtable<_Val,_Key,_HF,_Ex,_Eq,_All> ::resize(size_type __num_elements_hint) { const size_type __old_n = _M_buckets.size(); if (__num_elements_hint > __old_n) { const size_type __n = _M_next_size(__num_elements_hint); if (__n > __old_n) { _M_buckets_type __tmp( __n, (_Node*)(0), _M_buckets.get_allocator()); try { for (size_type __bucket = 0; __bucket < __old_n; ++__bucket) { _Node* __first = _M_buckets[__bucket]; while (__first) { size_type __new_bucket = _M_bkt_num(__first->_M_val, __n); _M_buckets[__bucket] = __first->_M_next; __first->_M_next = __tmp[__new_bucket]; __tmp[__new_bucket] = __first; __first = _M_buckets[__bucket]; } } _M_buckets.swap(__tmp); } catch(...) { for (size_type __bucket = 0; __bucket < __tmp.size(); ++__bucket) { while (__tmp[__bucket]) { _Node* __next = __tmp[__bucket]->_M_next; _M_delete_node(__tmp[__bucket]); __tmp[__bucket] = __next; } } throw; } } } } template void hashtable<_Val,_Key,_HF,_Ex,_Eq,_All> ::_M_erase_bucket(const size_type __n, _Node* __first, _Node* __last) { _Node* __cur = _M_buckets[__n]; if (__cur == __first) _M_erase_bucket(__n, __last); else { _Node* __next; for (__next = __cur->_M_next; __next != __first; __cur = __next, __next = __cur->_M_next) ; while (__next != __last) { __cur->_M_next = __next->_M_next; _M_delete_node(__next); __next = __cur->_M_next; --_M_num_elements; } } } template void hashtable<_Val,_Key,_HF,_Ex,_Eq,_All> ::_M_erase_bucket(const size_type __n, _Node* __last) { _Node* __cur = _M_buckets[__n]; while (__cur != __last) { _Node* __next = __cur->_M_next; _M_delete_node(__cur); __cur = __next; _M_buckets[__n] = __cur; --_M_num_elements; } } template void hashtable<_Val,_Key,_HF,_Ex,_Eq,_All>::clear() { for (size_type __i = 0; __i < _M_buckets.size(); ++__i) { _Node* __cur = _M_buckets[__i]; while (__cur != 0) { _Node* __next = __cur->_M_next; _M_delete_node(__cur); __cur = __next; } _M_buckets[__i] = 0; } _M_num_elements = 0; } template void hashtable<_Val,_Key,_HF,_Ex,_Eq,_All> ::_M_copy_from(const hashtable& __ht) { _M_buckets.clear(); _M_buckets.reserve(__ht._M_buckets.size()); _M_buckets.insert(_M_buckets.end(), __ht._M_buckets.size(), (_Node*) 0); try { for (size_type __i = 0; __i < __ht._M_buckets.size(); ++__i) { const _Node* __cur = __ht._M_buckets[__i]; if (__cur) { _Node* __copy = _M_new_node(__cur->_M_val); _M_buckets[__i] = __copy; for (_Node* __next = __cur->_M_next; __next; __cur = __next, __next = __cur->_M_next) { __copy->_M_next = _M_new_node(__next->_M_val); __copy = __copy->_M_next; } } } _M_num_elements = __ht._M_num_elements; } catch(...) {clear(); throw;} } } // namespace @KWSYS_NAMESPACE@ // Undo warning suppression. #if defined(__clang__) && defined(__has_warning) # if __has_warning("-Wdeprecated") # pragma clang diagnostic pop # endif #endif #if defined(_MSC_VER) # pragma warning (pop) #endif #endif KWStyle-master/Utilities/KWSys/kwsysHeaderDump.pl000077500000000000000000000025351265471724600224060ustar00rootroot00000000000000#!/usr/bin/perl #============================================================================= # KWSys - Kitware System Library # Copyright 2000-2009 Kitware, Inc., Insight Software Consortium # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. # # This software is distributed WITHOUT ANY WARRANTY; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the License for more information. #============================================================================= if ( $#ARGV+1 < 2 ) { print "Usage: ./kwsysHeaderDump.pl
\n"; exit(1); } $name = $ARGV[0]; $max = 0; open(INFILE, $ARGV[1]); while (chomp ($line = )) { if (($line !~ /^\#/) && ($line =~ s/.*kwsys${name}_([A-Za-z0-9_]*).*/\1/) && ($i{$line}++ < 1)) { push(@lines, "$line"); if (length($line) > $max) { $max = length($line); } } } close(INFILE); $width = $max + 13; print sprintf("#define %-${width}s kwsys_ns(${name})\n", "kwsys${name}"); foreach $l (@lines) { print sprintf("#define %-${width}s kwsys_ns(${name}_$l)\n", "kwsys${name}_$l"); } print "\n"; print sprintf("# undef kwsys${name}\n"); foreach $l (@lines) { print sprintf("# undef kwsys${name}_$l\n"); } KWStyle-master/Utilities/KWSys/kwsysPlatformTests.cmake000066400000000000000000000167671265471724600236550ustar00rootroot00000000000000#============================================================================= # KWSys - Kitware System Library # Copyright 2000-2009 Kitware, Inc., Insight Software Consortium # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. # # This software is distributed WITHOUT ANY WARRANTY; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the License for more information. #============================================================================= SET(KWSYS_PLATFORM_TEST_FILE_C kwsysPlatformTestsC.c) SET(KWSYS_PLATFORM_TEST_FILE_CXX kwsysPlatformTestsCXX.cxx) MACRO(KWSYS_PLATFORM_TEST lang var description invert) IF(NOT DEFINED ${var}_COMPILED) MESSAGE(STATUS "${description}") TRY_COMPILE(${var}_COMPILED ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/${KWSYS_PLATFORM_TEST_FILE_${lang}} COMPILE_DEFINITIONS -DTEST_${var} ${KWSYS_PLATFORM_TEST_DEFINES} ${KWSYS_PLATFORM_TEST_EXTRA_FLAGS} CMAKE_FLAGS "-DLINK_LIBRARIES:STRING=${KWSYS_PLATFORM_TEST_LINK_LIBRARIES}" OUTPUT_VARIABLE OUTPUT) IF(${var}_COMPILED) FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log "${description} compiled with the following output:\n${OUTPUT}\n\n") ELSE() FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "${description} failed to compile with the following output:\n${OUTPUT}\n\n") ENDIF() IF(${invert} MATCHES INVERT) IF(${var}_COMPILED) MESSAGE(STATUS "${description} - no") ELSE() MESSAGE(STATUS "${description} - yes") ENDIF() ELSE() IF(${var}_COMPILED) MESSAGE(STATUS "${description} - yes") ELSE() MESSAGE(STATUS "${description} - no") ENDIF() ENDIF() ENDIF() IF(${invert} MATCHES INVERT) IF(${var}_COMPILED) SET(${var} 0) ELSE() SET(${var} 1) ENDIF() ELSE() IF(${var}_COMPILED) SET(${var} 1) ELSE() SET(${var} 0) ENDIF() ENDIF() ENDMACRO() MACRO(KWSYS_PLATFORM_TEST_RUN lang var description invert) IF(NOT DEFINED ${var}) MESSAGE(STATUS "${description}") TRY_RUN(${var} ${var}_COMPILED ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/${KWSYS_PLATFORM_TEST_FILE_${lang}} COMPILE_DEFINITIONS -DTEST_${var} ${KWSYS_PLATFORM_TEST_DEFINES} ${KWSYS_PLATFORM_TEST_EXTRA_FLAGS} OUTPUT_VARIABLE OUTPUT) # Note that ${var} will be a 0 return value on success. IF(${var}_COMPILED) IF(${var}) FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "${description} compiled but failed to run with the following output:\n${OUTPUT}\n\n") ELSE() FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log "${description} compiled and ran with the following output:\n${OUTPUT}\n\n") ENDIF() ELSE() FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "${description} failed to compile with the following output:\n${OUTPUT}\n\n") SET(${var} -1 CACHE INTERNAL "${description} failed to compile.") ENDIF() IF(${invert} MATCHES INVERT) IF(${var}_COMPILED) IF(${var}) MESSAGE(STATUS "${description} - yes") ELSE() MESSAGE(STATUS "${description} - no") ENDIF() ELSE() MESSAGE(STATUS "${description} - failed to compile") ENDIF() ELSE() IF(${var}_COMPILED) IF(${var}) MESSAGE(STATUS "${description} - no") ELSE() MESSAGE(STATUS "${description} - yes") ENDIF() ELSE() MESSAGE(STATUS "${description} - failed to compile") ENDIF() ENDIF() ENDIF() IF(${invert} MATCHES INVERT) IF(${var}_COMPILED) IF(${var}) SET(${var} 1) ELSE() SET(${var} 0) ENDIF() ELSE() SET(${var} 1) ENDIF() ELSE() IF(${var}_COMPILED) IF(${var}) SET(${var} 0) ELSE() SET(${var} 1) ENDIF() ELSE() SET(${var} 0) ENDIF() ENDIF() ENDMACRO() MACRO(KWSYS_PLATFORM_C_TEST var description invert) SET(KWSYS_PLATFORM_TEST_DEFINES ${KWSYS_PLATFORM_C_TEST_DEFINES}) SET(KWSYS_PLATFORM_TEST_EXTRA_FLAGS ${KWSYS_PLATFORM_C_TEST_EXTRA_FLAGS}) KWSYS_PLATFORM_TEST(C "${var}" "${description}" "${invert}") SET(KWSYS_PLATFORM_TEST_DEFINES) SET(KWSYS_PLATFORM_TEST_EXTRA_FLAGS) ENDMACRO() MACRO(KWSYS_PLATFORM_C_TEST_RUN var description invert) SET(KWSYS_PLATFORM_TEST_DEFINES ${KWSYS_PLATFORM_C_TEST_DEFINES}) SET(KWSYS_PLATFORM_TEST_EXTRA_FLAGS ${KWSYS_PLATFORM_C_TEST_EXTRA_FLAGS}) KWSYS_PLATFORM_TEST_RUN(C "${var}" "${description}" "${invert}") SET(KWSYS_PLATFORM_TEST_DEFINES) SET(KWSYS_PLATFORM_TEST_EXTRA_FLAGS) ENDMACRO() MACRO(KWSYS_PLATFORM_CXX_TEST var description invert) SET(KWSYS_PLATFORM_TEST_DEFINES ${KWSYS_PLATFORM_CXX_TEST_DEFINES}) SET(KWSYS_PLATFORM_TEST_EXTRA_FLAGS ${KWSYS_PLATFORM_CXX_TEST_EXTRA_FLAGS}) SET(KWSYS_PLATFORM_TEST_LINK_LIBRARIES ${KWSYS_PLATFORM_CXX_TEST_LINK_LIBRARIES}) KWSYS_PLATFORM_TEST(CXX "${var}" "${description}" "${invert}") SET(KWSYS_PLATFORM_TEST_DEFINES) SET(KWSYS_PLATFORM_TEST_EXTRA_FLAGS) SET(KWSYS_PLATFORM_TEST_LINK_LIBRARIES) ENDMACRO() MACRO(KWSYS_PLATFORM_CXX_TEST_RUN var description invert) SET(KWSYS_PLATFORM_TEST_DEFINES ${KWSYS_PLATFORM_CXX_TEST_DEFINES}) SET(KWSYS_PLATFORM_TEST_EXTRA_FLAGS ${KWSYS_PLATFORM_CXX_TEST_EXTRA_FLAGS}) KWSYS_PLATFORM_TEST_RUN(CXX "${var}" "${description}" "${invert}") SET(KWSYS_PLATFORM_TEST_DEFINES) SET(KWSYS_PLATFORM_TEST_EXTRA_FLAGS) ENDMACRO() #----------------------------------------------------------------------------- # KWSYS_PLATFORM_INFO_TEST(lang var description) # # Compile test named by ${var} and store INFO strings extracted from binary. MACRO(KWSYS_PLATFORM_INFO_TEST lang var description) # We can implement this macro on CMake 2.6 and above. IF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.6) SET(${var} "") ELSE() # Choose a location for the result binary. SET(KWSYS_PLATFORM_INFO_FILE ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${var}.bin) # Compile the test binary. IF(NOT EXISTS ${KWSYS_PLATFORM_INFO_FILE}) MESSAGE(STATUS "${description}") TRY_COMPILE(${var}_COMPILED ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/${KWSYS_PLATFORM_TEST_FILE_${lang}} COMPILE_DEFINITIONS -DTEST_${var} ${KWSYS_PLATFORM_${lang}_TEST_DEFINES} ${KWSYS_PLATFORM_${lang}_TEST_EXTRA_FLAGS} OUTPUT_VARIABLE OUTPUT COPY_FILE ${KWSYS_PLATFORM_INFO_FILE} ) IF(${var}_COMPILED) FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log "${description} compiled with the following output:\n${OUTPUT}\n\n") ELSE() FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "${description} failed to compile with the following output:\n${OUTPUT}\n\n") ENDIF() IF(${var}_COMPILED) MESSAGE(STATUS "${description} - compiled") ELSE() MESSAGE(STATUS "${description} - failed") ENDIF() ENDIF() # Parse info strings out of the compiled binary. IF(${var}_COMPILED) FILE(STRINGS ${KWSYS_PLATFORM_INFO_FILE} ${var} REGEX "INFO:[A-Za-z0-9]+\\[[^]]*\\]") ELSE() SET(${var} "") ENDIF() SET(KWSYS_PLATFORM_INFO_FILE) ENDIF() ENDMACRO() KWStyle-master/Utilities/KWSys/kwsysPlatformTestsC.c000066400000000000000000000046551265471724600231130ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ /* Macros to define main() in a cross-platform way. Usage: int KWSYS_PLATFORM_TEST_C_MAIN() { return 0; } int KWSYS_PLATFORM_TEST_C_MAIN_ARGS(argc, argv) { (void)argc; (void)argv; return 0; } */ #if defined(__CLASSIC_C__) # define KWSYS_PLATFORM_TEST_C_MAIN() \ main() # define KWSYS_PLATFORM_TEST_C_MAIN_ARGS(argc, argv) \ main(argc,argv) int argc; char* argv[]; #else # define KWSYS_PLATFORM_TEST_C_MAIN() \ main(void) # define KWSYS_PLATFORM_TEST_C_MAIN_ARGS(argc, argv) \ main(int argc, char* argv[]) #endif /*--------------------------------------------------------------------------*/ #ifdef TEST_KWSYS_C_HAS_PTRDIFF_T #include int f(ptrdiff_t n) { return n > 0; } int KWSYS_PLATFORM_TEST_C_MAIN() { char* p = 0; ptrdiff_t d = p - p; (void)d; return f(p - p); } #endif /*--------------------------------------------------------------------------*/ #ifdef TEST_KWSYS_C_HAS_SSIZE_T #include int f(ssize_t n) { return (int)n; } int KWSYS_PLATFORM_TEST_C_MAIN() { ssize_t n = 0; return f(n); } #endif /*--------------------------------------------------------------------------*/ #ifdef TEST_KWSYS_C_TYPE_MACROS char* info_macros = #if defined(__SIZEOF_SHORT__) "INFO:macro[__SIZEOF_SHORT__]\n" #endif #if defined(__SIZEOF_INT__) "INFO:macro[__SIZEOF_INT__]\n" #endif #if defined(__SIZEOF_LONG__) "INFO:macro[__SIZEOF_LONG__]\n" #endif #if defined(__SIZEOF_LONG_LONG__) "INFO:macro[__SIZEOF_LONG_LONG__]\n" #endif #if defined(__SHORT_MAX__) "INFO:macro[__SHORT_MAX__]\n" #endif #if defined(__INT_MAX__) "INFO:macro[__INT_MAX__]\n" #endif #if defined(__LONG_MAX__) "INFO:macro[__LONG_MAX__]\n" #endif #if defined(__LONG_LONG_MAX__) "INFO:macro[__LONG_LONG_MAX__]\n" #endif ""; int KWSYS_PLATFORM_TEST_C_MAIN_ARGS(argc, argv) { int require = 0; require += info_macros[argc]; (void)argv; return require; } #endif KWStyle-master/Utilities/KWSys/kwsysPlatformTestsCXX.cxx000066400000000000000000000232141265471724600237430ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifdef TEST_KWSYS_CXX_HAS_CSTDIO #include int main() { return 0; } #endif #ifdef TEST_KWSYS_CXX_HAS_LONG_LONG long long f(long long n) { return n; } int main() { long long n = 0; return static_cast(f(n)); } #endif #ifdef TEST_KWSYS_CXX_HAS___INT64 __int64 f(__int64 n) { return n; } int main() { __int64 n = 0; return static_cast(f(n)); } #endif #ifdef TEST_KWSYS_STAT_HAS_ST_MTIM #include #include #include int main() { struct stat stat1; (void)stat1.st_mtim.tv_sec; (void)stat1.st_mtim.tv_nsec; return 0; } #endif #ifdef TEST_KWSYS_CXX_SAME_LONG_AND___INT64 void function(long**) {} int main() { __int64** p = 0; function(p); return 0; } #endif #ifdef TEST_KWSYS_CXX_SAME_LONG_LONG_AND___INT64 void function(long long**) {} int main() { __int64** p = 0; function(p); return 0; } #endif #ifdef TEST_KWSYS_CAN_CONVERT_UI64_TO_DOUBLE void function(double& l, unsigned __int64 const& r) { l = static_cast(r); } int main() { double tTo = 0.0; unsigned __int64 tFrom = 0; function(tTo, tFrom); return 0; } #endif #ifdef TEST_KWSYS_IOS_HAS_ISTREAM_LONG_LONG # include int test_istream(std::istream& is, long long& x) { return (is >> x)? 1:0; } int main() { long long x = 0; return test_istream(std::cin, x); } #endif #ifdef TEST_KWSYS_IOS_HAS_OSTREAM_LONG_LONG # include int test_ostream(std::ostream& os, long long x) { return (os << x)? 1:0; } int main() { long long x = 0; return test_ostream(std::cout, x); } #endif #ifdef TEST_KWSYS_IOS_HAS_ISTREAM___INT64 # include int test_istream(std::istream& is, __int64& x) { return (is >> x)? 1:0; } int main() { __int64 x = 0; return test_istream(std::cin, x); } #endif #ifdef TEST_KWSYS_IOS_HAS_OSTREAM___INT64 # include int test_ostream(std::ostream& os, __int64 x) { return (os << x)? 1:0; } int main() { __int64 x = 0; return test_ostream(std::cout, x); } #endif #ifdef TEST_KWSYS_CHAR_IS_SIGNED /* Return 0 for char signed and 1 for char unsigned. */ int main() { unsigned char uc = 255; return (*reinterpret_cast(&uc) < 0)?0:1; } #endif #ifdef TEST_KWSYS_LFS_WORKS /* Return 0 when LFS is available and 1 otherwise. */ #define _LARGEFILE_SOURCE #define _LARGEFILE64_SOURCE #define _LARGE_FILES #define _FILE_OFFSET_BITS 64 #include #include #include #if KWSYS_CXX_HAS_CSTDIO # include #endif #include int main(int, char **argv) { /* check that off_t can hold 2^63 - 1 and perform basic operations... */ #define OFF_T_64 (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) if (OFF_T_64 % 2147483647 != 1) return 1; // stat breaks on SCO OpenServer struct stat buf; stat( argv[0], &buf ); if (!S_ISREG(buf.st_mode)) return 2; FILE *file = fopen( argv[0], "r" ); off_t offset = ftello( file ); fseek( file, offset, SEEK_CUR ); fclose( file ); return 0; } #endif #ifdef TEST_KWSYS_CXX_HAS_SETENV #include int main() { return setenv("A", "B", 1); } #endif #ifdef TEST_KWSYS_CXX_HAS_UNSETENV #include int main() { unsetenv("A"); return 0; } #endif #ifdef TEST_KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H #include int main() { char* e = environ[0]; return e? 0:1; } #endif #ifdef TEST_KWSYS_CXX_HAS_GETLOADAVG // Match feature definitions from SystemInformation.cxx #if (defined(__GNUC__) || defined(__PGI)) && !defined(_GNU_SOURCE) # define _GNU_SOURCE #endif #include int main() { double loadavg[3] = { 0.0, 0.0, 0.0 }; return getloadavg(loadavg, 3); } #endif #ifdef TEST_KWSYS_CXX_HAS_RLIMIT64 # if defined(KWSYS_HAS_LFS) # define _LARGEFILE_SOURCE # define _LARGEFILE64_SOURCE # define _LARGE_FILES # define _FILE_OFFSET_BITS 64 # endif # include int main() { struct rlimit64 rlim; return getrlimit64(0,&rlim); } #endif #ifdef TEST_KWSYS_CXX_HAS_ATOLL #include int main() { const char *str="1024"; return static_cast(atoll(str)); } #endif #ifdef TEST_KWSYS_CXX_HAS_ATOL #include int main() { const char *str="1024"; return static_cast(atol(str)); } #endif #ifdef TEST_KWSYS_CXX_HAS__ATOI64 #include int main() { const char *str="1024"; return static_cast(_atoi64(str)); } #endif #ifdef TEST_KWSYS_CXX_HAS_UTIMES #include int main() { struct timeval* current_time = 0; return utimes("/example", current_time); } #endif #ifdef TEST_KWSYS_CXX_HAS_UTIMENSAT #include #include int main() { struct timespec times[2] = {{0,UTIME_OMIT},{0,UTIME_NOW}}; return utimensat(AT_FDCWD, "/example", times, AT_SYMLINK_NOFOLLOW); } #endif #ifdef TEST_KWSYS_CXX_HAS_BACKTRACE #if defined(__PATHSCALE__) || defined(__PATHCC__) \ || (defined(__LSB_VERSION__) && (__LSB_VERSION__ < 41)) backtrace doesnt work with this compiler or os #endif #if (defined(__GNUC__) || defined(__PGI)) && !defined(_GNU_SOURCE) # define _GNU_SOURCE #endif #include int main() { void *stackSymbols[256]; backtrace(stackSymbols,256); backtrace_symbols(&stackSymbols[0],1); return 0; } #endif #ifdef TEST_KWSYS_CXX_HAS_DLADDR #if (defined(__GNUC__) || defined(__PGI)) && !defined(_GNU_SOURCE) # define _GNU_SOURCE #endif #include int main() { Dl_info info; int ierr=dladdr((void*)main,&info); return 0; } #endif #ifdef TEST_KWSYS_CXX_HAS_CXXABI #if (defined(__GNUC__) || defined(__PGI)) && !defined(_GNU_SOURCE) # define _GNU_SOURCE #endif #if defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x5130 \ && __linux && __SUNPRO_CC_COMPAT == 'G' # include #endif #include int main() { int status = 0; size_t bufferLen = 512; char buffer[512] = {'\0'}; const char *function="_ZN5kwsys17SystemInformation15GetProgramStackEii"; char *demangledFunction = abi::__cxa_demangle(function, buffer, &bufferLen, &status); return status; } #endif #ifdef TEST_KWSYS_CXX_TYPE_INFO /* Collect fundamental type information and save it to a CMake script. */ /* Include limits.h to get macros indicating long long and __int64. Note that certain compilers need special macros to define these macros in limits.h. */ #if defined(_MSC_VER) && !defined(_MSC_EXTENSIONS) # define _MSC_EXTENSIONS #endif #if defined(__GNUC__) && __GNUC__ < 3 # define _GNU_SOURCE #endif #include #include #include /* Due to shell differences and limitations of ADD_DEFINITIONS the KWSYS_CXX_TYPE_INFO_FILE macro will sometimes have double quotes and sometimes not. This macro will make sure the value is treated as a double-quoted string. */ #define TO_STRING(x) TO_STRING0(x) #define TO_STRING0(x) TO_STRING1(x) #define TO_STRING1(x) #x void f() {} int main() { /* Construct the output file name. Some preprocessors will add an extra level of double quotes, so strip them. */ char fbuf[] = TO_STRING(KWSYS_CXX_TYPE_INFO_FILE); char* fname = fbuf; if(fname[0] == '"') { ++fname; int len = static_cast(strlen(fname)); if(len > 0 && fname[len-1] == '"') { fname[len-1] = 0; } } /* Try to open the output file. */ if(FILE* fout = fopen(fname, "w")) { /* Set the size of standard types. */ fprintf(fout, "SET(KWSYS_SIZEOF_CHAR %d)\n", static_cast(sizeof(char))); fprintf(fout, "SET(KWSYS_SIZEOF_SHORT %d)\n", static_cast(sizeof(short))); fprintf(fout, "SET(KWSYS_SIZEOF_INT %d)\n", static_cast(sizeof(int))); fprintf(fout, "SET(KWSYS_SIZEOF_LONG %d)\n", static_cast(sizeof(long))); /* Set the size of some non-standard but common types. */ /* Check for a limits.h macro for long long to see if the type exists. */ #if defined(LLONG_MAX) || defined(LONG_LONG_MAX) || defined(LONGLONG_MAX) fprintf(fout, "SET(KWSYS_SIZEOF_LONG_LONG %d)\n", static_cast(sizeof(long long))); #else fprintf(fout, "SET(KWSYS_SIZEOF_LONG_LONG 0) # No long long available.\n"); #endif /* Check for a limits.h macro for __int64 to see if the type exists. */ #if defined(_I64_MIN) fprintf(fout, "SET(KWSYS_SIZEOF___INT64 %d)\n", static_cast(sizeof(__int64))); #else fprintf(fout, "SET(KWSYS_SIZEOF___INT64 0) # No __int64 available.\n"); #endif /* Set the size of some pointer types. */ fprintf(fout, "SET(KWSYS_SIZEOF_PDATA %d)\n", static_cast(sizeof(void*))); fprintf(fout, "SET(KWSYS_SIZEOF_PFUNC %d)\n", static_cast(sizeof(&f))); /* Set whether the native type "char" is signed or unsigned. */ unsigned char uc = 255; fprintf(fout, "SET(KWSYS_CHAR_IS_SIGNED %d)\n", (*reinterpret_cast(&uc) < 0)?1:0); fclose(fout); return 0; } else { fprintf(stderr, "Failed to write fundamental type info to \"%s\".\n", fname); return 1; } } #endif #ifdef TEST_KWSYS_CXX_HAS_BORLAND_ASM int main() { int a = 1; __asm { xor EBX, EBX; mov a, EBX; } return a; } #endif #ifdef TEST_KWSYS_CXX_HAS_BORLAND_ASM_CPUID int main() { int a = 0; __asm { xor EAX, EAX; cpuid; mov a, EAX; } return a; } #endif #ifdef TEST_KWSYS_STL_HAS_WSTRING #include void f(std ::wstring*) {} int main() { return 0; } #endif KWStyle-master/Utilities/KWSys/kwsysPrivate.h000066400000000000000000000026561265471724600216170ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef KWSYS_NAMESPACE # error "Do not include kwsysPrivate.h outside of kwsys c and cxx files." #endif #ifndef _kwsysPrivate_h #define _kwsysPrivate_h /* Define KWSYS_HEADER macro to help the c and cxx files include kwsys headers from the configured namespace directory. The macro can be used like this: #include KWSYS_HEADER(Directory.hxx) #include KWSYS_HEADER(std/vector) */ #define KWSYS_HEADER(x) KWSYS_HEADER0(KWSYS_NAMESPACE/x) #define KWSYS_HEADER0(x) KWSYS_HEADER1(x) #define KWSYS_HEADER1(x) /* Define KWSYS_NAMESPACE_STRING to be a string constant containing the name configured for this instance of the kwsys library. */ #define KWSYS_NAMESPACE_STRING KWSYS_NAMESPACE_STRING0(KWSYS_NAMESPACE) #define KWSYS_NAMESPACE_STRING0(x) KWSYS_NAMESPACE_STRING1(x) #define KWSYS_NAMESPACE_STRING1(x) #x #else # error "kwsysPrivate.h included multiple times." #endif KWStyle-master/Utilities/KWSys/testAutoPtr.cxx000066400000000000000000000104661265471724600217530ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifdef __BORLANDC__ # pragma warn -8027 /* 'for' not inlined. */ # pragma warn -8026 /* exception not inlined. */ #endif #include "kwsysPrivate.h" #include KWSYS_HEADER(auto_ptr.hxx) // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "auto_ptr.hxx.in" #endif #include #define ASSERT(x,y) if (!(x)) { printf("FAIL: " y "\n"); status = 1; } int instances = 0; // don't declare as static struct A { A() { ++instances; } ~A() { --instances; } A* self() {return this; } }; struct B: public A {}; static int function_call(kwsys::auto_ptr a) { return a.get()? 1:0; } static A* get_A(A& a) { return &a; } static kwsys::auto_ptr generate_auto_ptr_A() { return kwsys::auto_ptr(new A); } static kwsys::auto_ptr generate_auto_ptr_B() { return kwsys::auto_ptr(new B); } int testAutoPtr(int, char*[]) { int status = 0; // Keep everything in a subscope so we can detect leaks. { kwsys::auto_ptr pa0; kwsys::auto_ptr pa1(new A()); kwsys::auto_ptr pb1(new B()); kwsys::auto_ptr pb2(new B()); kwsys::auto_ptr pa2(new B()); A* ptr = get_A(*pa1); ASSERT(ptr == pa1.get(), "auto_ptr does not return correct object when dereferenced"); ptr = pa1->self(); ASSERT(ptr == pa1.get(), "auto_ptr does not return correct pointer from operator->"); A* before = pa0.get(); pa0.reset(new A()); ASSERT(pa0.get() && pa0.get() != before, "auto_ptr empty after reset(new A())"); before = pa0.get(); pa0.reset(new B()); ASSERT(pa0.get() && pa0.get() != before, "auto_ptr empty after reset(new B())"); delete pa0.release(); ASSERT(!pa0.get(), "auto_ptr holds an object after release()"); kwsys::auto_ptr pa3(pb1); ASSERT(!pb1.get(), "auto_ptr full after being used to construct another"); ASSERT(pa3.get(), "auto_ptr empty after construction from another"); { kwsys::auto_ptr pa; pa = pa3; ASSERT(!pa3.get(), "auto_ptr full after assignment to another"); ASSERT(pa.get(), "auto_ptr empty after assignment from another"); } { kwsys::auto_ptr pa; pa = pb2; ASSERT(!pb2.get(), "auto_ptr full after assignment to compatible"); ASSERT(pa.get(), "auto_ptr empty after assignment from compatible"); } { int receive = function_call(pa2); ASSERT(receive, "auto_ptr did not receive ownership in called function"); ASSERT(!pa2.get(), "auto_ptr did not release ownership to called function"); } { int received = function_call(generate_auto_ptr_A()); ASSERT(received, "auto_ptr in called function did not take ownership " "from factory function"); } #if 0 // Is this allowed by the standard? { int received = function_call(generate_auto_ptr_B()); ASSERT(received, "auto_ptr in called function did not take ownership " "from factory function with conversion"); } #endif { kwsys::auto_ptr pa(generate_auto_ptr_A()); ASSERT(pa.get(), "auto_ptr empty after construction from factory function"); } { kwsys::auto_ptr pa; pa = generate_auto_ptr_A(); ASSERT(pa.get(), "auto_ptr empty after assignment from factory function"); } { kwsys::auto_ptr pa(generate_auto_ptr_B()); ASSERT(pa.get(), "auto_ptr empty after construction from compatible factory function"); } { kwsys::auto_ptr pa; pa = generate_auto_ptr_B(); ASSERT(pa.get(), "auto_ptr empty after assignment from compatible factory function"); } } ASSERT(instances == 0, "auto_ptr leaked an object"); return status; } KWStyle-master/Utilities/KWSys/testCommandLineArguments.cxx000066400000000000000000000172611265471724600244310ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(CommandLineArguments.hxx) // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "CommandLineArguments.hxx.in" #endif #include #include #include /* size_t */ #include /* strcmp */ static void* random_ptr = reinterpret_cast(0x123); static int argument(const char* arg, const char* value, void* call_data) { std::cout << "Got argument: \"" << arg << "\" value: \"" << (value?value:"(null)") << "\"" << std::endl; if ( call_data != random_ptr ) { std::cerr << "Problem processing call_data" << std::endl; return 0; } return 1; } static int unknown_argument(const char* argument, void* call_data) { std::cout << "Got unknown argument: \"" << argument << "\"" << std::endl; if ( call_data != random_ptr ) { std::cerr << "Problem processing call_data" << std::endl; return 0; } return 1; } static bool CompareTwoItemsOnList(bool i1, bool i2) { return i1 == i2; } static bool CompareTwoItemsOnList(int i1, int i2) { return i1 == i2; } static bool CompareTwoItemsOnList(double i1, double i2) { return i1 == i2; } static bool CompareTwoItemsOnList(const char* i1, const char* i2) { return strcmp(i1, i2) == 0; } static bool CompareTwoItemsOnList(const std::string& i1, const std::string& i2) { return i1 == i2; } int testCommandLineArguments(int argc, char* argv[]) { // Example run: ./testCommandLineArguments --some-int-variable 4 // --another-bool-variable --some-bool-variable=yes // --some-stl-string-variable=foobar --set-bool-arg1 --set-bool-arg2 // --some-string-variable=hello int res = 0; kwsys::CommandLineArguments arg; arg.Initialize(argc, argv); // For error handling arg.SetClientData(random_ptr); arg.SetUnknownArgumentCallback(unknown_argument); int some_int_variable = 10; double some_double_variable = 10.10; char* some_string_variable = 0; std::string some_stl_string_variable = ""; bool some_bool_variable = false; bool some_bool_variable1 = false; bool bool_arg1 = false; int bool_arg2 = 0; std::vector numbers_argument; int valid_numbers[] = { 5, 1, 8, 3, 7, 1, 3, 9, 7, 1 }; std::vector doubles_argument; double valid_doubles[] = { 12.5, 1.31, 22 }; std::vector bools_argument; bool valid_bools[] = { true, true, false }; std::vector strings_argument; const char* valid_strings[] = { "andy", "bill", "brad", "ken" }; std::vector stl_strings_argument; std::string valid_stl_strings[] = { "ken", "brad", "bill", "andy" }; typedef kwsys::CommandLineArguments argT; arg.AddArgument("--some-int-variable", argT::SPACE_ARGUMENT, &some_int_variable, "Set some random int variable"); arg.AddArgument("--some-double-variable", argT::CONCAT_ARGUMENT, &some_double_variable, "Set some random double variable"); arg.AddArgument("--some-string-variable", argT::EQUAL_ARGUMENT, &some_string_variable, "Set some random string variable"); arg.AddArgument("--some-stl-string-variable", argT::EQUAL_ARGUMENT, &some_stl_string_variable, "Set some random stl string variable"); arg.AddArgument("--some-bool-variable", argT::EQUAL_ARGUMENT, &some_bool_variable, "Set some random bool variable"); arg.AddArgument("--another-bool-variable", argT::NO_ARGUMENT, &some_bool_variable1, "Set some random bool variable 1"); arg.AddBooleanArgument("--set-bool-arg1", &bool_arg1, "Test AddBooleanArgument 1"); arg.AddBooleanArgument("--set-bool-arg2", &bool_arg2, "Test AddBooleanArgument 2"); arg.AddArgument("--some-multi-argument", argT::MULTI_ARGUMENT, &numbers_argument, "Some multiple values variable"); arg.AddArgument("-N", argT::SPACE_ARGUMENT, &doubles_argument, "Some explicit multiple values variable"); arg.AddArgument("-BB", argT::CONCAT_ARGUMENT, &bools_argument, "Some explicit multiple values variable"); arg.AddArgument("-SS", argT::EQUAL_ARGUMENT, &strings_argument, "Some explicit multiple values variable"); arg.AddArgument("-SSS", argT::MULTI_ARGUMENT, &stl_strings_argument, "Some explicit multiple values variable"); arg.AddCallback("-A", argT::NO_ARGUMENT, argument, random_ptr, "Some option -A. This option has a multiline comment. It should demonstrate how the code splits lines."); arg.AddCallback("-B", argT::SPACE_ARGUMENT, argument, random_ptr, "Option -B takes argument with space"); arg.AddCallback("-C", argT::EQUAL_ARGUMENT, argument, random_ptr, "Option -C takes argument after ="); arg.AddCallback("-D", argT::CONCAT_ARGUMENT, argument, random_ptr, "This option takes concatinated argument"); arg.AddCallback("--long1", argT::NO_ARGUMENT, argument, random_ptr, "-A"); arg.AddCallback("--long2", argT::SPACE_ARGUMENT, argument, random_ptr, "-B"); arg.AddCallback("--long3", argT::EQUAL_ARGUMENT, argument, random_ptr, "Same as -C but a bit different"); arg.AddCallback("--long4", argT::CONCAT_ARGUMENT, argument, random_ptr, "-C"); if ( !arg.Parse() ) { std::cerr << "Problem parsing arguments" << std::endl; res = 1; } std::cout << "Help: " << arg.GetHelp() << std::endl; std::cout << "Some int variable was set to: " << some_int_variable << std::endl; std::cout << "Some double variable was set to: " << some_double_variable << std::endl; if ( some_string_variable && strcmp(some_string_variable, "test string with space") == 0) { std::cout << "Some string variable was set to: " << some_string_variable << std::endl; delete [] some_string_variable; } else { std::cerr << "Problem setting string variable" << std::endl; res = 1; } size_t cc; #define CompareTwoLists(list1, list_valid, lsize) \ if ( list1.size() != lsize ) \ { \ std::cerr << "Problem setting " #list1 ". Size is: " << list1.size() \ << " should be: " << lsize << std::endl; \ res = 1; \ } \ else \ { \ std::cout << #list1 " argument set:"; \ for ( cc =0; cc < lsize; ++ cc ) \ { \ std::cout << " " << list1[cc]; \ if ( !CompareTwoItemsOnList(list1[cc], list_valid[cc]) ) \ { \ std::cerr << "Problem setting " #list1 ". Value of " \ << cc << " is: [" << list1[cc] << "] <> [" \ << list_valid[cc] << "]" << std::endl; \ res = 1; \ break; \ } \ } \ std::cout << std::endl; \ } CompareTwoLists(numbers_argument, valid_numbers, 10); CompareTwoLists(doubles_argument, valid_doubles, 3); CompareTwoLists(bools_argument, valid_bools, 3); CompareTwoLists(strings_argument, valid_strings, 4); CompareTwoLists(stl_strings_argument, valid_stl_strings, 4); std::cout << "Some STL String variable was set to: " << some_stl_string_variable << std::endl; std::cout << "Some bool variable was set to: " << some_bool_variable << std::endl; std::cout << "Some bool variable was set to: " << some_bool_variable1 << std::endl; std::cout << "bool_arg1 variable was set to: " << bool_arg1 << std::endl; std::cout << "bool_arg2 variable was set to: " << bool_arg2 << std::endl; std::cout << std::endl; for ( cc = 0; cc < strings_argument.size(); ++ cc ) { delete [] strings_argument[cc]; strings_argument[cc] = 0; } return res; } KWStyle-master/Utilities/KWSys/testCommandLineArguments1.cxx000066400000000000000000000057331265471724600245130ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(CommandLineArguments.hxx) // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "CommandLineArguments.hxx.in" #endif #include #include #include /* assert */ #include /* strcmp */ int testCommandLineArguments1(int argc, char* argv[]) { kwsys::CommandLineArguments arg; arg.Initialize(argc, argv); int n = 0; char* m = 0; std::string p; int res = 0; typedef kwsys::CommandLineArguments argT; arg.AddArgument("-n", argT::SPACE_ARGUMENT, &n, "Argument N"); arg.AddArgument("-m", argT::EQUAL_ARGUMENT, &m, "Argument M"); arg.AddBooleanArgument("-p", &p, "Argument P"); arg.StoreUnusedArguments(true); if ( !arg.Parse() ) { std::cerr << "Problem parsing arguments" << std::endl; res = 1; } if ( n != 24 ) { std::cout << "Problem setting N. Value of N: " << n << std::endl; res = 1; } if ( !m || strcmp(m, "test value") != 0 ) { std::cout << "Problem setting M. Value of M: " << m << std::endl; res = 1; } if ( p != "1" ) { std::cout << "Problem setting P. Value of P: " << p << std::endl; res = 1; } std::cout << "Value of N: " << n << std::endl; std::cout << "Value of M: " << m << std::endl; std::cout << "Value of P: " << p << std::endl; if ( m ) { delete [] m; } char** newArgv = 0; int newArgc = 0; arg.GetUnusedArguments(&newArgc, &newArgv); int cc; const char* valid_unused_args[9] = { 0, "--ignored", "--second-ignored", "third-ignored", "some", "junk", "at", "the", "end" }; if ( newArgc != 9 ) { std::cerr << "Bad number of unused arguments: " << newArgc << std::endl; res = 1; } for ( cc = 0; cc < newArgc; ++ cc ) { assert(newArgv[cc]); /* Quiet Clang scan-build. */ std::cout << "Unused argument[" << cc << "] = [" << newArgv[cc] << "]" << std::endl; if ( cc >= 9 ) { std::cerr << "Too many unused arguments: " << cc << std::endl; res = 1; } else if ( valid_unused_args[cc] && strcmp(valid_unused_args[cc], newArgv[cc]) != 0 ) { std::cerr << "Bad unused argument [" << cc << "] \"" << newArgv[cc] << "\" should be: \"" << valid_unused_args[cc] << "\"" << std::endl; res = 1; } } arg.DeleteRemainingArguments(newArgc, &newArgv); return res; } KWStyle-master/Utilities/KWSys/testDynamicLoader.cxx000066400000000000000000000077541265471724600230760ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(DynamicLoader.hxx) #if defined(__BEOS__) || defined(__HAIKU__) #include /* disable_debugger() API. */ #endif // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "DynamicLoader.hxx.in" #endif #include #include // Include with <> instead of "" to avoid getting any in-source copy // left on disk. #include static std::string GetLibName(const char* lname) { // Construct proper name of lib std::string slname; slname = EXECUTABLE_OUTPUT_PATH; #ifdef CMAKE_INTDIR slname += "/"; slname += CMAKE_INTDIR; #endif slname += "/"; slname += kwsys::DynamicLoader::LibPrefix(); slname += lname; slname += kwsys::DynamicLoader::LibExtension(); return slname; } /* libname = Library name (proper prefix, proper extension) * System = symbol to lookup in libname * r1: should OpenLibrary succeed ? * r2: should GetSymbolAddress succeed ? * r3: should CloseLibrary succeed ? */ int TestDynamicLoader(const char* libname, const char* symbol, int r1, int r2, int r3) { std::cerr << "Testing: " << libname << std::endl; kwsys::DynamicLoader::LibraryHandle l = kwsys::DynamicLoader::OpenLibrary(libname); // If result is incompatible with expectation just fails (xor): if( (r1 && !l) || (!r1 && l) ) { std::cerr << kwsys::DynamicLoader::LastError() << std::endl; return 1; } kwsys::DynamicLoader::SymbolPointer f = kwsys::DynamicLoader::GetSymbolAddress(l, symbol); if( (r2 && !f) || (!r2 && f) ) { std::cerr << kwsys::DynamicLoader::LastError() << std::endl; return 1; } #ifndef __APPLE__ int s = kwsys::DynamicLoader::CloseLibrary(l); if( (r3 && !s) || (!r3 && s) ) { std::cerr << kwsys::DynamicLoader::LastError() << std::endl; return 1; } #else (void)r3; #endif return 0; } int testDynamicLoader(int argc, char *argv[]) { #if defined(_WIN32) SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX); #elif defined(__BEOS__) || defined(__HAIKU__) disable_debugger(1); #endif int res = 0; if( argc == 3 ) { // User specify a libname and symbol to check. res = TestDynamicLoader(argv[1], argv[2],1,1,1); return res; } // dlopen() on Syllable before 11/22/2007 doesn't return 0 on error #ifndef __SYLLABLE__ // Make sure that inexistent lib is giving correct result res += TestDynamicLoader("azerty_", "foo_bar",0,0,0); // Make sure that random binary file cannot be assimilated as dylib res += TestDynamicLoader(TEST_SYSTEMTOOLS_SOURCE_DIR "/testSystemTools.bin", "wp",0,0,0); #endif #ifdef __linux__ // This one is actually fun to test, since dlopen is by default loaded...wonder why :) res += TestDynamicLoader("foobar.lib", "dlopen",0,1,0); res += TestDynamicLoader("libdl.so", "dlopen",1,1,1); res += TestDynamicLoader("libdl.so", "TestDynamicLoader",1,0,1); #endif // Now try on the generated library std::string libname = GetLibName(KWSYS_NAMESPACE_STRING "TestDynload"); res += TestDynamicLoader(libname.c_str(), "dummy",1,0,1); res += TestDynamicLoader(libname.c_str(), "TestDynamicLoaderSymbolPointer",1,1,1); res += TestDynamicLoader(libname.c_str(), "_TestDynamicLoaderSymbolPointer",1,0,1); res += TestDynamicLoader(libname.c_str(), "TestDynamicLoaderData",1,1,1); res += TestDynamicLoader(libname.c_str(), "_TestDynamicLoaderData",1,0,1); return res; } KWStyle-master/Utilities/KWSys/testDynload.c000066400000000000000000000013461265471724600213640ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifdef _WIN32 #define DL_EXPORT __declspec( dllexport ) #else #define DL_EXPORT #endif DL_EXPORT int TestDynamicLoaderData = 0; DL_EXPORT void TestDynamicLoaderSymbolPointer() { } KWStyle-master/Utilities/KWSys/testEncode.c000066400000000000000000000042731265471724600211710ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(MD5.h) /* Work-around CMake dependency scanning limitation. This must duplicate the above list of headers. */ #if 0 # include "MD5.h.in" #endif #include #include static const unsigned char testMD5input1[] = " A quick brown fox jumps over the lazy dog.\n" " This is sample text for MD5 sum input.\n"; static const char testMD5output1[] = "8f146af46ed4f267921bb937d4d3500c"; static const int testMD5input2len = 28; static const unsigned char testMD5input2[] = "the cow jumped over the moon"; static const char testMD5output2[] = "a2ad137b746138fae4e5adca9c85d3ae"; static int testMD5_1(kwsysMD5* md5) { char md5out[33]; kwsysMD5_Initialize(md5); kwsysMD5_Append(md5, testMD5input1, -1); kwsysMD5_FinalizeHex(md5, md5out); md5out[32] = 0; printf("md5sum 1: expected [%s]\n" " got [%s]\n", testMD5output1, md5out); return (strcmp(md5out, testMD5output1) != 0)? 1:0; } static int testMD5_2(kwsysMD5* md5) { unsigned char digest[16]; char md5out[33]; kwsysMD5_Initialize(md5); kwsysMD5_Append(md5, testMD5input2, testMD5input2len); kwsysMD5_Finalize(md5, digest); kwsysMD5_DigestToHex(digest, md5out); md5out[32] = 0; printf("md5sum 2: expected [%s]\n" " got [%s]\n", testMD5output2, md5out); return (strcmp(md5out, testMD5output2) != 0)? 1:0; } int testEncode(int argc, char* argv[]) { int result = 0; (void)argc; (void)argv; /* Test MD5 digest. */ { kwsysMD5* md5 = kwsysMD5_New(); result |= testMD5_1(md5); result |= testMD5_2(md5); kwsysMD5_Delete(md5); } return result; } KWStyle-master/Utilities/KWSys/testEncoding.cxx000066400000000000000000000124721265471724600221020ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #if defined(_MSC_VER) # pragma warning (disable:4786) #endif #include KWSYS_HEADER(Encoding.hxx) #include KWSYS_HEADER(Encoding.h) #include #include #include #include // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "Encoding.hxx.in" # include "Encoding.h.in" #endif //---------------------------------------------------------------------------- static const unsigned char helloWorldStrings[][32] = { // English {'H','e','l','l','o',' ','W','o','r','l','d',0}, // Japanese {0xE3, 0x81, 0x93, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xAB, 0xE3, 0x81, 0xA1, 0xE3, 0x81, 0xAF, 0xE4, 0xB8, 0x96, 0xE7, 0x95, 0x8C, 0}, // Arabic {0xD9, 0x85, 0xD8, 0xB1, 0xD8, 0xAD, 0xD8, 0xA8, 0xD8, 0xA7, 0x20, 0xD8, 0xA7, 0xD9, 0x84, 0xD8, 0xB9, 0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x85, 0}, // Yiddish {0xD7, 0x94, 0xD7, 0xA2, 0xD7, 0x9C, 0xD7, 0x90, 0x20, 0xD7, 0x95, 0xD7, 0x95, 0xD7, 0xA2, 0xD7, 0x9C, 0xD7, 0x98, 0}, // Russian {0xD0, 0xBF, 0xD1, 0x80, 0xD0, 0xB8, 0xD0, 0xB2, 0xD0, 0xB5, 0xD1, 0x82, 0x20, 0xD0, 0xBC, 0xD0, 0xB8, 0xD1, 0x80, 0}, // Latin {0x4D, 0x75, 0x6E, 0x64, 0x75, 0x73, 0x20, 0x73, 0x61, 0x6C, 0x76, 0x65, 0}, // Swahili {0x68, 0x75, 0x6A, 0x61, 0x6D, 0x62, 0x6F, 0x20, 0x44, 0x75, 0x6E, 0x69, 0x61, 0}, // Icelandic {0x48, 0x61, 0x6C, 0x6C, 0xC3, 0xB3, 0x20, 0x68, 0x65, 0x69, 0x6D, 0x75, 0x72, 0}, {0} }; //---------------------------------------------------------------------------- static int testHelloWorldEncoding() { int ret = 0; for(int i=0; helloWorldStrings[i][0] != 0; i++) { std::string str = reinterpret_cast(helloWorldStrings[i]); std::cout << str << std::endl; std::wstring wstr = kwsys::Encoding::ToWide(str); std::string str2 = kwsys::Encoding::ToNarrow(wstr); wchar_t* c_wstr = kwsysEncoding_DupToWide(str.c_str()); char* c_str2 = kwsysEncoding_DupToNarrow(c_wstr); if(!wstr.empty() && (str != str2 || strcmp(c_str2, str.c_str()))) { std::cout << "converted string was different: " << str2 << std::endl; std::cout << "converted string was different: " << c_str2 << std::endl; ret++; } free(c_wstr); free(c_str2); } return ret; } static int testRobustEncoding() { // test that the conversion functions handle invalid // unicode correctly/gracefully int ret = 0; char cstr[] = {(char)-1, 0}; // this conversion could fail std::wstring wstr = kwsys::Encoding::ToWide(cstr); wstr = kwsys::Encoding::ToWide(NULL); if(wstr != L"") { const wchar_t* wcstr = wstr.c_str(); std::cout << "ToWide(NULL) returned"; for(size_t i=0; i #ifdef __BORLANDC__ # include /* memcmp */ #endif // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "FStream.hxx.in" #endif #include //---------------------------------------------------------------------------- static int testNoFile() { kwsys::ifstream in_file("NoSuchFile.txt"); if(in_file) { return 1; } return 0; } static kwsys::FStream::BOM expected_bom[5] = { kwsys::FStream::BOM_UTF8, kwsys::FStream::BOM_UTF16LE, kwsys::FStream::BOM_UTF16BE, kwsys::FStream::BOM_UTF32LE, kwsys::FStream::BOM_UTF32BE }; static unsigned char expected_bom_data[5][5] = { {3, 0xEF, 0xBB, 0xBF}, {2, 0xFF, 0xFE}, {2, 0xFE, 0xFF}, {4, 0xFF, 0xFE, 0x00, 0x00}, {4, 0x00, 0x00, 0xFE, 0xFF}, }; static unsigned char file_data[5][45] = { {11, 'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'}, {22, 0x48, 0x00, 0x65, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x20, 0x00, 0x57, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x6C, 0x00, 0x64, 0x00}, {22, 0x00, 0x48, 0x00, 0x65, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x6F, 0x00, 0x20, 0x00, 0x57, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x6C, 0x00, 0x64}, {44, 0x48, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00}, {44, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x64}, }; //---------------------------------------------------------------------------- static int testBOM() { // test various encodings in binary mode for(int i=0; i<5; i++) { { kwsys::ofstream out("bom.txt", kwsys::ofstream::binary); out.write(reinterpret_cast(expected_bom_data[i]+1), *expected_bom_data[i]); out.write(reinterpret_cast(file_data[i]+1), file_data[i][0]); } kwsys::ifstream in("bom.txt", kwsys::ofstream::binary); kwsys::FStream::BOM bom = kwsys::FStream::ReadBOM(in); if(bom != expected_bom[i]) { std::cout << "Unexpected BOM " << i << std::endl; return 1; } char data[45]; in.read(data, file_data[i][0]); if(!in.good()) { std::cout << "Unable to read data " << i << std::endl; return 1; } if(memcmp(data, file_data[i]+1, file_data[i][0]) != 0) { std::cout << "Incorrect read data " << i << std::endl; return 1; } } // test text file without bom { { kwsys::ofstream out("bom.txt"); out << "Hello World"; } kwsys::ifstream in("bom.txt"); kwsys::FStream::BOM bom = kwsys::FStream::ReadBOM(in); if(bom != kwsys::FStream::BOM_None) { std::cout << "Unexpected BOM for none case" << std::endl; return 1; } char data[45]; in.read(data, file_data[0][0]); if(!in.good()) { std::cout << "Unable to read data for none case" << std::endl; return 1; } if(memcmp(data, file_data[0]+1, file_data[0][0]) != 0) { std::cout << "Incorrect read data for none case" << std::endl; return 1; } } // test text file with utf-8 bom { { kwsys::ofstream out("bom.txt"); out.write(reinterpret_cast(expected_bom_data[0]+1), *expected_bom_data[0]); out << "Hello World"; } kwsys::ifstream in("bom.txt"); kwsys::FStream::BOM bom = kwsys::FStream::ReadBOM(in); if(bom != kwsys::FStream::BOM_UTF8) { std::cout << "Unexpected BOM for utf-8 case" << std::endl; return 1; } char data[45]; in.read(data, file_data[0][0]); if(!in.good()) { std::cout << "Unable to read data for utf-8 case" << std::endl; return 1; } if(memcmp(data, file_data[0]+1, file_data[0][0]) != 0) { std::cout << "Incorrect read data for utf-8 case" << std::endl; return 1; } } return 0; } //---------------------------------------------------------------------------- int testFStream(int, char*[]) { int ret = 0; ret |= testNoFile(); ret |= testBOM(); return ret; } KWStyle-master/Utilities/KWSys/testFail.c000066400000000000000000000020751265471724600206450ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include #include #include int testFail(int argc, char* argv[]) { char* env = getenv("DASHBOARD_TEST_FROM_CTEST"); int oldCtest = 0; if(env) { if(strcmp(env, "1") == 0) { oldCtest = 1; } printf("DASHBOARD_TEST_FROM_CTEST = %s\n", env); } printf("%s: This test intentionally fails\n", argv[0]); if(oldCtest) { printf("The version of ctest is not able to handle intentionally failing tests, so pass.\n"); return 0; } return argc; } KWStyle-master/Utilities/KWSys/testHashSTL.cxx000066400000000000000000000037661265471724600216300ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(hash_map.hxx) #include KWSYS_HEADER(hash_set.hxx) // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "hash_map.hxx.in" # include "hash_set.hxx.in" # include "hashtable.hxx.in" #endif #include #if defined(_MSC_VER) # pragma warning (disable:4786) #endif #if defined(__sgi) && !defined(__GNUC__) # pragma set woff 1468 /* inline function cannot be explicitly instantiated */ #endif template class kwsys::hash_map; template class kwsys::hash_set; static bool test_hash_map() { typedef kwsys::hash_map mtype; mtype m; const char* keys[] = {"hello", "world"}; m[keys[0]] = 1; m.insert(mtype::value_type(keys[1], 2)); int sum = 0; for(mtype::iterator mi = m.begin(); mi != m.end(); ++mi) { std::cout << "Found entry [" << mi->first << "," << mi->second << "]" << std::endl; sum += mi->second; } return sum == 3; } static bool test_hash_set() { typedef kwsys::hash_set stype; stype s; s.insert(1); s.insert(2); int sum = 0; for(stype::iterator si = s.begin(); si != s.end(); ++si) { std::cout << "Found entry [" << *si << "]" << std::endl; sum += *si; } return sum == 3; } int testHashSTL(int, char*[]) { bool result = true; result = test_hash_map() && result; result = test_hash_set() && result; return result? 0:1; } KWStyle-master/Utilities/KWSys/testIOS.cxx000066400000000000000000000105611265471724600210030ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(Configure.hxx) #include #include #include #include #include /* strlen */ int testIOS(int, char*[]) { std::ostringstream ostr; const char hello[] = "hello"; ostr << hello; if(ostr.str() != hello) { std::cerr << "failed to write hello to ostr" << std::endl; return 1; } const char world[] = "world"; std::ostringstream ostr2; ostr2.write( hello, strlen(hello) ); /* I could do sizeof */ ostr2.put( '\0' ); ostr2.write( world, strlen(world) ); if(ostr2.str().size() != strlen(hello) + 1 + strlen(world) ) { std::cerr << "failed to write hello to ostr2" << std::endl; return 1; } static const unsigned char array[] = { 0xff,0x4f,0xff,0x51,0x00,0x29,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x01,0x01,0xff,0x52,0x00,0x0c,0x00,0x00,0x00,0x01,0x00,0x05,0x04,0x04,0x00,0x01,0xff,0x5c,0x00,0x13,0x40,0x40,0x48,0x48,0x50,0x48,0x48,0x50,0x48,0x48,0x50,0x48,0x48,0x50,0x48,0x48,0x50,0xff,0x64,0x00,0x2c,0x00,0x00,0x43,0x72,0x65,0x61,0x74,0x65,0x64,0x20,0x62,0x79,0x20,0x49,0x54,0x4b,0x2f,0x47,0x44,0x43,0x4d,0x2f,0x4f,0x70,0x65,0x6e,0x4a,0x50,0x45,0x47,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x31,0x2e,0x30,0xff,0x90,0x00,0x0a,0x00,0x00,0x00,0x00,0x06,0x2c,0x00,0x01,0xff,0x93,0xcf,0xb0,0x18,0x08,0x7f,0xc6,0x99,0xbf,0xff,0xc0,0xf8,0xc1,0xc1,0xf3,0x05,0x81,0xf2,0x83,0x0a,0xa5,0xff,0x10,0x90,0xbf,0x2f,0xff,0x04,0xa8,0x7f,0xc0,0xf8,0xc4,0xc1,0xf3,0x09,0x81,0xf3,0x0c,0x19,0x34 }; const size_t narray = sizeof(array); // 180 std::stringstream strstr; strstr.write( (char*)array, narray ); //strstr.seekp( narray / 2 ); // set position of put pointer in mid string if(strstr.str().size() != narray ) { std::cerr << "failed to write array to strstr" << std::endl; return 1; } std::istringstream istr(" 10 20 str "); std::string s; int x; if(istr >> x) { if(x != 10) { std::cerr << "x != 10" << std::endl; return 1; } } else { std::cerr << "Failed to read 10 from istr" << std::endl; return 1; } if(istr >> x) { if(x != 20) { std::cerr << "x != 20" << std::endl; return 1; } } else { std::cerr << "Failed to read 20 from istr" << std::endl; return 1; } if(istr >> s) { if(s != "str") { std::cerr << "s != \"str\"" << std::endl; return 1; } } else { std::cerr << "Failed to read str from istr" << std::endl; return 1; } if(istr >> s) { std::cerr << "Able to read past end of stream" << std::endl; return 1; } else { // Clear the failure. istr.clear(istr.rdstate() & ~std::ios::eofbit); istr.clear(istr.rdstate() & ~std::ios::failbit); } istr.str("30"); if(istr >> x) { if(x != 30) { std::cerr << "x != 30" << std::endl; return 1; } } else { std::cerr << "Failed to read 30 from istr" << std::endl; return 1; } std::stringstream sstr; sstr << "40 str2"; if(sstr >> x) { if(x != 40) { std::cerr << "x != 40" << std::endl; return 1; } } else { std::cerr << "Failed to read 40 from sstr" << std::endl; return 1; } if(sstr >> s) { if(s != "str2") { std::cerr << "s != \"str2\"" << std::endl; return 1; } } else { std::cerr << "Failed to read str2 from sstr" << std::endl; return 1; } // Just try to compile this. if(x == 12345) { std::ifstream fin("/does_not_exist", std::ios::in | std::ios::binary); } std::cout << "IOS tests passed" << std::endl; return 0; } KWStyle-master/Utilities/KWSys/testProcess.c000066400000000000000000000564651265471724600214240ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(Process.h) #include KWSYS_HEADER(Encoding.h) /* Work-around CMake dependency scanning limitation. This must duplicate the above list of headers. */ #if 0 # include "Process.h.in" # include "Encoding.h.in" #endif #include #include #include #include #include #if defined(_WIN32) # include #else # include # include #endif #if defined(__BORLANDC__) # pragma warn -8060 /* possibly incorrect assignment */ #endif /* Platform-specific sleep functions. */ #if defined(__BEOS__) && !defined(__ZETA__) /* BeOS 5 doesn't have usleep(), but it has snooze(), which is identical. */ # include static inline void testProcess_usleep(unsigned int usec) { snooze(usec); } #elif defined(_WIN32) /* Windows can only sleep in millisecond intervals. */ static void testProcess_usleep(unsigned int usec) { Sleep(usec / 1000); } #else # define testProcess_usleep usleep #endif #if defined(_WIN32) static void testProcess_sleep(unsigned int sec) { Sleep(sec*1000); } #else static void testProcess_sleep(unsigned int sec) { sleep(sec); } #endif int runChild(const char* cmd[], int state, int exception, int value, int share, int output, int delay, double timeout, int poll, int repeat, int disown, int createNewGroup, unsigned int interruptDelay); static int test1(int argc, const char* argv[]) { /* This is a very basic functional test of kwsysProcess. It is repeated numerous times to verify that there are no resource leaks in kwsysProcess that eventually lead to an error. Many versions of OS X will fail after 256 leaked file handles, so 257 iterations seems to be a good test. On the other hand, too many iterations will cause the test to time out - especially if the test is instrumented with e.g. valgrind. If you have problems with this test timing out on your system, or want to run more than 257 iterations, you can change the number of iterations by setting the KWSYS_TEST_PROCESS_1_COUNT environment variable. */ (void)argc; (void)argv; fprintf(stdout, "Output on stdout from test returning 0.\n"); fprintf(stderr, "Output on stderr from test returning 0.\n"); return 0; } static int test2(int argc, const char* argv[]) { (void)argc; (void)argv; fprintf(stdout, "Output on stdout from test returning 123.\n"); fprintf(stderr, "Output on stderr from test returning 123.\n"); return 123; } static int test3(int argc, const char* argv[]) { (void)argc; (void)argv; fprintf(stdout, "Output before sleep on stdout from timeout test.\n"); fprintf(stderr, "Output before sleep on stderr from timeout test.\n"); fflush(stdout); fflush(stderr); testProcess_sleep(15); fprintf(stdout, "Output after sleep on stdout from timeout test.\n"); fprintf(stderr, "Output after sleep on stderr from timeout test.\n"); return 0; } static int test4(int argc, const char* argv[]) { /* Prepare a pointer to an invalid address. Don't use null, because dereferencing null is undefined behaviour and compilers are free to do whatever they want. ex: Clang will warn at compile time, or even optimize away the write. We hope to 'outsmart' them by using 'volatile' and a slightly larger address, based on a runtime value. */ volatile int* invalidAddress = 0; invalidAddress += argc?1:2; #if defined(_WIN32) /* Avoid error diagnostic popups since we are crashing on purpose. */ SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX); #elif defined(__BEOS__) || defined(__HAIKU__) /* Avoid error diagnostic popups since we are crashing on purpose. */ disable_debugger(1); #endif (void)argc; (void)argv; fprintf(stdout, "Output before crash on stdout from crash test.\n"); fprintf(stderr, "Output before crash on stderr from crash test.\n"); fflush(stdout); fflush(stderr); assert(invalidAddress); /* Quiet Clang scan-build. */ /* Provoke deliberate crash by writing to the invalid address. */ *invalidAddress = 0; fprintf(stdout, "Output after crash on stdout from crash test.\n"); fprintf(stderr, "Output after crash on stderr from crash test.\n"); return 0; } static int test5(int argc, const char* argv[]) { int r; const char* cmd[4]; (void)argc; cmd[0] = argv[0]; cmd[1] = "run"; cmd[2] = "4"; cmd[3] = 0; fprintf(stdout, "Output on stdout before recursive test.\n"); fprintf(stderr, "Output on stderr before recursive test.\n"); fflush(stdout); fflush(stderr); r = runChild(cmd, kwsysProcess_State_Exception, kwsysProcess_Exception_Fault, 1, 1, 1, 0, 15, 0, 1, 0, 0, 0); fprintf(stdout, "Output on stdout after recursive test.\n"); fprintf(stderr, "Output on stderr after recursive test.\n"); fflush(stdout); fflush(stderr); return r; } #define TEST6_SIZE (4096*2) static void test6(int argc, const char* argv[]) { int i; char runaway[TEST6_SIZE+1]; (void)argc; (void)argv; for(i=0;i < TEST6_SIZE;++i) { runaway[i] = '.'; } runaway[TEST6_SIZE] = '\n'; /* Generate huge amounts of output to test killing. */ for(;;) { fwrite(runaway, 1, TEST6_SIZE+1, stdout); fflush(stdout); } } /* Define MINPOLL to be one more than the number of times output is written. Define MAXPOLL to be the largest number of times a loop delaying 1/10th of a second should ever have to poll. */ #define MINPOLL 5 #define MAXPOLL 20 static int test7(int argc, const char* argv[]) { (void)argc; (void)argv; fprintf(stdout, "Output on stdout before sleep.\n"); fprintf(stderr, "Output on stderr before sleep.\n"); fflush(stdout); fflush(stderr); /* Sleep for 1 second. */ testProcess_sleep(1); fprintf(stdout, "Output on stdout after sleep.\n"); fprintf(stderr, "Output on stderr after sleep.\n"); fflush(stdout); fflush(stderr); return 0; } static int test8(int argc, const char* argv[]) { /* Create a disowned grandchild to test handling of processes that exit before their children. */ int r; const char* cmd[4]; (void)argc; cmd[0] = argv[0]; cmd[1] = "run"; cmd[2] = "108"; cmd[3] = 0; fprintf(stdout, "Output on stdout before grandchild test.\n"); fprintf(stderr, "Output on stderr before grandchild test.\n"); fflush(stdout); fflush(stderr); r = runChild(cmd, kwsysProcess_State_Disowned, kwsysProcess_Exception_None, 1, 1, 1, 0, 10, 0, 1, 1, 0, 0); fprintf(stdout, "Output on stdout after grandchild test.\n"); fprintf(stderr, "Output on stderr after grandchild test.\n"); fflush(stdout); fflush(stderr); return r; } static int test8_grandchild(int argc, const char* argv[]) { (void)argc; (void)argv; fprintf(stdout, "Output on stdout from grandchild before sleep.\n"); fprintf(stderr, "Output on stderr from grandchild before sleep.\n"); fflush(stdout); fflush(stderr); /* TODO: Instead of closing pipes here leave them open to make sure the grandparent can stop listening when the parent exits. This part of the test cannot be enabled until the feature is implemented. */ fclose(stdout); fclose(stderr); testProcess_sleep(15); return 0; } static int test9(int argc, const char* argv[]) { /* Test Ctrl+C behavior: the root test program will send a Ctrl+C to this process. Here, we start a child process that sleeps for a long time while ignoring signals. The test is successful if this process waits for the child to return before exiting from the Ctrl+C handler. WARNING: This test will falsely pass if the share parameter of runChild was set to 0 when invoking the test9 process. */ int r; const char* cmd[4]; (void)argc; cmd[0] = argv[0]; cmd[1] = "run"; cmd[2] = "109"; cmd[3] = 0; fprintf(stdout, "Output on stdout before grandchild test.\n"); fprintf(stderr, "Output on stderr before grandchild test.\n"); fflush(stdout); fflush(stderr); r = runChild(cmd, kwsysProcess_State_Exited, kwsysProcess_Exception_None, 0, 1, 1, 0, 30, 0, 1, 0, 0, 0); /* This sleep will avoid a race condition between this function exiting normally and our Ctrl+C handler exiting abnormally after the process exits. */ testProcess_sleep(1); fprintf(stdout, "Output on stdout after grandchild test.\n"); fprintf(stderr, "Output on stderr after grandchild test.\n"); fflush(stdout); fflush(stderr); return r; } #if defined(_WIN32) static BOOL WINAPI test9_grandchild_handler(DWORD dwCtrlType) { /* Ignore all Ctrl+C/Break signals. We must use an actual handler function instead of using SetConsoleCtrlHandler(NULL, TRUE) so that we can also ignore Ctrl+Break in addition to Ctrl+C. */ (void)dwCtrlType; return TRUE; } #endif static int test9_grandchild(int argc, const char* argv[]) { /* The grandchild just sleeps for a few seconds while ignoring signals. */ (void)argc; (void)argv; #if defined(_WIN32) if(!SetConsoleCtrlHandler(test9_grandchild_handler, TRUE)) { return 1; } #else struct sigaction sa; memset(&sa, 0, sizeof(sa)); sa.sa_handler = SIG_IGN; sigemptyset(&sa.sa_mask); if(sigaction(SIGINT, &sa, 0) < 0) { return 1; } #endif fprintf(stdout, "Output on stdout from grandchild before sleep.\n"); fprintf(stderr, "Output on stderr from grandchild before sleep.\n"); fflush(stdout); fflush(stderr); /* Sleep for 9 seconds. */ testProcess_sleep(9); fprintf(stdout, "Output on stdout from grandchild after sleep.\n"); fprintf(stderr, "Output on stderr from grandchild after sleep.\n"); fflush(stdout); fflush(stderr); return 0; } static int test10(int argc, const char* argv[]) { /* Test Ctrl+C behavior: the root test program will send a Ctrl+C to this process. Here, we start a child process that sleeps for a long time and processes signals normally. However, this grandchild is created in a new process group - ensuring that Ctrl+C we receive is sent to our process groups. We make sure it exits anyway. */ int r; const char* cmd[4]; (void)argc; cmd[0] = argv[0]; cmd[1] = "run"; cmd[2] = "110"; cmd[3] = 0; fprintf(stdout, "Output on stdout before grandchild test.\n"); fprintf(stderr, "Output on stderr before grandchild test.\n"); fflush(stdout); fflush(stderr); r = runChild(cmd, kwsysProcess_State_Exception, kwsysProcess_Exception_Interrupt, 0, 1, 1, 0, 30, 0, 1, 0, 1, 0); fprintf(stdout, "Output on stdout after grandchild test.\n"); fprintf(stderr, "Output on stderr after grandchild test.\n"); fflush(stdout); fflush(stderr); return r; } static int test10_grandchild(int argc, const char* argv[]) { /* The grandchild just sleeps for a few seconds and handles signals. */ (void)argc; (void)argv; fprintf(stdout, "Output on stdout from grandchild before sleep.\n"); fprintf(stderr, "Output on stderr from grandchild before sleep.\n"); fflush(stdout); fflush(stderr); /* Sleep for 6 seconds. */ testProcess_sleep(6); fprintf(stdout, "Output on stdout from grandchild after sleep.\n"); fprintf(stderr, "Output on stderr from grandchild after sleep.\n"); fflush(stdout); fflush(stderr); return 0; } static int runChild2(kwsysProcess* kp, const char* cmd[], int state, int exception, int value, int share, int output, int delay, double timeout, int poll, int disown, int createNewGroup, unsigned int interruptDelay) { int result = 0; char* data = 0; int length = 0; double userTimeout = 0; double* pUserTimeout = 0; kwsysProcess_SetCommand(kp, cmd); if(timeout >= 0) { kwsysProcess_SetTimeout(kp, timeout); } if(share) { kwsysProcess_SetPipeShared(kp, kwsysProcess_Pipe_STDOUT, 1); kwsysProcess_SetPipeShared(kp, kwsysProcess_Pipe_STDERR, 1); } if(disown) { kwsysProcess_SetOption(kp, kwsysProcess_Option_Detach, 1); } if(createNewGroup) { kwsysProcess_SetOption(kp, kwsysProcess_Option_CreateProcessGroup, 1); } kwsysProcess_Execute(kp); if(poll) { pUserTimeout = &userTimeout; } if(interruptDelay) { testProcess_sleep(interruptDelay); kwsysProcess_Interrupt(kp); } if(!share && !disown) { int p; while((p = kwsysProcess_WaitForData(kp, &data, &length, pUserTimeout))) { if(output) { if(poll && p == kwsysProcess_Pipe_Timeout) { fprintf(stdout, "WaitForData timeout reached.\n"); fflush(stdout); /* Count the number of times we polled without getting data. If it is excessive then kill the child and fail. */ if(++poll >= MAXPOLL) { fprintf(stdout, "Poll count reached limit %d.\n", MAXPOLL); kwsysProcess_Kill(kp); } } else { fwrite(data, 1, (size_t) length, stdout); fflush(stdout); } } if(poll) { /* Delay to avoid busy loop during polling. */ testProcess_usleep(100000); } if(delay) { /* Purposely sleeping only on Win32 to let pipe fill up. */ #if defined(_WIN32) testProcess_usleep(100000); #endif } } } if(disown) { kwsysProcess_Disown(kp); } else { kwsysProcess_WaitForExit(kp, 0); } switch (kwsysProcess_GetState(kp)) { case kwsysProcess_State_Starting: printf("No process has been executed.\n"); break; case kwsysProcess_State_Executing: printf("The process is still executing.\n"); break; case kwsysProcess_State_Expired: printf("Child was killed when timeout expired.\n"); break; case kwsysProcess_State_Exited: printf("Child exited with value = %d\n", kwsysProcess_GetExitValue(kp)); result = ((exception != kwsysProcess_GetExitException(kp)) || (value != kwsysProcess_GetExitValue(kp))); break; case kwsysProcess_State_Killed: printf("Child was killed by parent.\n"); break; case kwsysProcess_State_Exception: printf("Child terminated abnormally: %s\n", kwsysProcess_GetExceptionString(kp)); result = ((exception != kwsysProcess_GetExitException(kp)) || (value != kwsysProcess_GetExitValue(kp))); break; case kwsysProcess_State_Disowned: printf("Child was disowned.\n"); break; case kwsysProcess_State_Error: printf("Error in administrating child process: [%s]\n", kwsysProcess_GetErrorString(kp)); break; }; if(result) { if(exception != kwsysProcess_GetExitException(kp)) { fprintf(stderr, "Mismatch in exit exception. " "Should have been %d, was %d.\n", exception, kwsysProcess_GetExitException(kp)); } if(value != kwsysProcess_GetExitValue(kp)) { fprintf(stderr, "Mismatch in exit value. " "Should have been %d, was %d.\n", value, kwsysProcess_GetExitValue(kp)); } } if(kwsysProcess_GetState(kp) != state) { fprintf(stderr, "Mismatch in state. " "Should have been %d, was %d.\n", state, kwsysProcess_GetState(kp)); result = 1; } /* We should have polled more times than there were data if polling was enabled. */ if(poll && poll < MINPOLL) { fprintf(stderr, "Poll count is %d, which is less than %d.\n", poll, MINPOLL); result = 1; } return result; } /** * Runs a child process and blocks until it returns. Arguments as follows: * * cmd = Command line to run. * state = Expected return value of kwsysProcess_GetState after exit. * exception = Expected return value of kwsysProcess_GetExitException. * value = Expected return value of kwsysProcess_GetExitValue. * share = Whether to share stdout/stderr child pipes with our pipes * by way of kwsysProcess_SetPipeShared. If false, new pipes * are created. * output = If !share && !disown, whether to write the child's stdout * and stderr output to our stdout. * delay = If !share && !disown, adds an additional short delay to * the pipe loop to allow the pipes to fill up; Windows only. * timeout = Non-zero to sets a timeout in seconds via * kwsysProcess_SetTimeout. * poll = If !share && !disown, we count the number of 0.1 second * intervals where the child pipes had no new data. We fail * if not in the bounds of MINPOLL/MAXPOLL. * repeat = Number of times to run the process. * disown = If set, the process is disowned. * createNewGroup = If set, the process is created in a new process group. * interruptDelay = If non-zero, number of seconds to delay before * interrupting the process. Note that this delay will occur * BEFORE any reading/polling of pipes occurs and before any * detachment occurs. */ int runChild(const char* cmd[], int state, int exception, int value, int share, int output, int delay, double timeout, int poll, int repeat, int disown, int createNewGroup, unsigned int interruptDelay) { int result = 1; kwsysProcess* kp = kwsysProcess_New(); if(!kp) { fprintf(stderr, "kwsysProcess_New returned NULL!\n"); return 1; } while(repeat-- > 0) { result = runChild2(kp, cmd, state, exception, value, share, output, delay, timeout, poll, disown, createNewGroup, interruptDelay); if(result) { break; } } kwsysProcess_Delete(kp); return result; } int main(int argc, const char* argv[]) { int n = 0; #ifdef _WIN32 int i; char new_args[10][_MAX_PATH]; LPWSTR* w_av = CommandLineToArgvW(GetCommandLineW(), &argc); for(i=0; i= 1 && n <= 10) || n == 108 || n == 109 || n == 110) && argc == 3) { /* This is the child process for a requested test number. */ switch (n) { case 1: return test1(argc, argv); case 2: return test2(argc, argv); case 3: return test3(argc, argv); case 4: return test4(argc, argv); case 5: return test5(argc, argv); case 6: test6(argc, argv); return 0; case 7: return test7(argc, argv); case 8: return test8(argc, argv); case 9: return test9(argc, argv); case 10: return test10(argc, argv); case 108: return test8_grandchild(argc, argv); case 109: return test9_grandchild(argc, argv); case 110: return test10_grandchild(argc, argv); } fprintf(stderr, "Invalid test number %d.\n", n); return 1; } else if(n >= 1 && n <= 10) { /* This is the parent process for a requested test number. */ int states[10] = { kwsysProcess_State_Exited, kwsysProcess_State_Exited, kwsysProcess_State_Expired, kwsysProcess_State_Exception, kwsysProcess_State_Exited, kwsysProcess_State_Expired, kwsysProcess_State_Exited, kwsysProcess_State_Exited, kwsysProcess_State_Expired, /* Ctrl+C handler test */ kwsysProcess_State_Exception /* Process group test */ }; int exceptions[10] = { kwsysProcess_Exception_None, kwsysProcess_Exception_None, kwsysProcess_Exception_None, kwsysProcess_Exception_Fault, kwsysProcess_Exception_None, kwsysProcess_Exception_None, kwsysProcess_Exception_None, kwsysProcess_Exception_None, kwsysProcess_Exception_None, kwsysProcess_Exception_Interrupt }; int values[10] = {0, 123, 1, 1, 0, 0, 0, 0, 1, 1}; int shares[10] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1}; int outputs[10] = {1, 1, 1, 1, 1, 0, 1, 1, 1, 1}; int delays[10] = {0, 0, 0, 0, 0, 1, 0, 0, 0, 0}; double timeouts[10] = {10, 10, 10, 30, 30, 10, -1, 10, 6, 4}; int polls[10] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0}; int repeat[10] = {257, 1, 1, 1, 1, 1, 1, 1, 1, 1}; int createNewGroups[10] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1}; unsigned int interruptDelays[10] = {0, 0, 0, 0, 0, 0, 0, 0, 3, 2}; int r; const char* cmd[4]; #ifdef _WIN32 char* argv0 = 0; #endif char* test1IterationsStr = getenv("KWSYS_TEST_PROCESS_1_COUNT"); if(test1IterationsStr) { long int test1Iterations = strtol(test1IterationsStr, 0, 10); if(test1Iterations > 10 && test1Iterations != LONG_MAX) { repeat[0] = (int)test1Iterations; } } #ifdef _WIN32 if(n == 0 && (argv0 = strdup(argv[0]))) { /* Try converting to forward slashes to see if it works. */ char* c; for(c=argv0; *c; ++c) { if(*c == '\\') { *c = '/'; } } cmd[0] = argv0; } else { cmd[0] = argv[0]; } #else cmd[0] = argv[0]; #endif cmd[1] = "run"; cmd[2] = argv[1]; cmd[3] = 0; fprintf(stdout, "Output on stdout before test %d.\n", n); fprintf(stderr, "Output on stderr before test %d.\n", n); fflush(stdout); fflush(stderr); r = runChild(cmd, states[n-1], exceptions[n-1], values[n-1], shares[n-1], outputs[n-1], delays[n-1], timeouts[n-1], polls[n-1], repeat[n-1], 0, createNewGroups[n-1], interruptDelays[n-1]); fprintf(stdout, "Output on stdout after test %d.\n", n); fprintf(stderr, "Output on stderr after test %d.\n", n); fflush(stdout); fflush(stderr); #if defined(_WIN32) if(argv0) { free(argv0); } #endif return r; } else if(argc > 2 && strcmp(argv[1], "0") == 0) { /* This is the special debugging test to run a given command line. */ const char** cmd = argv+2; int state = kwsysProcess_State_Exited; int exception = kwsysProcess_Exception_None; int value = 0; double timeout = 0; int r = runChild(cmd, state, exception, value, 0, 1, 0, timeout, 0, 1, 0, 0, 0); return r; } else { /* Improper usage. */ fprintf(stdout, "Usage: %s \n", argv[0]); return 1; } } KWStyle-master/Utilities/KWSys/testSharedForward.c.in000066400000000000000000000030221265471724600231230ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #if defined(CMAKE_INTDIR) # define CONFIG_DIR_PRE CMAKE_INTDIR "/" # define CONFIG_DIR_POST "/" CMAKE_INTDIR #else # define CONFIG_DIR_PRE "" # define CONFIG_DIR_POST "" #endif #define @KWSYS_NAMESPACE@_SHARED_FORWARD_DIR_BUILD "@EXEC_DIR@" #define @KWSYS_NAMESPACE@_SHARED_FORWARD_PATH_BUILD "." CONFIG_DIR_POST #define @KWSYS_NAMESPACE@_SHARED_FORWARD_PATH_INSTALL 0 #define @KWSYS_NAMESPACE@_SHARED_FORWARD_EXE_BUILD \ CONFIG_DIR_PRE "@KWSYS_NAMESPACE@TestProcess" #define @KWSYS_NAMESPACE@_SHARED_FORWARD_EXE_INSTALL \ "@KWSYS_NAMESPACE@TestProcess" #define @KWSYS_NAMESPACE@_SHARED_FORWARD_OPTION_COMMAND "--command" #define @KWSYS_NAMESPACE@_SHARED_FORWARD_OPTION_PRINT "--print" #define @KWSYS_NAMESPACE@_SHARED_FORWARD_OPTION_LDD "--ldd" #if defined(CMAKE_INTDIR) # define @KWSYS_NAMESPACE@_SHARED_FORWARD_CONFIG_NAME CMAKE_INTDIR #endif #include <@KWSYS_NAMESPACE@/SharedForward.h> int main(int argc, char** argv) { return @KWSYS_NAMESPACE@_shared_forward_to_real(argc, argv); } KWStyle-master/Utilities/KWSys/testSystemInformation.cxx000066400000000000000000000072201265471724600240410ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(SystemInformation.hxx) // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "SystemInformation.hxx.in" #endif #include #if defined(KWSYS_USE_LONG_LONG) # if defined(KWSYS_IOS_HAS_OSTREAM_LONG_LONG) # define iostreamLongLong(x) (x) # else # define iostreamLongLong(x) ((long)x) # endif #elif defined(KWSYS_USE___INT64) # if defined(KWSYS_IOS_HAS_OSTREAM___INT64) # define iostreamLongLong(x) (x) # else # define iostreamLongLong(x) ((long)x) # endif #else # error "No Long Long" #endif #define printMethod(info, m) std::cout << #m << ": " \ << info.m() << "\n" #define printMethod2(info, m, unit) std::cout << #m << ": " \ << info.m() << " " << unit << "\n" #define printMethod3(info, m, unit) std::cout << #m << ": " \ << iostreamLongLong(info.m) << " " << unit << "\n" int testSystemInformation(int, char*[]) { std::cout << "CTEST_FULL_OUTPUT\n"; // avoid truncation kwsys::SystemInformation info; info.RunCPUCheck(); info.RunOSCheck(); info.RunMemoryCheck(); printMethod(info, GetOSName); printMethod(info, GetOSIsLinux); printMethod(info, GetOSIsApple); printMethod(info, GetOSIsWindows); printMethod(info, GetHostname); printMethod(info, GetFullyQualifiedDomainName); printMethod(info, GetOSRelease); printMethod(info, GetOSVersion); printMethod(info, GetOSPlatform); printMethod(info, GetVendorString); printMethod(info, GetVendorID); printMethod(info, GetTypeID); printMethod(info, GetFamilyID); printMethod(info, GetModelID); printMethod(info, GetExtendedProcessorName); printMethod(info, GetSteppingCode); printMethod(info, GetProcessorSerialNumber); printMethod2(info, GetProcessorCacheSize, "KB"); printMethod(info, GetLogicalProcessorsPerPhysical); printMethod2(info, GetProcessorClockFrequency, "MHz"); printMethod(info, Is64Bits); printMethod(info, GetNumberOfLogicalCPU); printMethod(info, GetNumberOfPhysicalCPU); printMethod(info, DoesCPUSupportCPUID); printMethod(info, GetProcessorAPICID); printMethod2(info, GetTotalVirtualMemory, "MB"); printMethod2(info, GetAvailableVirtualMemory, "MB"); printMethod2(info, GetTotalPhysicalMemory, "MB"); printMethod2(info, GetAvailablePhysicalMemory, "MB"); printMethod3(info, GetHostMemoryTotal(), "KiB"); printMethod3(info, GetHostMemoryAvailable("KWSHL"), "KiB"); printMethod3(info, GetProcMemoryAvailable("KWSHL","KWSPL"), "KiB"); printMethod3(info, GetHostMemoryUsed(), "KiB"); printMethod3(info, GetProcMemoryUsed(), "KiB"); printMethod(info, GetLoadAverage); for (long int i = 0; i <= 31; i++) { if (info.DoesCPUSupportFeature(static_cast(1) << i)) { std::cout << "CPU feature " << i << "\n"; } } /* test stack trace */ std::cout << "Program Stack:" << std::endl << kwsys::SystemInformation::GetProgramStack(0,0) << std::endl << std::endl; /* test segv handler info.SetStackTraceOnError(1); double *d = (double*)100; *d=0; */ /* test abort handler info.SetStackTraceOnError(1); abort(); */ return 0; } KWStyle-master/Utilities/KWSys/testSystemTools.bin000066400000000000000000000013761265471724600226300ustar00rootroot00000000000000 ( @  w ww wp p p ????KWStyle-master/Utilities/KWSys/testSystemTools.cxx000066400000000000000000000563671265471724600226740ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #if defined(_MSC_VER) # pragma warning (disable:4786) #endif #include KWSYS_HEADER(SystemTools.hxx) // Work-around CMake dependency scanning limitation. This must // duplicate the above list of headers. #if 0 # include "SystemTools.hxx.in" #endif // Include with <> instead of "" to avoid getting any in-source copy // left on disk. #include #include #include /* strcmp */ #if defined(_WIN32) && !defined(__CYGWIN__) # include /* _umask (MSVC) / umask (Borland) */ # ifdef _MSC_VER # define umask _umask // Note this is still umask on Borland # endif #endif #include /* umask (POSIX), _S_I* constants (Windows) */ // Visual C++ does not define mode_t (note that Borland does, however). #if defined( _MSC_VER ) typedef unsigned short mode_t; #endif //---------------------------------------------------------------------------- static const char* toUnixPaths[][2] = { { "/usr/local/bin/passwd", "/usr/local/bin/passwd" }, { "/usr/lo cal/bin/pa sswd", "/usr/lo cal/bin/pa sswd" }, { "/usr/lo\\ cal/bin/pa\\ sswd", "/usr/lo\\ cal/bin/pa\\ sswd" }, { "c:/usr/local/bin/passwd", "c:/usr/local/bin/passwd" }, { "c:/usr/lo cal/bin/pa sswd", "c:/usr/lo cal/bin/pa sswd" }, { "c:/usr/lo\\ cal/bin/pa\\ sswd", "c:/usr/lo\\ cal/bin/pa\\ sswd" }, { "\\usr\\local\\bin\\passwd", "/usr/local/bin/passwd" }, { "\\usr\\lo cal\\bin\\pa sswd", "/usr/lo cal/bin/pa sswd" }, { "\\usr\\lo\\ cal\\bin\\pa\\ sswd", "/usr/lo\\ cal/bin/pa\\ sswd" }, { "c:\\usr\\local\\bin\\passwd", "c:/usr/local/bin/passwd" }, { "c:\\usr\\lo cal\\bin\\pa sswd", "c:/usr/lo cal/bin/pa sswd" }, { "c:\\usr\\lo\\ cal\\bin\\pa\\ sswd", "c:/usr/lo\\ cal/bin/pa\\ sswd" }, { "\\\\usr\\local\\bin\\passwd", "//usr/local/bin/passwd" }, { "\\\\usr\\lo cal\\bin\\pa sswd", "//usr/lo cal/bin/pa sswd" }, { "\\\\usr\\lo\\ cal\\bin\\pa\\ sswd", "//usr/lo\\ cal/bin/pa\\ sswd" }, {0, 0} }; static bool CheckConvertToUnixSlashes(std::string input, std::string output) { std::string result = input; kwsys::SystemTools::ConvertToUnixSlashes(result); if ( result != output ) { std::cerr << "Problem with ConvertToUnixSlashes - input: " << input << " output: " << result << " expected: " << output << std::endl; return false; } return true; } //---------------------------------------------------------------------------- static const char* checkEscapeChars[][4] = { { "1 foo 2 bar 2", "12", "\\", "\\1 foo \\2 bar \\2"}, { " {} ", "{}", "#", " #{#} "}, {0, 0, 0, 0} }; static bool CheckEscapeChars(std::string input, const char *chars_to_escape, char escape_char, std::string output) { std::string result = kwsys::SystemTools::EscapeChars( input.c_str(), chars_to_escape, escape_char); if (result != output) { std::cerr << "Problem with CheckEscapeChars - input: " << input << " output: " << result << " expected: " << output << std::endl; return false; } return true; } //---------------------------------------------------------------------------- static bool CheckFileOperations() { bool res = true; const std::string testNonExistingFile(TEST_SYSTEMTOOLS_SOURCE_DIR "/testSystemToolsNonExistingFile"); const std::string testDotFile(TEST_SYSTEMTOOLS_SOURCE_DIR "/."); const std::string testBinFile(TEST_SYSTEMTOOLS_SOURCE_DIR "/testSystemTools.bin"); const std::string testTxtFile(TEST_SYSTEMTOOLS_SOURCE_DIR "/testSystemTools.cxx"); const std::string testNewDir(TEST_SYSTEMTOOLS_BINARY_DIR "/testSystemToolsNewDir"); const std::string testNewFile(testNewDir + "/testNewFile.txt"); if (kwsys::SystemTools::DetectFileType(testNonExistingFile.c_str()) != kwsys::SystemTools::FileTypeUnknown) { std::cerr << "Problem with DetectFileType - failed to detect type of: " << testNonExistingFile << std::endl; res = false; } if (kwsys::SystemTools::DetectFileType(testDotFile.c_str()) != kwsys::SystemTools::FileTypeUnknown) { std::cerr << "Problem with DetectFileType - failed to detect type of: " << testDotFile << std::endl; res = false; } if (kwsys::SystemTools::DetectFileType(testBinFile.c_str()) != kwsys::SystemTools::FileTypeBinary) { std::cerr << "Problem with DetectFileType - failed to detect type of: " << testBinFile << std::endl; res = false; } if (kwsys::SystemTools::DetectFileType(testTxtFile.c_str()) != kwsys::SystemTools::FileTypeText) { std::cerr << "Problem with DetectFileType - failed to detect type of: " << testTxtFile << std::endl; res = false; } if (kwsys::SystemTools::FileLength(testBinFile) != 766) { std::cerr << "Problem with FileLength - incorrect length for: " << testBinFile << std::endl; res = false; } if (!kwsys::SystemTools::MakeDirectory(testNewDir)) { std::cerr << "Problem with MakeDirectory for: " << testNewDir << std::endl; res = false; } if (!kwsys::SystemTools::Touch(testNewFile.c_str(), true)) { std::cerr << "Problem with Touch for: " << testNewFile << std::endl; res = false; } // Reset umask #if defined(_WIN32) && !defined(__CYGWIN__) // NOTE: Windows doesn't support toggling _S_IREAD. mode_t fullMask = _S_IWRITE; #else // On a normal POSIX platform, we can toggle all permissions. mode_t fullMask = S_IRWXU | S_IRWXG | S_IRWXO; #endif mode_t orig_umask = umask(fullMask); // Test file permissions without umask mode_t origPerm, thisPerm; if (!kwsys::SystemTools::GetPermissions(testNewFile, origPerm)) { std::cerr << "Problem with GetPermissions (1) for: " << testNewFile << std::endl; res = false; } if (!kwsys::SystemTools::SetPermissions(testNewFile, 0)) { std::cerr << "Problem with SetPermissions (1) for: " << testNewFile << std::endl; res = false; } if (!kwsys::SystemTools::GetPermissions(testNewFile, thisPerm)) { std::cerr << "Problem with GetPermissions (2) for: " << testNewFile << std::endl; res = false; } if ((thisPerm & fullMask) != 0) { std::cerr << "SetPermissions failed to set permissions (1) for: " << testNewFile << ": actual = " << thisPerm << "; expected = " << 0 << std::endl; res = false; } // While we're at it, check proper TestFileAccess functionality. if (kwsys::SystemTools::TestFileAccess(testNewFile, kwsys::TEST_FILE_WRITE)) { std::cerr << "TestFileAccess incorrectly indicated that this is a writable file:" << testNewFile << std::endl; res = false; } if (!kwsys::SystemTools::TestFileAccess(testNewFile, kwsys::TEST_FILE_OK)) { std::cerr << "TestFileAccess incorrectly indicated that this file does not exist:" << testNewFile << std::endl; res = false; } // Test restoring/setting full permissions. if (!kwsys::SystemTools::SetPermissions(testNewFile, fullMask)) { std::cerr << "Problem with SetPermissions (2) for: " << testNewFile << std::endl; res = false; } if (!kwsys::SystemTools::GetPermissions(testNewFile, thisPerm)) { std::cerr << "Problem with GetPermissions (3) for: " << testNewFile << std::endl; res = false; } if ((thisPerm & fullMask) != fullMask) { std::cerr << "SetPermissions failed to set permissions (2) for: " << testNewFile << ": actual = " << thisPerm << "; expected = " << fullMask << std::endl; res = false; } // Test setting file permissions while honoring umask if (!kwsys::SystemTools::SetPermissions(testNewFile, fullMask, true)) { std::cerr << "Problem with SetPermissions (3) for: " << testNewFile << std::endl; res = false; } if (!kwsys::SystemTools::GetPermissions(testNewFile, thisPerm)) { std::cerr << "Problem with GetPermissions (4) for: " << testNewFile << std::endl; res = false; } if ((thisPerm & fullMask) != 0) { std::cerr << "SetPermissions failed to honor umask for: " << testNewFile << ": actual = " << thisPerm << "; expected = " << 0 << std::endl; res = false; } // Restore umask umask(orig_umask); // Restore file permissions if (!kwsys::SystemTools::SetPermissions(testNewFile, origPerm)) { std::cerr << "Problem with SetPermissions (4) for: " << testNewFile << std::endl; res = false; } // Remove the test file if (!kwsys::SystemTools::RemoveFile(testNewFile)) { std::cerr << "Problem with RemoveFile: " << testNewFile << std::endl; res = false; } std::string const testFileMissing(testNewDir + "/testMissingFile.txt"); if (!kwsys::SystemTools::RemoveFile(testFileMissing)) { std::string const& msg = kwsys::SystemTools::GetLastSystemError(); std::cerr << "RemoveFile(\"" << testFileMissing << "\") failed: " << msg << "\n"; res = false; } std::string const testFileMissingDir(testNewDir + "/missing/file.txt"); if (!kwsys::SystemTools::RemoveFile(testFileMissingDir)) { std::string const& msg = kwsys::SystemTools::GetLastSystemError(); std::cerr << "RemoveFile(\"" << testFileMissingDir << "\") failed: " << msg << "\n"; res = false; } kwsys::SystemTools::Touch(testNewFile.c_str(), true); if (!kwsys::SystemTools::RemoveADirectory(testNewDir)) { std::cerr << "Problem with RemoveADirectory for: " << testNewDir << std::endl; res = false; } #ifdef KWSYS_TEST_SYSTEMTOOLS_LONG_PATHS // Perform the same file and directory creation and deletion tests but // with paths > 256 characters in length. const std::string testNewLongDir( TEST_SYSTEMTOOLS_BINARY_DIR "/" "012345678901234567890123456789012345678901234567890123456789" "012345678901234567890123456789012345678901234567890123456789" "012345678901234567890123456789012345678901234567890123456789" "012345678901234567890123456789012345678901234567890123456789" "01234567890123"); const std::string testNewLongFile(testNewLongDir + "/" "012345678901234567890123456789012345678901234567890123456789" "012345678901234567890123456789012345678901234567890123456789" "012345678901234567890123456789012345678901234567890123456789" "012345678901234567890123456789012345678901234567890123456789" "0123456789.txt"); if (!kwsys::SystemTools::MakeDirectory(testNewLongDir)) { std::cerr << "Problem with MakeDirectory for: " << testNewLongDir << std::endl; res = false; } if (!kwsys::SystemTools::Touch(testNewLongFile.c_str(), true)) { std::cerr << "Problem with Touch for: " << testNewLongFile << std::endl; res = false; } if (!kwsys::SystemTools::RemoveFile(testNewLongFile)) { std::cerr << "Problem with RemoveFile: " << testNewLongFile << std::endl; res = false; } kwsys::SystemTools::Touch(testNewLongFile.c_str(), true); if (!kwsys::SystemTools::RemoveADirectory(testNewLongDir)) { std::cerr << "Problem with RemoveADirectory for: " << testNewLongDir << std::endl; res = false; } #endif return res; } //---------------------------------------------------------------------------- static bool CheckStringOperations() { bool res = true; std::string test = "mary had a little lamb."; if (kwsys::SystemTools::CapitalizedWords(test) != "Mary Had A Little Lamb.") { std::cerr << "Problem with CapitalizedWords " << '"' << test << '"' << std::endl; res = false; } test = "Mary Had A Little Lamb."; if (kwsys::SystemTools::UnCapitalizedWords(test) != "mary had a little lamb.") { std::cerr << "Problem with UnCapitalizedWords " << '"' << test << '"' << std::endl; res = false; } test = "MaryHadTheLittleLamb."; if (kwsys::SystemTools::AddSpaceBetweenCapitalizedWords(test) != "Mary Had The Little Lamb.") { std::cerr << "Problem with AddSpaceBetweenCapitalizedWords " << '"' << test << '"' << std::endl; res = false; } char * cres = kwsys::SystemTools::AppendStrings("Mary Had A"," Little Lamb."); if (strcmp(cres,"Mary Had A Little Lamb.")) { std::cerr << "Problem with AppendStrings " << "\"Mary Had A\" \" Little Lamb.\"" << std::endl; res = false; } delete [] cres; cres = kwsys::SystemTools::AppendStrings("Mary Had"," A ","Little Lamb."); if (strcmp(cres,"Mary Had A Little Lamb.")) { std::cerr << "Problem with AppendStrings " << "\"Mary Had\" \" A \" \"Little Lamb.\"" << std::endl; res = false; } delete [] cres; if (kwsys::SystemTools::CountChar("Mary Had A Little Lamb.",'a') != 3) { std::cerr << "Problem with CountChar " << "\"Mary Had A Little Lamb.\"" << std::endl; res = false; } cres = kwsys::SystemTools::RemoveChars("Mary Had A Little Lamb.","aeiou"); if (strcmp(cres,"Mry Hd A Lttl Lmb.")) { std::cerr << "Problem with RemoveChars " << "\"Mary Had A Little Lamb.\"" << std::endl; res = false; } delete [] cres; cres = kwsys::SystemTools::RemoveCharsButUpperHex("Mary Had A Little Lamb."); if (strcmp(cres,"A")) { std::cerr << "Problem with RemoveCharsButUpperHex " << "\"Mary Had A Little Lamb.\"" << std::endl; res = false; } delete [] cres; char *cres2 = new char [strlen("Mary Had A Little Lamb.")+1]; strcpy(cres2,"Mary Had A Little Lamb."); kwsys::SystemTools::ReplaceChars(cres2,"aeiou",'X'); if (strcmp(cres2,"MXry HXd A LXttlX LXmb.")) { std::cerr << "Problem with ReplaceChars " << "\"Mary Had A Little Lamb.\"" << std::endl; res = false; } delete [] cres2; if (!kwsys::SystemTools::StringStartsWith("Mary Had A Little Lamb.", "Mary ")) { std::cerr << "Problem with StringStartsWith " << "\"Mary Had A Little Lamb.\"" << std::endl; res = false; } if (!kwsys::SystemTools::StringEndsWith("Mary Had A Little Lamb.", " Lamb.")) { std::cerr << "Problem with StringEndsWith " << "\"Mary Had A Little Lamb.\"" << std::endl; res = false; } cres = kwsys::SystemTools::DuplicateString("Mary Had A Little Lamb."); if (strcmp(cres,"Mary Had A Little Lamb.")) { std::cerr << "Problem with DuplicateString " << "\"Mary Had A Little Lamb.\"" << std::endl; res = false; } delete [] cres; test = "Mary Had A Little Lamb."; if (kwsys::SystemTools::CropString(test,13) != "Mary ...Lamb.") { std::cerr << "Problem with CropString " << "\"Mary Had A Little Lamb.\"" << std::endl; res = false; } std::vector lines; kwsys::SystemTools::Split("Mary Had A Little Lamb.",lines,' '); if (lines[0] != "Mary" || lines[1] != "Had" || lines[2] != "A" || lines[3] != "Little" || lines[4] != "Lamb.") { std::cerr << "Problem with Split " << "\"Mary Had A Little Lamb.\"" << std::endl; res = false; } #ifdef _WIN32 if (kwsys::SystemTools::ConvertToWindowsExtendedPath ("L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") != L"\\\\?\\L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") { std::cerr << "Problem with ConvertToWindowsExtendedPath " << "\"L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo\"" << std::endl; res = false; } if (kwsys::SystemTools::ConvertToWindowsExtendedPath ("L:/Local Mojo/Hex Power Pack/Iffy Voodoo") != L"\\\\?\\L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") { std::cerr << "Problem with ConvertToWindowsExtendedPath " << "\"L:/Local Mojo/Hex Power Pack/Iffy Voodoo\"" << std::endl; res = false; } if (kwsys::SystemTools::ConvertToWindowsExtendedPath ("\\\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") != L"\\\\?\\UNC\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") { std::cerr << "Problem with ConvertToWindowsExtendedPath " << "\"\\\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo\"" << std::endl; res = false; } if (kwsys::SystemTools::ConvertToWindowsExtendedPath ("//Foo/Local Mojo/Hex Power Pack/Iffy Voodoo") != L"\\\\?\\UNC\\Foo\\Local Mojo\\Hex Power Pack\\Iffy Voodoo") { std::cerr << "Problem with ConvertToWindowsExtendedPath " << "\"//Foo/Local Mojo/Hex Power Pack/Iffy Voodoo\"" << std::endl; res = false; } if (kwsys::SystemTools::ConvertToWindowsExtendedPath("//") != L"//") { std::cerr << "Problem with ConvertToWindowsExtendedPath " << "\"//\"" << std::endl; res = false; } if (kwsys::SystemTools::ConvertToWindowsExtendedPath("\\\\.\\") != L"\\\\.\\") { std::cerr << "Problem with ConvertToWindowsExtendedPath " << "\"\\\\.\\\"" << std::endl; res = false; } if (kwsys::SystemTools::ConvertToWindowsExtendedPath("\\\\.\\X") != L"\\\\.\\X") { std::cerr << "Problem with ConvertToWindowsExtendedPath " << "\"\\\\.\\X\"" << std::endl; res = false; } if (kwsys::SystemTools::ConvertToWindowsExtendedPath("\\\\.\\X:") != L"\\\\?\\X:") { std::cerr << "Problem with ConvertToWindowsExtendedPath " << "\"\\\\.\\X:\"" << std::endl; res = false; } if (kwsys::SystemTools::ConvertToWindowsExtendedPath("\\\\.\\X:\\") != L"\\\\?\\X:\\") { std::cerr << "Problem with ConvertToWindowsExtendedPath " << "\"\\\\.\\X:\\\"" << std::endl; res = false; } if (kwsys::SystemTools::ConvertToWindowsExtendedPath("NUL") != L"\\\\.\\NUL") { std::cerr << "Problem with ConvertToWindowsExtendedPath " << "\"NUL\"" << std::endl; res = false; } #endif if (kwsys::SystemTools::ConvertToWindowsOutputPath ("L://Local Mojo/Hex Power Pack/Iffy Voodoo") != "\"L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo\"") { std::cerr << "Problem with ConvertToWindowsOutputPath " << "\"L://Local Mojo/Hex Power Pack/Iffy Voodoo\"" << std::endl; res = false; } if (kwsys::SystemTools::ConvertToWindowsOutputPath ("//grayson/Local Mojo/Hex Power Pack/Iffy Voodoo") != "\"\\\\grayson\\Local Mojo\\Hex Power Pack\\Iffy Voodoo\"") { std::cerr << "Problem with ConvertToWindowsOutputPath " << "\"//grayson/Local Mojo/Hex Power Pack/Iffy Voodoo\"" << std::endl; res = false; } if (kwsys::SystemTools::ConvertToUnixOutputPath ("//Local Mojo/Hex Power Pack/Iffy Voodoo") != "//Local\\ Mojo/Hex\\ Power\\ Pack/Iffy\\ Voodoo") { std::cerr << "Problem with ConvertToUnixOutputPath " << "\"//Local Mojo/Hex Power Pack/Iffy Voodoo\"" << std::endl; res = false; } return res; } //---------------------------------------------------------------------------- static bool CheckPutEnv(const std::string& env, const char* name, const char* value) { if(!kwsys::SystemTools::PutEnv(env)) { std::cerr << "PutEnv(\"" << env << "\") failed!" << std::endl; return false; } const char* v = kwsys::SystemTools::GetEnv(name); v = v? v : "(null)"; if(strcmp(v, value) != 0) { std::cerr << "GetEnv(\"" << name << "\") returned \"" << v << "\", not \"" << value << "\"!" << std::endl; return false; } return true; } static bool CheckUnPutEnv(const char* env, const char* name) { if(!kwsys::SystemTools::UnPutEnv(env)) { std::cerr << "UnPutEnv(\"" << env << "\") failed!" << std::endl; return false; } if(const char* v = kwsys::SystemTools::GetEnv(name)) { std::cerr << "GetEnv(\"" << name << "\") returned \"" << v << "\", not (null)!" << std::endl; return false; } return true; } static bool CheckEnvironmentOperations() { bool res = true; res &= CheckPutEnv("A=B", "A", "B"); res &= CheckPutEnv("B=C", "B", "C"); res &= CheckPutEnv("C=D", "C", "D"); res &= CheckPutEnv("D=E", "D", "E"); res &= CheckUnPutEnv("A", "A"); res &= CheckUnPutEnv("B=", "B"); res &= CheckUnPutEnv("C=D", "C"); /* Leave "D=E" in environment so a memory checker can test for leaks. */ return res; } static bool CheckRelativePath( const std::string& local, const std::string& remote, const std::string& expected) { std::string result = kwsys::SystemTools::RelativePath(local, remote); if(expected != result) { std::cerr << "RelativePath(" << local << ", " << remote << ") yielded " << result << " instead of " << expected << std::endl; return false; } return true; } static bool CheckRelativePaths() { bool res = true; res &= CheckRelativePath("/usr/share", "/bin/bash", "../../bin/bash"); res &= CheckRelativePath("/usr/./share/", "/bin/bash", "../../bin/bash"); res &= CheckRelativePath("/usr//share/", "/bin/bash", "../../bin/bash"); res &= CheckRelativePath("/usr/share/../bin/", "/bin/bash", "../../bin/bash"); res &= CheckRelativePath("/usr/share", "/usr/share//bin", "bin"); return res; } static bool CheckCollapsePath( const std::string& path, const std::string& expected) { std::string result = kwsys::SystemTools::CollapseFullPath(path); if(expected != result) { std::cerr << "CollapseFullPath(" << path << ") yielded " << result << " instead of " << expected << std::endl; return false; } return true; } static bool CheckCollapsePath() { bool res = true; res &= CheckCollapsePath("/usr/share/*", "/usr/share/*"); res &= CheckCollapsePath("C:/Windows/*", "C:/Windows/*"); return res; } //---------------------------------------------------------------------------- int testSystemTools(int, char*[]) { bool res = true; int cc; for ( cc = 0; toUnixPaths[cc][0]; cc ++ ) { res &= CheckConvertToUnixSlashes(toUnixPaths[cc][0], toUnixPaths[cc][1]); } // Special check for ~ std::string output; if(kwsys::SystemTools::GetEnv("HOME", output)) { output += "/foo bar/lala"; res &= CheckConvertToUnixSlashes("~/foo bar/lala", output); } for (cc = 0; checkEscapeChars[cc][0]; cc ++ ) { res &= CheckEscapeChars(checkEscapeChars[cc][0], checkEscapeChars[cc][1], *checkEscapeChars[cc][2], checkEscapeChars[cc][3]); } res &= CheckFileOperations(); res &= CheckStringOperations(); res &= CheckEnvironmentOperations(); res &= CheckRelativePaths(); res &= CheckCollapsePath(); return res ? 0 : 1; } KWStyle-master/Utilities/KWSys/testSystemTools.h.in000066400000000000000000000016051265471724600227070ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #ifndef @KWSYS_NAMESPACE@_testSystemtools_h #define @KWSYS_NAMESPACE@_testSystemtools_h #define EXECUTABLE_OUTPUT_PATH "@CMAKE_CURRENT_BINARY_DIR@" #define TEST_SYSTEMTOOLS_SOURCE_DIR "@TEST_SYSTEMTOOLS_SOURCE_DIR@" #define TEST_SYSTEMTOOLS_BINARY_DIR "@TEST_SYSTEMTOOLS_BINARY_DIR@" #cmakedefine KWSYS_TEST_SYSTEMTOOLS_LONG_PATHS #endif KWStyle-master/Utilities/KWSys/testTerminal.c000066400000000000000000000021351265471724600215420ustar00rootroot00000000000000/*============================================================================ KWSys - Kitware System Library Copyright 2000-2009 Kitware, Inc., Insight Software Consortium Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ #include "kwsysPrivate.h" #include KWSYS_HEADER(Terminal.h) /* Work-around CMake dependency scanning limitation. This must duplicate the above list of headers. */ #if 0 # include "Terminal.h.in" #endif int testTerminal(int argc, char* argv[]) { (void)argc; (void)argv; kwsysTerminal_cfprintf(kwsysTerminal_Color_ForegroundYellow | kwsysTerminal_Color_BackgroundBlue | kwsysTerminal_Color_AssumeTTY, stdout, "Hello %s!", "World"); fprintf(stdout, "\n"); return 0; } KWStyle-master/Utilities/boost/000077500000000000000000000000001265471724600170305ustar00rootroot00000000000000KWStyle-master/Utilities/boost/README-KWStyle.txt000066400000000000000000000002141265471724600220630ustar00rootroot00000000000000This subdirectory contains a reduced distribution of the boost source tree. To update this tree, call the Utilities/updateBoost.sh script. KWStyle-master/Utilities/boost/align.hpp000066400000000000000000000007761265471724600206450ustar00rootroot00000000000000/* (c) 2014 Glen Joseph Fernandes glenjofe at gmail dot com Distributed under the Boost Software License, Version 1.0. http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_HPP #define BOOST_ALIGN_HPP #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/aligned_storage.hpp000066400000000000000000000065551265471724600227030ustar00rootroot00000000000000//----------------------------------------------------------------------------- // 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 // for std::size_t #include "boost/config.hpp" #include "boost/detail/workaround.hpp" #include "boost/type_traits/alignment_of.hpp" #include "boost/type_traits/type_with_alignment.hpp" #include "boost/type_traits/is_pod.hpp" #include "boost/mpl/eval_if.hpp" #include "boost/mpl/identity.hpp" #include "boost/type_traits/detail/bool_trait_def.hpp" 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::mpl::eval_if_c< alignment_ == std::size_t(-1) , ::boost::mpl::identity< ::boost::detail::max_align > , ::boost::type_with_alignment >::type 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 __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 > BOOST_TT_AUX_BOOL_C_BASE(true) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(true) }; } // namespace boost #include "boost/type_traits/detail/bool_trait_undef.hpp" #endif // BOOST_ALIGNED_STORAGE_HPP KWStyle-master/Utilities/boost/any.hpp000066400000000000000000000213051265471724600203310ustar00rootroot00000000000000// See http://www.boost.org/libs/any for Documentation. #ifndef BOOST_ANY_INCLUDED #define BOOST_ANY_INCLUDED #if defined(_MSC_VER) # pragma once #endif // what: variant type boost::any // who: contributed by Kevlin Henney, // with features contributed and bugs found by // Antony Polukhin, Ed Brey, Mark Rodgers, // Peter Dimov, and James Curran // when: July 2001, April 2013 - May 2013 #include #include "boost/config.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { class any { public: // structors any() BOOST_NOEXCEPT : content(0) { } template any(const ValueType & value) : content(new holder< BOOST_DEDUCED_TYPENAME remove_cv::type>::type >(value)) { } any(const any & other) : content(other.content ? other.content->clone() : 0) { } #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES // Move constructor any(any&& other) BOOST_NOEXCEPT : content(other.content) { other.content = 0; } // Perfect forwarding of ValueType template any(ValueType&& value , typename boost::disable_if >::type* = 0 // disable if value has type `any&` , typename boost::disable_if >::type* = 0) // disable if value has type `const ValueType&&` : content(new holder< typename decay::type >(static_cast(value))) { } #endif ~any() BOOST_NOEXCEPT { delete content; } public: // modifiers any & swap(any & rhs) BOOST_NOEXCEPT { std::swap(content, rhs.content); return *this; } #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES template any & operator=(const ValueType & rhs) { any(rhs).swap(*this); return *this; } any & operator=(any rhs) { any(rhs).swap(*this); return *this; } #else any & operator=(const any& rhs) { any(rhs).swap(*this); return *this; } // move assignement any & operator=(any&& rhs) BOOST_NOEXCEPT { rhs.swap(*this); any().swap(rhs); return *this; } // Perfect forwarding of ValueType template any & operator=(ValueType&& rhs) { any(static_cast(rhs)).swap(*this); return *this; } #endif public: // queries bool empty() const BOOST_NOEXCEPT { return !content; } void clear() BOOST_NOEXCEPT { any().swap(*this); } const boost::typeindex::type_info& type() const BOOST_NOEXCEPT { return content ? content->type() : boost::typeindex::type_id().type_info(); } #ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS private: // types #else public: // types (public so any_cast can be non-friend) #endif class placeholder { public: // structors virtual ~placeholder() { } public: // queries virtual const boost::typeindex::type_info& type() const BOOST_NOEXCEPT = 0; virtual placeholder * clone() const = 0; }; template class holder : public placeholder { public: // structors holder(const ValueType & value) : held(value) { } #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES holder(ValueType&& value) : held(static_cast< ValueType&& >(value)) { } #endif public: // queries virtual const boost::typeindex::type_info& type() const BOOST_NOEXCEPT { return boost::typeindex::type_id().type_info(); } virtual placeholder * clone() const { return new holder(held); } public: // representation ValueType held; private: // intentionally left unimplemented holder & operator=(const holder &); }; #ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS private: // representation template friend ValueType * any_cast(any *) BOOST_NOEXCEPT; template friend ValueType * unsafe_any_cast(any *) BOOST_NOEXCEPT; #else public: // representation (public so any_cast can be non-friend) #endif placeholder * content; }; inline void swap(any & lhs, any & rhs) BOOST_NOEXCEPT { lhs.swap(rhs); } class BOOST_SYMBOL_VISIBLE bad_any_cast : #ifndef BOOST_NO_RTTI public std::bad_cast #else public std::exception #endif { public: virtual const char * what() const BOOST_NOEXCEPT_OR_NOTHROW { return "boost::bad_any_cast: " "failed conversion using boost::any_cast"; } }; template ValueType * any_cast(any * operand) BOOST_NOEXCEPT { return operand && operand->type() == boost::typeindex::type_id() ? &static_cast::type> *>(operand->content)->held : 0; } template inline const ValueType * any_cast(const any * operand) BOOST_NOEXCEPT { return any_cast(const_cast(operand)); } template ValueType any_cast(any & operand) { typedef BOOST_DEDUCED_TYPENAME remove_reference::type nonref; nonref * result = any_cast(&operand); if(!result) boost::throw_exception(bad_any_cast()); // Attempt to avoid construction of a temporary object in cases when // `ValueType` is not a reference. Example: // `static_cast(*result);` // which is equal to `std::string(*result);` typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_< boost::is_reference, ValueType, BOOST_DEDUCED_TYPENAME boost::add_reference::type >::type ref_type; return static_cast(*result); } template inline ValueType any_cast(const any & operand) { typedef BOOST_DEDUCED_TYPENAME remove_reference::type nonref; return any_cast(const_cast(operand)); } #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES template inline ValueType any_cast(any&& operand) { BOOST_STATIC_ASSERT_MSG( boost::is_rvalue_reference::value /*true if ValueType is rvalue or just a value*/ || boost::is_const< typename boost::remove_reference::type >::value, "boost::any_cast shall not be used for getting nonconst references to temporary objects" ); return any_cast(operand); } #endif // Note: The "unsafe" versions of any_cast are not part of the // public interface and may be removed at any time. They are // required where we know what type is stored in the any and can't // use typeid() comparison, e.g., when our types may travel across // different shared libraries. template inline ValueType * unsafe_any_cast(any * operand) BOOST_NOEXCEPT { return &static_cast *>(operand->content)->held; } template inline const ValueType * unsafe_any_cast(const any * operand) BOOST_NOEXCEPT { return unsafe_any_cast(const_cast(operand)); } } // Copyright Kevlin Henney, 2000, 2001, 2002. All rights reserved. // // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #endif KWStyle-master/Utilities/boost/array.hpp000066400000000000000000000366441265471724600206740ustar00rootroot00000000000000/* The following code declares class array, * an STL container (as wrapper) for arrays of constant size. * * See * http://www.boost.org/libs/array/ * for documentation. * * The original author site is at: http://www.josuttis.com/ * * (C) Copyright Nicolai M. Josuttis 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) * * 14 Apr 2012 - (mtc) Added support for boost::hash * 28 Dec 2010 - (mtc) Added cbegin and cend (and crbegin and crend) for C++Ox compatibility. * 10 Mar 2010 - (mtc) fill method added, matching resolution of the standard library working group. * See or Trac issue #3168 * Eventually, we should remove "assign" which is now a synonym for "fill" (Marshall Clow) * 10 Mar 2010 - added workaround for SUNCC and !STLPort [trac #3893] (Marshall Clow) * 29 Jan 2004 - c_array() added, BOOST_NO_PRIVATE_IN_AGGREGATE removed (Nico Josuttis) * 23 Aug 2002 - fix for Non-MSVC compilers combined with MSVC libraries. * 05 Aug 2001 - minor update (Nico Josuttis) * 20 Jan 2001 - STLport fix (Beman Dawes) * 29 Sep 2000 - Initial Revision (Nico Josuttis) * * Jan 29, 2004 */ #ifndef BOOST_ARRAY_HPP #define BOOST_ARRAY_HPP #include #if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) # pragma warning(push) # pragma warning(disable:4996) // 'std::equal': Function call with parameters that may be unsafe # pragma warning(disable:4510) // boost::array' : default constructor could not be generated # pragma warning(disable:4610) // warning C4610: class 'boost::array' can never be instantiated - user defined constructor required #endif #include #include #include #include // Handles broken standard libraries better than #include #include #include #include // FIXES for broken compilers #include namespace boost { template class array { public: T elems[N]; // fixed-size array of elements of type T public: // type definitions typedef T value_type; typedef T* iterator; typedef const T* const_iterator; typedef T& reference; typedef const T& const_reference; typedef std::size_t size_type; typedef std::ptrdiff_t difference_type; // iterator support iterator begin() { return elems; } const_iterator begin() const { return elems; } const_iterator cbegin() const { return elems; } iterator end() { return elems+N; } const_iterator end() const { return elems+N; } const_iterator cend() const { return elems+N; } // reverse iterator support #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR) && !defined(BOOST_NO_STD_ITERATOR_TRAITS) typedef std::reverse_iterator reverse_iterator; typedef std::reverse_iterator const_reverse_iterator; #elif defined(_MSC_VER) && (_MSC_VER == 1300) && defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB == 310) // workaround for broken reverse_iterator in VC7 typedef std::reverse_iterator > reverse_iterator; typedef std::reverse_iterator > const_reverse_iterator; #elif defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) typedef std::reverse_iterator reverse_iterator; typedef std::reverse_iterator const_reverse_iterator; #else // workaround for broken reverse_iterator implementations typedef std::reverse_iterator reverse_iterator; typedef std::reverse_iterator const_reverse_iterator; #endif reverse_iterator rbegin() { return reverse_iterator(end()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } const_reverse_iterator crbegin() const { return const_reverse_iterator(end()); } reverse_iterator rend() { return reverse_iterator(begin()); } const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } const_reverse_iterator crend() const { return const_reverse_iterator(begin()); } // operator[] reference operator[](size_type i) { BOOST_ASSERT_MSG( i < N, "out of range" ); return elems[i]; } const_reference operator[](size_type i) const { BOOST_ASSERT_MSG( i < N, "out of range" ); return elems[i]; } // at() with range check reference at(size_type i) { rangecheck(i); return elems[i]; } const_reference at(size_type i) const { rangecheck(i); return elems[i]; } // front() and back() reference front() { return elems[0]; } const_reference front() const { return elems[0]; } reference back() { return elems[N-1]; } const_reference back() const { return elems[N-1]; } // size is constant static size_type size() { return N; } static bool empty() { return false; } static size_type max_size() { return N; } enum { static_size = N }; // swap (note: linear complexity) void swap (array& y) { for (size_type i = 0; i < N; ++i) boost::swap(elems[i],y.elems[i]); } // direct access to data (read-only) const T* data() const { return elems; } T* data() { return elems; } // use array as C array (direct read/write access to data) T* c_array() { return elems; } // assignment with type conversion template array& operator= (const array& rhs) { std::copy(rhs.begin(),rhs.end(), begin()); return *this; } // assign one value to all elements void assign (const T& value) { fill ( value ); } // A synonym for fill void fill (const T& value) { std::fill_n(begin(),size(),value); } // check range (may be private because it is static) static void rangecheck (size_type i) { if (i >= size()) { std::out_of_range e("array<>: index out of range"); boost::throw_exception(e); } } }; #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< class T > class array< T, 0 > { public: // type definitions typedef T value_type; typedef T* iterator; typedef const T* const_iterator; typedef T& reference; typedef const T& const_reference; typedef std::size_t size_type; typedef std::ptrdiff_t difference_type; // iterator support iterator begin() { return iterator( reinterpret_cast< T * >( this ) ); } const_iterator begin() const { return const_iterator( reinterpret_cast< const T * >( this ) ); } const_iterator cbegin() const { return const_iterator( reinterpret_cast< const T * >( this ) ); } iterator end() { return begin(); } const_iterator end() const { return begin(); } const_iterator cend() const { return cbegin(); } // reverse iterator support #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR) && !defined(BOOST_NO_STD_ITERATOR_TRAITS) typedef std::reverse_iterator reverse_iterator; typedef std::reverse_iterator const_reverse_iterator; #elif defined(_MSC_VER) && (_MSC_VER == 1300) && defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB == 310) // workaround for broken reverse_iterator in VC7 typedef std::reverse_iterator > reverse_iterator; typedef std::reverse_iterator > const_reverse_iterator; #elif defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) typedef std::reverse_iterator reverse_iterator; typedef std::reverse_iterator const_reverse_iterator; #else // workaround for broken reverse_iterator implementations typedef std::reverse_iterator reverse_iterator; typedef std::reverse_iterator const_reverse_iterator; #endif reverse_iterator rbegin() { return reverse_iterator(end()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } const_reverse_iterator crbegin() const { return const_reverse_iterator(end()); } reverse_iterator rend() { return reverse_iterator(begin()); } const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } const_reverse_iterator crend() const { return const_reverse_iterator(begin()); } // operator[] reference operator[](size_type /*i*/) { return failed_rangecheck(); } const_reference operator[](size_type /*i*/) const { return failed_rangecheck(); } // at() with range check reference at(size_type /*i*/) { return failed_rangecheck(); } const_reference at(size_type /*i*/) const { return failed_rangecheck(); } // front() and back() reference front() { return failed_rangecheck(); } const_reference front() const { return failed_rangecheck(); } reference back() { return failed_rangecheck(); } const_reference back() const { return failed_rangecheck(); } // size is constant static size_type size() { return 0; } static bool empty() { return true; } static size_type max_size() { return 0; } enum { static_size = 0 }; void swap (array& /*y*/) { } // direct access to data (read-only) const T* data() const { return 0; } T* data() { return 0; } // use array as C array (direct read/write access to data) T* c_array() { return 0; } // assignment with type conversion template array& operator= (const array& ) { return *this; } // assign one value to all elements void assign (const T& value) { fill ( value ); } void fill (const T& ) {} // check range (may be private because it is static) static reference failed_rangecheck () { std::out_of_range e("attempt to access element of an empty array"); boost::throw_exception(e); #if defined(BOOST_NO_EXCEPTIONS) || (!defined(BOOST_MSVC) && !defined(__PATHSCALE__)) // // We need to return something here to keep // some compilers happy: however we will never // actually get here.... // static T placeholder; return placeholder; #endif } }; #endif // comparisons template bool operator== (const array& x, const array& y) { return std::equal(x.begin(), x.end(), y.begin()); } template bool operator< (const array& x, const array& y) { return std::lexicographical_compare(x.begin(),x.end(),y.begin(),y.end()); } template bool operator!= (const array& x, const array& y) { return !(x==y); } template bool operator> (const array& x, const array& y) { return y bool operator<= (const array& x, const array& y) { return !(y bool operator>= (const array& x, const array& y) { return !(x inline void swap (array& x, array& y) { x.swap(y); } #if defined(__SUNPRO_CC) // Trac ticket #4757; the Sun Solaris compiler can't handle // syntax like 'T(&get_c_array(boost::array& arg))[N]' // // We can't just use this for all compilers, because the // borland compilers can't handle this form. namespace detail { template struct c_array { typedef T type[N]; }; } // Specific for boost::array: simply returns its elems data member. template typename detail::c_array::type& get_c_array(boost::array& arg) { return arg.elems; } // Specific for boost::array: simply returns its elems data member. template typename const detail::c_array::type& get_c_array(const boost::array& arg) { return arg.elems; } #else // Specific for boost::array: simply returns its elems data member. template T(&get_c_array(boost::array& arg))[N] { return arg.elems; } // Const version. template const T(&get_c_array(const boost::array& arg))[N] { return arg.elems; } #endif #if 0 // Overload for std::array, assuming that std::array will have // explicit conversion functions as discussed at the WG21 meeting // in Summit, March 2009. template T(&get_c_array(std::array& arg))[N] { return static_cast(arg); } // Const version. template const T(&get_c_array(const std::array& arg))[N] { return static_cast(arg); } #endif template std::size_t hash_value(const array& arr) { return boost::hash_range(arr.begin(), arr.end()); } } /* namespace boost */ #if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) # pragma warning(pop) #endif #endif /*BOOST_ARRAY_HPP*/ KWStyle-master/Utilities/boost/asio.hpp000066400000000000000000000115571265471724600205050ustar00rootroot00000000000000// // asio.hpp // ~~~~~~~~ // // Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot 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 www.boost.org/libs/asio for documentation. // #ifndef BOOST_ASIO_HPP #define BOOST_ASIO_HPP #if defined(_MSC_VER) && (_MSC_VER >= 1200) # pragma once #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #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 #include #include #include #include #include #include #include #include #include #include #include #endif // BOOST_ASIO_HPP KWStyle-master/Utilities/boost/assert.hpp000066400000000000000000000045471265471724600210540ustar00rootroot00000000000000// // boost/assert.hpp - BOOST_ASSERT(expr) // BOOST_ASSERT_MSG(expr, msg) // BOOST_VERIFY(expr) // BOOST_VERIFY_MSG(expr, msg) // // Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. // Copyright (c) 2007, 2014 Peter Dimov // Copyright (c) Beman Dawes 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 // // 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 // #undef BOOST_ASSERT #undef BOOST_ASSERT_MSG #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) #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)) #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 KWStyle-master/Utilities/boost/assign.hpp000066400000000000000000000011201265471724600210170ustar00rootroot00000000000000// Boost.Assign 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/assign/ // #ifndef BOOST_ASSIGN_HPP #define BOOST_ASSIGN_HPP #if defined(_MSC_VER) # pragma once #endif #include #include #include #include #endif KWStyle-master/Utilities/boost/atomic.hpp000066400000000000000000000006201265471724600210130ustar00rootroot00000000000000#ifndef BOOST_ATOMIC_HPP #define BOOST_ATOMIC_HPP // Copyright (c) 2011 Helge Bahmann // // Distributed under the 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 includes all Boost.Atomic public headers #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif #endif KWStyle-master/Utilities/boost/bimap.hpp000066400000000000000000000006031265471724600206300ustar00rootroot00000000000000// Boost.Bimap // // Copyright (c) 2006-2007 Matias Capeletto // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // See www.boost.org/libs/bimap for documentation. // Convenience header #include namespace boost { using ::boost::bimaps::bimap; } KWStyle-master/Utilities/boost/bind.hpp000066400000000000000000000011051265471724600204520ustar00rootroot00000000000000#ifndef BOOST_BIND_HPP_INCLUDED #define BOOST_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) 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/bind.html for documentation. // #include #endif // #ifndef BOOST_BIND_HPP_INCLUDED KWStyle-master/Utilities/boost/blank.hpp000066400000000000000000000036321265471724600206340ustar00rootroot00000000000000//----------------------------------------------------------------------------- // boost blank.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_BLANK_HPP #define BOOST_BLANK_HPP #include "boost/blank_fwd.hpp" #if !defined(BOOST_NO_IOSTREAM) #include // for std::basic_ostream forward declare #include "boost/detail/templated_streams.hpp" #endif // BOOST_NO_IOSTREAM #include "boost/mpl/bool.hpp" #include "boost/type_traits/is_empty.hpp" #include "boost/type_traits/is_pod.hpp" #include "boost/type_traits/is_stateless.hpp" namespace boost { struct blank { }; // type traits specializations // template <> struct is_pod< blank > : mpl::true_ { }; template <> struct is_empty< blank > : mpl::true_ { }; template <> struct is_stateless< blank > : mpl::true_ { }; // relational operators // inline bool operator==(const blank&, const blank&) { return true; } inline bool operator<=(const blank&, const blank&) { return true; } inline bool operator>=(const blank&, const blank&) { return true; } inline bool operator!=(const blank&, const blank&) { return false; } inline bool operator<(const blank&, const blank&) { return false; } inline bool operator>(const blank&, const blank&) { return false; } // streaming support // #if !defined(BOOST_NO_IOSTREAM) BOOST_TEMPLATED_STREAM_TEMPLATE(E,T) inline BOOST_TEMPLATED_STREAM(ostream, E,T)& operator<<( BOOST_TEMPLATED_STREAM(ostream, E,T)& out , const blank& ) { // (output nothing) return out; } #endif // BOOST_NO_IOSTREAM } // namespace boost #endif // BOOST_BLANK_HPP KWStyle-master/Utilities/boost/blank_fwd.hpp000066400000000000000000000011521265471724600214670ustar00rootroot00000000000000//----------------------------------------------------------------------------- // boost blank_fwd.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_BLANK_FWD_HPP #define BOOST_BLANK_FWD_HPP namespace boost { struct blank; } // namespace boost #endif // BOOST_BLANK_FWD_HPP KWStyle-master/Utilities/boost/call_traits.hpp000066400000000000000000000011711265471724600220420ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/cast.hpp000066400000000000000000000011101265471724600204640ustar00rootroot00000000000000// boost cast.hpp header file // // (C) Copyright Antony Polukhin 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/conversion for Documentation. // This is a DEPRECATED header file! // Use or instead #ifndef BOOST_CAST_HPP #define BOOST_CAST_HPP # include # include #endif // BOOST_CAST_HPP KWStyle-master/Utilities/boost/cerrno.hpp000066400000000000000000000101151265471724600210270ustar00rootroot00000000000000// Boost cerrno.hpp header -------------------------------------------------// // Copyright Beman Dawes 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) // See library home page at http://www.boost.org/libs/system #ifndef BOOST_CERRNO_HPP #define BOOST_CERRNO_HPP #include // supply errno values likely to be missing, particularly on Windows #ifndef EAFNOSUPPORT #define EAFNOSUPPORT 9901 #endif #ifndef EADDRINUSE #define EADDRINUSE 9902 #endif #ifndef EADDRNOTAVAIL #define EADDRNOTAVAIL 9903 #endif #ifndef EISCONN #define EISCONN 9904 #endif #ifndef EBADMSG #define EBADMSG 9905 #endif #ifndef ECONNABORTED #define ECONNABORTED 9906 #endif #ifndef EALREADY #define EALREADY 9907 #endif #ifndef ECONNREFUSED #define ECONNREFUSED 9908 #endif #ifndef ECONNRESET #define ECONNRESET 9909 #endif #ifndef EDESTADDRREQ #define EDESTADDRREQ 9910 #endif #ifndef EHOSTUNREACH #define EHOSTUNREACH 9911 #endif #ifndef EIDRM #define EIDRM 9912 #endif #ifndef EMSGSIZE #define EMSGSIZE 9913 #endif #ifndef ENETDOWN #define ENETDOWN 9914 #endif #ifndef ENETRESET #define ENETRESET 9915 #endif #ifndef ENETUNREACH #define ENETUNREACH 9916 #endif #ifndef ENOBUFS #define ENOBUFS 9917 #endif #ifndef ENOLINK #define ENOLINK 9918 #endif #ifndef ENODATA #define ENODATA 9919 #endif #ifndef ENOMSG #define ENOMSG 9920 #endif #ifndef ENOPROTOOPT #define ENOPROTOOPT 9921 #endif #ifndef ENOSR #define ENOSR 9922 #endif #ifndef ENOTSOCK #define ENOTSOCK 9923 #endif #ifndef ENOSTR #define ENOSTR 9924 #endif #ifndef ENOTCONN #define ENOTCONN 9925 #endif #ifndef ENOTSUP #define ENOTSUP 9926 #endif #ifndef ECANCELED #define ECANCELED 9927 #endif #ifndef EINPROGRESS #define EINPROGRESS 9928 #endif #ifndef EOPNOTSUPP #define EOPNOTSUPP 9929 #endif #ifndef EWOULDBLOCK #define EWOULDBLOCK 9930 #endif #ifndef EOWNERDEAD #define EOWNERDEAD 9931 #endif #ifndef EPROTO #define EPROTO 9932 #endif #ifndef EPROTONOSUPPORT #define EPROTONOSUPPORT 9933 #endif #ifndef ENOTRECOVERABLE #define ENOTRECOVERABLE 9934 #endif #ifndef ETIME #define ETIME 9935 #endif #ifndef ETXTBSY #define ETXTBSY 9936 #endif #ifndef ETIMEDOUT #define ETIMEDOUT 9938 #endif #ifndef ELOOP #define ELOOP 9939 #endif #ifndef EOVERFLOW #define EOVERFLOW 9940 #endif #ifndef EPROTOTYPE #define EPROTOTYPE 9941 #endif #ifndef ENOSYS #define ENOSYS 9942 #endif #ifndef EINVAL #define EINVAL 9943 #endif #ifndef ERANGE #define ERANGE 9944 #endif #ifndef EILSEQ #define EILSEQ 9945 #endif // Windows Mobile doesn't appear to define these: #ifndef E2BIG #define E2BIG 9946 #endif #ifndef EDOM #define EDOM 9947 #endif #ifndef EFAULT #define EFAULT 9948 #endif #ifndef EBADF #define EBADF 9949 #endif #ifndef EPIPE #define EPIPE 9950 #endif #ifndef EXDEV #define EXDEV 9951 #endif #ifndef EBUSY #define EBUSY 9952 #endif #ifndef ENOTEMPTY #define ENOTEMPTY 9953 #endif #ifndef ENOEXEC #define ENOEXEC 9954 #endif #ifndef EEXIST #define EEXIST 9955 #endif #ifndef EFBIG #define EFBIG 9956 #endif #ifndef ENAMETOOLONG #define ENAMETOOLONG 9957 #endif #ifndef ENOTTY #define ENOTTY 9958 #endif #ifndef EINTR #define EINTR 9959 #endif #ifndef ESPIPE #define ESPIPE 9960 #endif #ifndef EIO #define EIO 9961 #endif #ifndef EISDIR #define EISDIR 9962 #endif #ifndef ECHILD #define ECHILD 9963 #endif #ifndef ENOLCK #define ENOLCK 9964 #endif #ifndef ENOSPC #define ENOSPC 9965 #endif #ifndef ENXIO #define ENXIO 9966 #endif #ifndef ENODEV #define ENODEV 9967 #endif #ifndef ENOENT #define ENOENT 9968 #endif #ifndef ESRCH #define ESRCH 9969 #endif #ifndef ENOTDIR #define ENOTDIR 9970 #endif #ifndef ENOMEM #define ENOMEM 9971 #endif #ifndef EPERM #define EPERM 9972 #endif #ifndef EACCES #define EACCES 9973 #endif #ifndef EROFS #define EROFS 9974 #endif #ifndef EDEADLK #define EDEADLK 9975 #endif #ifndef EAGAIN #define EAGAIN 9976 #endif #ifndef ENFILE #define ENFILE 9977 #endif #ifndef EMFILE #define EMFILE 9978 #endif #ifndef EMLINK #define EMLINK 9979 #endif #endif // include guard KWStyle-master/Utilities/boost/checked_delete.hpp000066400000000000000000000006361265471724600224560ustar00rootroot00000000000000/* * 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_CHECKED_DELETE_HPP #define BOOST_CHECKED_DELETE_HPP // The header file at this path is deprecated; // use boost/core/checked_delete.hpp instead. #include #endif KWStyle-master/Utilities/boost/chrono.hpp000066400000000000000000000013021265471724600210250ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (C) Copyright Vicente J. Botet Escriba 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) // // See http://www.boost.org/libs/stm for documentation. // ////////////////////////////////////////////////////////////////////////////// #ifndef BOOST_CHRONO_HPP #define BOOST_CHRONO_HPP //----------------------------------------------------------------------------- #include //----------------------------------------------------------------------------- #endif // BOOST_CHRONO_HPP KWStyle-master/Utilities/boost/circular_buffer.hpp000066400000000000000000000042421265471724600227000ustar00rootroot00000000000000// Circular buffer library header file. // Copyright (c) 2003-2008 Jan Gaspar // 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 www.boost.org/libs/circular_buffer for documentation. #if !defined(BOOST_CIRCULAR_BUFFER_HPP) #define BOOST_CIRCULAR_BUFFER_HPP #if defined(_MSC_VER) #pragma once #endif #include #include #include // BOOST_CB_ENABLE_DEBUG: Debug support control. #if defined(NDEBUG) || defined(BOOST_CB_DISABLE_DEBUG) #define BOOST_CB_ENABLE_DEBUG 0 #else #define BOOST_CB_ENABLE_DEBUG 1 #endif // BOOST_CB_ASSERT: Runtime assertion. #if BOOST_CB_ENABLE_DEBUG #include #define BOOST_CB_ASSERT(Expr) BOOST_ASSERT(Expr) #else #define BOOST_CB_ASSERT(Expr) ((void)0) #endif // BOOST_CB_IS_CONVERTIBLE: Check if Iterator::value_type is convertible to Type. #if BOOST_WORKAROUND(__BORLANDC__, <= 0x0550) || BOOST_WORKAROUND(__MWERKS__, <= 0x2407) #define BOOST_CB_IS_CONVERTIBLE(Iterator, Type) ((void)0) #else #include #include #define BOOST_CB_IS_CONVERTIBLE(Iterator, Type) \ BOOST_STATIC_ASSERT((is_convertible::value_type, Type>::value)) #endif // BOOST_CB_ASSERT_TEMPLATED_ITERATOR_CONSTRUCTORS: // Check if the STL provides templated iterator constructors for its containers. #if defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS) #define BOOST_CB_ASSERT_TEMPLATED_ITERATOR_CONSTRUCTORS BOOST_STATIC_ASSERT(false); #else #define BOOST_CB_ASSERT_TEMPLATED_ITERATOR_CONSTRUCTORS ((void)0); #endif #include #include #include #include #undef BOOST_CB_ASSERT_TEMPLATED_ITERATOR_CONSTRUCTORS #undef BOOST_CB_IS_CONVERTIBLE #undef BOOST_CB_ASSERT #undef BOOST_CB_ENABLE_DEBUG #endif // #if !defined(BOOST_CIRCULAR_BUFFER_HPP) KWStyle-master/Utilities/boost/circular_buffer_fwd.hpp000066400000000000000000000021611265471724600235360ustar00rootroot00000000000000// Forward declaration of the circular buffer and its adaptor. // Copyright (c) 2003-2008 Jan Gaspar // 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 www.boost.org/libs/circular_buffer for documentation. #if !defined(BOOST_CIRCULAR_BUFFER_FWD_HPP) #define BOOST_CIRCULAR_BUFFER_FWD_HPP #if defined(_MSC_VER) #pragma once #endif #include #if !defined(BOOST_NO_STD_ALLOCATOR) #include #else #include #endif namespace boost { #if !defined(BOOST_NO_STD_ALLOCATOR) #define BOOST_CB_DEFAULT_ALLOCATOR(T) std::allocator #else #define BOOST_CB_DEFAULT_ALLOCATOR(T) BOOST_DEDUCED_TYPENAME std::vector::allocator_type #endif template class circular_buffer; template class circular_buffer_space_optimized; #undef BOOST_CB_DEFAULT_ALLOCATOR } // namespace boost #endif // #if !defined(BOOST_CIRCULAR_BUFFER_FWD_HPP) KWStyle-master/Utilities/boost/compressed_pair.hpp000066400000000000000000000012151265471724600227170ustar00rootroot00000000000000// (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/compressed_pair.hpp // for full copyright notices. #ifndef BOOST_COMPRESSED_PAIR_HPP #define BOOST_COMPRESSED_PAIR_HPP #ifndef BOOST_CONFIG_HPP #include #endif #include #endif // BOOST_COMPRESSED_PAIR_HPP KWStyle-master/Utilities/boost/concept/000077500000000000000000000000001265471724600204635ustar00rootroot00000000000000KWStyle-master/Utilities/boost/concept/assert.hpp000066400000000000000000000034331265471724600225000ustar00rootroot00000000000000// Copyright David Abrahams 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) #ifndef BOOST_CONCEPT_ASSERT_DWA2006430_HPP # define BOOST_CONCEPT_ASSERT_DWA2006430_HPP # include # include // The old protocol used a constraints() member function in concept // checking classes. If the compiler supports SFINAE, we can detect // that function and seamlessly support the old concept checking // classes. In this release, backward compatibility with the old // concept checking classes is enabled by default, where available. // The old protocol is deprecated, though, and backward compatibility // will no longer be the default in the next release. # if !defined(BOOST_NO_OLD_CONCEPT_SUPPORT) \ && !defined(BOOST_NO_SFINAE) \ \ && !(BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, < 4)) // Note: gcc-2.96 through 3.3.x have some SFINAE, but no ability to // check for the presence of particularmember functions. # define BOOST_OLD_CONCEPT_SUPPORT # endif # ifdef BOOST_MSVC # include # elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) # include # else # include # endif // Usage, in class or function context: // // BOOST_CONCEPT_ASSERT((UnaryFunctionConcept)); // # define BOOST_CONCEPT_ASSERT(ModelInParens) \ BOOST_CONCEPT_ASSERT_FN(void(*)ModelInParens) #endif // BOOST_CONCEPT_ASSERT_DWA2006430_HPP KWStyle-master/Utilities/boost/concept/detail/000077500000000000000000000000001265471724600217255ustar00rootroot00000000000000KWStyle-master/Utilities/boost/concept/detail/backward_compatibility.hpp000066400000000000000000000010631265471724600271450ustar00rootroot00000000000000// Copyright David Abrahams 2009. Distributed under the 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_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP # define BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP namespace boost { namespace concepts {} # if defined(BOOST_HAS_CONCEPTS) && !defined(BOOST_CONCEPT_NO_BACKWARD_KEYWORD) namespace concept = concepts; # endif } // namespace boost::concept #endif // BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP KWStyle-master/Utilities/boost/concept/detail/borland.hpp000066400000000000000000000017271265471724600240660ustar00rootroot00000000000000// Copyright David Abrahams 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) #ifndef BOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP # define BOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP # include # include namespace boost { namespace concepts { template struct require; template struct require { enum { instantiate = sizeof((((Model*)0)->~Model()), 3) }; }; # define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \ enum \ { \ BOOST_PP_CAT(boost_concept_check,__LINE__) = \ boost::concepts::require::instantiate \ } }} // namespace boost::concept #endif // BOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP KWStyle-master/Utilities/boost/concept/detail/concept_def.hpp000066400000000000000000000036101265471724600247070ustar00rootroot00000000000000// Copyright David Abrahams 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) #ifndef BOOST_CONCEPT_DETAIL_CONCEPT_DEF_DWA200651_HPP # define BOOST_CONCEPT_DETAIL_CONCEPT_DEF_DWA200651_HPP # include # include # include # include #endif // BOOST_CONCEPT_DETAIL_CONCEPT_DEF_DWA200651_HPP // BOOST_concept(SomeName, (p1)(p2)...(pN)) // // Expands to "template struct SomeName" // // Also defines an equivalent SomeNameConcept for backward compatibility. // Maybe in the next release we can kill off the "Concept" suffix for good. # define BOOST_concept(name, params) \ template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \ struct name; /* forward declaration */ \ \ template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \ struct BOOST_PP_CAT(name,Concept) \ : name< BOOST_PP_SEQ_ENUM(params) > \ { \ }; \ \ template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) > \ struct name // Helper for BOOST_concept, above. # define BOOST_CONCEPT_typename(r, ignored, index, t) \ BOOST_PP_COMMA_IF(index) typename t KWStyle-master/Utilities/boost/concept/detail/concept_undef.hpp000066400000000000000000000003601265471724600252510ustar00rootroot00000000000000// Copyright David Abrahams 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) # undef BOOST_concept_typename # undef BOOST_concept KWStyle-master/Utilities/boost/concept/detail/general.hpp000066400000000000000000000042521265471724600240560ustar00rootroot00000000000000// Copyright David Abrahams 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) #ifndef BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP # define BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP # include # include # ifdef BOOST_OLD_CONCEPT_SUPPORT # include # include # endif // This implementation works on Comeau and GCC, all the way back to // 2.95 namespace boost { namespace concepts { template struct requirement_; namespace detail { template struct instantiate {}; } template struct requirement { static void failed() { ((Model*)0)->~Model(); } }; struct failed {}; template struct requirement { static void failed() { ((Model*)0)->~Model(); } }; # ifdef BOOST_OLD_CONCEPT_SUPPORT template struct constraint { static void failed() { ((Model*)0)->constraints(); } }; template struct requirement_ : mpl::if_< concepts::not_satisfied , constraint , requirement >::type {}; # else // For GCC-2.x, these can't have exactly the same name template struct requirement_ : requirement {}; # endif // Version check from https://svn.boost.org/trac/boost/changeset/82886 // (boost/static_assert.hpp) #if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))) #define BOOST_CONCEPT_UNUSED_TYPEDEF __attribute__((unused)) #else #define BOOST_CONCEPT_UNUSED_TYPEDEF /**/ #endif # define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \ typedef ::boost::concepts::detail::instantiate< \ &::boost::concepts::requirement_::failed> \ BOOST_PP_CAT(boost_concept_check,__LINE__) \ BOOST_CONCEPT_UNUSED_TYPEDEF }} #endif // BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP KWStyle-master/Utilities/boost/concept/detail/has_constraints.hpp000066400000000000000000000031441265471724600256420ustar00rootroot00000000000000// Copyright David Abrahams 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) #ifndef BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP # define BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP # include # include # include namespace boost { namespace concepts { namespace detail { // Here we implement the metafunction that detects whether a // constraints metafunction exists typedef char yes; typedef char (&no)[2]; template struct wrap_constraints {}; #if BOOST_WORKAROUND(__SUNPRO_CC, <= 0x580) || defined(__CUDACC__) // Work around the following bogus error in Sun Studio 11, by // turning off the has_constraints function entirely: // Error: complex expression not allowed in dependent template // argument expression inline no has_constraints_(...); #else template inline yes has_constraints_(Model*, wrap_constraints* = 0); inline no has_constraints_(...); #endif } // This would be called "detail::has_constraints," but it has a strong // tendency to show up in error messages. template struct not_satisfied { BOOST_STATIC_CONSTANT( bool , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) ); typedef mpl::bool_ type; }; }} // namespace boost::concepts::detail #endif // BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP KWStyle-master/Utilities/boost/concept/detail/msvc.hpp000066400000000000000000000052641265471724600234150ustar00rootroot00000000000000// Copyright David Abrahams 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) #ifndef BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP # define BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP # include # include # include # ifdef BOOST_OLD_CONCEPT_SUPPORT # include # include # endif # ifdef BOOST_MSVC # pragma warning(push) # pragma warning(disable:4100) # endif namespace boost { namespace concepts { template struct check { virtual void failed(Model* x) { x->~Model(); } }; # ifndef BOOST_NO_PARTIAL_SPECIALIZATION struct failed {}; template struct check { virtual void failed(Model* x) { x->~Model(); } }; # endif # ifdef BOOST_OLD_CONCEPT_SUPPORT namespace detail { // No need for a virtual function here, since evaluating // not_satisfied below will have already instantiated the // constraints() member. struct constraint {}; } template struct require : mpl::if_c< not_satisfied::value , detail::constraint # ifndef BOOST_NO_PARTIAL_SPECIALIZATION , check # else , check # endif >::type {}; # else template struct require # ifndef BOOST_NO_PARTIAL_SPECIALIZATION : check # else : check # endif {}; # endif # if BOOST_WORKAROUND(BOOST_MSVC, == 1310) // // The iterator library sees some really strange errors unless we // do things this way. // template struct require { virtual void failed(Model*) { require(); } }; # define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \ enum \ { \ BOOST_PP_CAT(boost_concept_check,__LINE__) = \ sizeof(::boost::concepts::require) \ } # else // Not vc-7.1 template require require_(void(*)(Model)); # define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \ enum \ { \ BOOST_PP_CAT(boost_concept_check,__LINE__) = \ sizeof(::boost::concepts::require_((ModelFnPtr)0)) \ } # endif }} # ifdef BOOST_MSVC # pragma warning(pop) # endif #endif // BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP KWStyle-master/Utilities/boost/concept/requires.hpp000066400000000000000000000055141265471724600230400ustar00rootroot00000000000000// Copyright David Abrahams 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) #ifndef BOOST_CONCEPT_REQUIRES_DWA2006430_HPP # define BOOST_CONCEPT_REQUIRES_DWA2006430_HPP # include # include # include namespace boost { // unaryfunptr_arg_type from parameter/aux_/parenthesized_type.hpp namespace ccheck_aux { // A metafunction that transforms void(*)(T) -> T template struct unaryfunptr_arg_type; template struct unaryfunptr_arg_type { typedef Arg type; }; template <> struct unaryfunptr_arg_type { typedef void type; }; } // namespace ccheck_aux // Template for use in handwritten assertions template struct requires_ : More { BOOST_CONCEPT_ASSERT((Model)); }; // Template for use by macros, where models must be wrapped in parens. // This isn't in namespace detail to keep extra cruft out of resulting // error messages. template struct _requires_ { enum { value = 0 }; BOOST_CONCEPT_ASSERT_FN(ModelFn); }; template struct Requires_ : ::boost::ccheck_aux::unaryfunptr_arg_type { }; # if BOOST_WORKAROUND(BOOST_INTEL_WIN, BOOST_TESTED_AT(1010)) # define BOOST_CONCEPT_REQUIRES_(r,data,t) | (::boost::_requires_::value) # else # define BOOST_CONCEPT_REQUIRES_(r,data,t) + (::boost::_requires_::value) # endif #if defined(NDEBUG) # define BOOST_CONCEPT_REQUIRES(models, result) \ typename ::boost::ccheck_aux::unaryfunptr_arg_type::type #elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) // Same thing as below without the initial typename # define BOOST_CONCEPT_REQUIRES(models, result) \ ::boost::Requires_< \ (0 BOOST_PP_SEQ_FOR_EACH(BOOST_CONCEPT_REQUIRES_, ~, models)), \ ::boost::ccheck_aux::unaryfunptr_arg_type \ >::type #else // This just ICEs on MSVC6 :( # define BOOST_CONCEPT_REQUIRES(models, result) \ typename ::boost::Requires_< \ (0 BOOST_PP_SEQ_FOR_EACH(BOOST_CONCEPT_REQUIRES_, ~, models)), \ void(*)result \ >::type #endif // C++0x proposed syntax changed. This supports an older usage #define BOOST_CONCEPT_WHERE(models,result) BOOST_CONCEPT_REQUIRES(models,result) } // namespace boost::concept_check #endif // BOOST_CONCEPT_REQUIRES_DWA2006430_HPP KWStyle-master/Utilities/boost/concept/usage.hpp000066400000000000000000000021241265471724600222770ustar00rootroot00000000000000// Copyright David Abrahams 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) #ifndef BOOST_CONCEPT_USAGE_DWA2006919_HPP # define BOOST_CONCEPT_USAGE_DWA2006919_HPP # include # include # include namespace boost { namespace concepts { template struct usage_requirements { ~usage_requirements() { ((Model*)0)->~Model(); } }; # if BOOST_WORKAROUND(__GNUC__, <= 3) # define BOOST_CONCEPT_USAGE(model) \ model(); /* at least 2.96 and 3.4.3 both need this :( */ \ BOOST_CONCEPT_ASSERT((boost::concepts::usage_requirements)); \ ~model() # else # define BOOST_CONCEPT_USAGE(model) \ BOOST_CONCEPT_ASSERT((boost::concepts::usage_requirements)); \ ~model() # endif }} // namespace boost::concepts #endif // BOOST_CONCEPT_USAGE_DWA2006919_HPP KWStyle-master/Utilities/boost/concept_archetype.hpp000066400000000000000000000561671265471724600232570ustar00rootroot00000000000000// // (C) Copyright Jeremy Siek 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) // // Revision History: // // 17 July 2001: Added const to some member functions. (Jeremy Siek) // 05 May 2001: Removed static dummy_cons object. (Jeremy Siek) // See http://www.boost.org/libs/concept_check for documentation. #ifndef BOOST_CONCEPT_ARCHETYPES_HPP #define BOOST_CONCEPT_ARCHETYPES_HPP #include #include #include #include namespace boost { //=========================================================================== // Basic Archetype Classes namespace detail { class dummy_constructor { }; } // A type that models no concept. The template parameter // is only there so that null_archetype types can be created // that have different type. template class null_archetype { private: null_archetype() { } null_archetype(const null_archetype&) { } null_archetype& operator=(const null_archetype&) { return *this; } public: null_archetype(detail::dummy_constructor) { } #ifndef __MWERKS__ template friend void dummy_friend(); // just to avoid warnings #endif }; // This is a helper class that provides a way to get a reference to // an object. The get() function will never be called at run-time // (nothing in this file will) so this seemingly very bad function // is really quite innocent. The name of this class needs to be // changed. template class static_object { public: static T& get() { #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) return *reinterpret_cast(0); #else static char d[sizeof(T)]; return *reinterpret_cast(d); #endif } }; template > class default_constructible_archetype : public Base { public: default_constructible_archetype() : Base(static_object::get()) { } default_constructible_archetype(detail::dummy_constructor x) : Base(x) { } }; template > class assignable_archetype : public Base { assignable_archetype() { } assignable_archetype(const assignable_archetype&) { } public: assignable_archetype& operator=(const assignable_archetype&) { return *this; } assignable_archetype(detail::dummy_constructor x) : Base(x) { } }; template > class copy_constructible_archetype : public Base { public: copy_constructible_archetype() : Base(static_object::get()) { } copy_constructible_archetype(const copy_constructible_archetype&) : Base(static_object::get()) { } copy_constructible_archetype(detail::dummy_constructor x) : Base(x) { } }; template > class sgi_assignable_archetype : public Base { public: sgi_assignable_archetype(const sgi_assignable_archetype&) : Base(static_object::get()) { } sgi_assignable_archetype& operator=(const sgi_assignable_archetype&) { return *this; } sgi_assignable_archetype(const detail::dummy_constructor& x) : Base(x) { } }; struct default_archetype_base { default_archetype_base(detail::dummy_constructor) { } }; // Careful, don't use same type for T and Base. That results in the // conversion operator being invalid. Since T is often // null_archetype, can't use null_archetype for Base. template class convertible_to_archetype : public Base { private: convertible_to_archetype() { } convertible_to_archetype(const convertible_to_archetype& ) { } convertible_to_archetype& operator=(const convertible_to_archetype&) { return *this; } public: convertible_to_archetype(detail::dummy_constructor x) : Base(x) { } operator const T&() const { return static_object::get(); } }; template class convertible_from_archetype : public Base { private: convertible_from_archetype() { } convertible_from_archetype(const convertible_from_archetype& ) { } convertible_from_archetype& operator=(const convertible_from_archetype&) { return *this; } public: convertible_from_archetype(detail::dummy_constructor x) : Base(x) { } convertible_from_archetype(const T&) { } convertible_from_archetype& operator=(const T&) { return *this; } }; class boolean_archetype { public: boolean_archetype(const boolean_archetype&) { } operator bool() const { return true; } boolean_archetype(detail::dummy_constructor) { } private: boolean_archetype() { } boolean_archetype& operator=(const boolean_archetype&) { return *this; } }; template > class equality_comparable_archetype : public Base { public: equality_comparable_archetype(detail::dummy_constructor x) : Base(x) { } }; template boolean_archetype operator==(const equality_comparable_archetype&, const equality_comparable_archetype&) { return boolean_archetype(static_object::get()); } template boolean_archetype operator!=(const equality_comparable_archetype&, const equality_comparable_archetype&) { return boolean_archetype(static_object::get()); } template > class equality_comparable2_first_archetype : public Base { public: equality_comparable2_first_archetype(detail::dummy_constructor x) : Base(x) { } }; template > class equality_comparable2_second_archetype : public Base { public: equality_comparable2_second_archetype(detail::dummy_constructor x) : Base(x) { } }; template boolean_archetype operator==(const equality_comparable2_first_archetype&, const equality_comparable2_second_archetype&) { return boolean_archetype(static_object::get()); } template boolean_archetype operator!=(const equality_comparable2_first_archetype&, const equality_comparable2_second_archetype&) { return boolean_archetype(static_object::get()); } template > class less_than_comparable_archetype : public Base { public: less_than_comparable_archetype(detail::dummy_constructor x) : Base(x) { } }; template boolean_archetype operator<(const less_than_comparable_archetype&, const less_than_comparable_archetype&) { return boolean_archetype(static_object::get()); } template > class comparable_archetype : public Base { public: comparable_archetype(detail::dummy_constructor x) : Base(x) { } }; template boolean_archetype operator<(const comparable_archetype&, const comparable_archetype&) { return boolean_archetype(static_object::get()); } template boolean_archetype operator<=(const comparable_archetype&, const comparable_archetype&) { return boolean_archetype(static_object::get()); } template boolean_archetype operator>(const comparable_archetype&, const comparable_archetype&) { return boolean_archetype(static_object::get()); } template boolean_archetype operator>=(const comparable_archetype&, const comparable_archetype&) { return boolean_archetype(static_object::get()); } // The purpose of the optags is so that one can specify // exactly which types the operator< is defined between. // This is useful for allowing the operations: // // A a; B b; // a < b // b < a // // without also allowing the combinations: // // a < a // b < b // struct optag1 { }; struct optag2 { }; struct optag3 { }; #define BOOST_DEFINE_BINARY_PREDICATE_ARCHETYPE(OP, NAME) \ template , class Tag = optag1 > \ class NAME##_first_archetype : public Base { \ public: \ NAME##_first_archetype(detail::dummy_constructor x) : Base(x) { } \ }; \ \ template , class Tag = optag1 > \ class NAME##_second_archetype : public Base { \ public: \ NAME##_second_archetype(detail::dummy_constructor x) : Base(x) { } \ }; \ \ template \ boolean_archetype \ operator OP (const NAME##_first_archetype&, \ const NAME##_second_archetype&) \ { \ return boolean_archetype(static_object::get()); \ } BOOST_DEFINE_BINARY_PREDICATE_ARCHETYPE(==, equal_op) BOOST_DEFINE_BINARY_PREDICATE_ARCHETYPE(!=, not_equal_op) BOOST_DEFINE_BINARY_PREDICATE_ARCHETYPE(<, less_than_op) BOOST_DEFINE_BINARY_PREDICATE_ARCHETYPE(<=, less_equal_op) BOOST_DEFINE_BINARY_PREDICATE_ARCHETYPE(>, greater_than_op) BOOST_DEFINE_BINARY_PREDICATE_ARCHETYPE(>=, greater_equal_op) #define BOOST_DEFINE_OPERATOR_ARCHETYPE(OP, NAME) \ template > \ class NAME##_archetype : public Base { \ public: \ NAME##_archetype(detail::dummy_constructor x) : Base(x) { } \ NAME##_archetype(const NAME##_archetype&) \ : Base(static_object::get()) { } \ NAME##_archetype& operator=(const NAME##_archetype&) { return *this; } \ }; \ template \ NAME##_archetype \ operator OP (const NAME##_archetype&,\ const NAME##_archetype&) \ { \ return \ NAME##_archetype(static_object::get()); \ } BOOST_DEFINE_OPERATOR_ARCHETYPE(+, addable) BOOST_DEFINE_OPERATOR_ARCHETYPE(-, subtractable) BOOST_DEFINE_OPERATOR_ARCHETYPE(*, multipliable) BOOST_DEFINE_OPERATOR_ARCHETYPE(/, dividable) BOOST_DEFINE_OPERATOR_ARCHETYPE(%, modable) // As is, these are useless because of the return type. // Need to invent a better way... #define BOOST_DEFINE_BINARY_OPERATOR_ARCHETYPE(OP, NAME) \ template > \ class NAME##_first_archetype : public Base { \ public: \ NAME##_first_archetype(detail::dummy_constructor x) : Base(x) { } \ }; \ \ template > \ class NAME##_second_archetype : public Base { \ public: \ NAME##_second_archetype(detail::dummy_constructor x) : Base(x) { } \ }; \ \ template \ Return \ operator OP (const NAME##_first_archetype&, \ const NAME##_second_archetype&) \ { \ return Return(static_object::get()); \ } BOOST_DEFINE_BINARY_OPERATOR_ARCHETYPE(+, plus_op) BOOST_DEFINE_BINARY_OPERATOR_ARCHETYPE(*, time_op) BOOST_DEFINE_BINARY_OPERATOR_ARCHETYPE(/, divide_op) BOOST_DEFINE_BINARY_OPERATOR_ARCHETYPE(-, subtract_op) BOOST_DEFINE_BINARY_OPERATOR_ARCHETYPE(%, mod_op) //=========================================================================== // Function Object Archetype Classes template class generator_archetype { public: const Return& operator()() { return static_object::get(); } }; class void_generator_archetype { public: void operator()() { } }; template class unary_function_archetype { private: unary_function_archetype() { } public: unary_function_archetype(detail::dummy_constructor) { } const Return& operator()(const Arg&) const { return static_object::get(); } }; template class binary_function_archetype { private: binary_function_archetype() { } public: binary_function_archetype(detail::dummy_constructor) { } const Return& operator()(const Arg1&, const Arg2&) const { return static_object::get(); } }; template class unary_predicate_archetype { typedef boolean_archetype Return; unary_predicate_archetype() { } public: unary_predicate_archetype(detail::dummy_constructor) { } const Return& operator()(const Arg&) const { return static_object::get(); } }; template > class binary_predicate_archetype { typedef boolean_archetype Return; binary_predicate_archetype() { } public: binary_predicate_archetype(detail::dummy_constructor) { } const Return& operator()(const Arg1&, const Arg2&) const { return static_object::get(); } }; //=========================================================================== // Iterator Archetype Classes template class input_iterator_archetype { private: typedef input_iterator_archetype self; public: typedef std::input_iterator_tag iterator_category; typedef T value_type; struct reference { operator const value_type&() const { return static_object::get(); } }; typedef const T* pointer; typedef std::ptrdiff_t difference_type; self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } reference operator*() const { return reference(); } self& operator++() { return *this; } self operator++(int) { return *this; } }; template class input_iterator_archetype_no_proxy { private: typedef input_iterator_archetype_no_proxy self; public: typedef std::input_iterator_tag iterator_category; typedef T value_type; typedef const T& reference; typedef const T* pointer; typedef std::ptrdiff_t difference_type; self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } reference operator*() const { return static_object::get(); } self& operator++() { return *this; } self operator++(int) { return *this; } }; template struct output_proxy { output_proxy& operator=(const T&) { return *this; } }; template class output_iterator_archetype { public: typedef output_iterator_archetype self; public: typedef std::output_iterator_tag iterator_category; typedef output_proxy value_type; typedef output_proxy reference; typedef void pointer; typedef void difference_type; output_iterator_archetype(detail::dummy_constructor) { } output_iterator_archetype(const self&) { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } reference operator*() const { return output_proxy(); } self& operator++() { return *this; } self operator++(int) { return *this; } private: output_iterator_archetype() { } }; template class input_output_iterator_archetype { private: typedef input_output_iterator_archetype self; struct in_out_tag : public std::input_iterator_tag, public std::output_iterator_tag { }; public: typedef in_out_tag iterator_category; typedef T value_type; struct reference { reference& operator=(const T&) { return *this; } operator value_type() { return static_object::get(); } }; typedef const T* pointer; typedef std::ptrdiff_t difference_type; input_output_iterator_archetype() { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } reference operator*() const { return reference(); } self& operator++() { return *this; } self operator++(int) { return *this; } }; template class forward_iterator_archetype { public: typedef forward_iterator_archetype self; public: typedef std::forward_iterator_tag iterator_category; typedef T value_type; typedef const T& reference; typedef T const* pointer; typedef std::ptrdiff_t difference_type; forward_iterator_archetype() { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } reference operator*() const { return static_object::get(); } self& operator++() { return *this; } self operator++(int) { return *this; } }; template class mutable_forward_iterator_archetype { public: typedef mutable_forward_iterator_archetype self; public: typedef std::forward_iterator_tag iterator_category; typedef T value_type; typedef T& reference; typedef T* pointer; typedef std::ptrdiff_t difference_type; mutable_forward_iterator_archetype() { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } reference operator*() const { return static_object::get(); } self& operator++() { return *this; } self operator++(int) { return *this; } }; template class bidirectional_iterator_archetype { public: typedef bidirectional_iterator_archetype self; public: typedef std::bidirectional_iterator_tag iterator_category; typedef T value_type; typedef const T& reference; typedef T* pointer; typedef std::ptrdiff_t difference_type; bidirectional_iterator_archetype() { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } reference operator*() const { return static_object::get(); } self& operator++() { return *this; } self operator++(int) { return *this; } self& operator--() { return *this; } self operator--(int) { return *this; } }; template class mutable_bidirectional_iterator_archetype { public: typedef mutable_bidirectional_iterator_archetype self; public: typedef std::bidirectional_iterator_tag iterator_category; typedef T value_type; typedef T& reference; typedef T* pointer; typedef std::ptrdiff_t difference_type; mutable_bidirectional_iterator_archetype() { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } reference operator*() const { return static_object::get(); } self& operator++() { return *this; } self operator++(int) { return *this; } self& operator--() { return *this; } self operator--(int) { return *this; } }; template class random_access_iterator_archetype { public: typedef random_access_iterator_archetype self; public: typedef std::random_access_iterator_tag iterator_category; typedef T value_type; typedef const T& reference; typedef T* pointer; typedef std::ptrdiff_t difference_type; random_access_iterator_archetype() { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } reference operator*() const { return static_object::get(); } self& operator++() { return *this; } self operator++(int) { return *this; } self& operator--() { return *this; } self operator--(int) { return *this; } reference operator[](difference_type) const { return static_object::get(); } self& operator+=(difference_type) { return *this; } self& operator-=(difference_type) { return *this; } difference_type operator-(const self&) const { return difference_type(); } self operator+(difference_type) const { return *this; } self operator-(difference_type) const { return *this; } bool operator<(const self&) const { return true; } bool operator<=(const self&) const { return true; } bool operator>(const self&) const { return true; } bool operator>=(const self&) const { return true; } }; template random_access_iterator_archetype operator+(typename random_access_iterator_archetype::difference_type, const random_access_iterator_archetype& x) { return x; } template class mutable_random_access_iterator_archetype { public: typedef mutable_random_access_iterator_archetype self; public: typedef std::random_access_iterator_tag iterator_category; typedef T value_type; typedef T& reference; typedef T* pointer; typedef std::ptrdiff_t difference_type; mutable_random_access_iterator_archetype() { } self& operator=(const self&) { return *this; } bool operator==(const self&) const { return true; } bool operator!=(const self&) const { return true; } reference operator*() const { return static_object::get(); } self& operator++() { return *this; } self operator++(int) { return *this; } self& operator--() { return *this; } self operator--(int) { return *this; } reference operator[](difference_type) const { return static_object::get(); } self& operator+=(difference_type) { return *this; } self& operator-=(difference_type) { return *this; } difference_type operator-(const self&) const { return difference_type(); } self operator+(difference_type) const { return *this; } self operator-(difference_type) const { return *this; } bool operator<(const self&) const { return true; } bool operator<=(const self&) const { return true; } bool operator>(const self&) const { return true; } bool operator>=(const self&) const { return true; } }; template mutable_random_access_iterator_archetype operator+ (typename mutable_random_access_iterator_archetype::difference_type, const mutable_random_access_iterator_archetype& x) { return x; } } // namespace boost #endif // BOOST_CONCEPT_ARCHETYPES_H KWStyle-master/Utilities/boost/concept_check.hpp000066400000000000000000000770301265471724600223400ustar00rootroot00000000000000// // (C) Copyright Jeremy Siek 2000. // Copyright 2002 The Trustees of Indiana University. // // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // // Revision History: // 05 May 2001: Workarounds for HP aCC from Thomas Matelich. (Jeremy Siek) // 02 April 2001: Removed limits header altogether. (Jeremy Siek) // 01 April 2001: Modified to use new header. (JMaddock) // // See http://www.boost.org/libs/concept_check for documentation. #ifndef BOOST_CONCEPT_CHECKS_HPP # define BOOST_CONCEPT_CHECKS_HPP # include # include # include # include # include # include # include # include # include # include # include # include #if (defined _MSC_VER) # pragma warning( push ) # pragma warning( disable : 4510 ) // default constructor could not be generated # pragma warning( disable : 4610 ) // object 'class' can never be instantiated - user-defined constructor required #endif #if defined(__clang__) # if defined(__has_warning) # if __has_warning("-Wunused-local-typedef") # pragma clang diagnostic ignored "-Wunused-local-typedef" # endif # else # pragma clang diagnostic ignored "-Wall" # endif #endif namespace boost { // // Backward compatibility // template inline void function_requires(Model* = 0) { BOOST_CONCEPT_ASSERT((Model)); } template inline void ignore_unused_variable_warning(T const&) {} # define BOOST_CLASS_REQUIRE(type_var, ns, concept) \ BOOST_CONCEPT_ASSERT((ns::concept)) # define BOOST_CLASS_REQUIRE2(type_var1, type_var2, ns, concept) \ BOOST_CONCEPT_ASSERT((ns::concept)) # define BOOST_CLASS_REQUIRE3(tv1, tv2, tv3, ns, concept) \ BOOST_CONCEPT_ASSERT((ns::concept)) # define BOOST_CLASS_REQUIRE4(tv1, tv2, tv3, tv4, ns, concept) \ BOOST_CONCEPT_ASSERT((ns::concept)) // // Begin concept definitions // BOOST_concept(Integer, (T)) { BOOST_CONCEPT_USAGE(Integer) { x.error_type_must_be_an_integer_type(); } private: T x; }; template <> struct Integer {}; template <> struct Integer {}; template <> struct Integer {}; template <> struct Integer {}; template <> struct Integer {}; template <> struct Integer {}; template <> struct Integer {}; template <> struct Integer {}; template <> struct Integer {}; # if defined(BOOST_HAS_LONG_LONG) template <> struct Integer< ::boost::long_long_type> {}; template <> struct Integer< ::boost::ulong_long_type> {}; # elif defined(BOOST_HAS_MS_INT64) template <> struct Integer<__int64> {}; template <> struct Integer {}; # endif BOOST_concept(SignedInteger,(T)) { BOOST_CONCEPT_USAGE(SignedInteger) { x.error_type_must_be_a_signed_integer_type(); } private: T x; }; template <> struct SignedInteger { }; template <> struct SignedInteger {}; template <> struct SignedInteger {}; template <> struct SignedInteger {}; # if defined(BOOST_HAS_LONG_LONG) template <> struct SignedInteger< ::boost::long_long_type> {}; # elif defined(BOOST_HAS_MS_INT64) template <> struct SignedInteger<__int64> {}; # endif BOOST_concept(UnsignedInteger,(T)) { BOOST_CONCEPT_USAGE(UnsignedInteger) { x.error_type_must_be_an_unsigned_integer_type(); } private: T x; }; template <> struct UnsignedInteger {}; template <> struct UnsignedInteger {}; template <> struct UnsignedInteger {}; template <> struct UnsignedInteger {}; # if defined(BOOST_HAS_LONG_LONG) template <> struct UnsignedInteger< ::boost::ulong_long_type> {}; # elif defined(BOOST_HAS_MS_INT64) template <> struct UnsignedInteger {}; # endif //=========================================================================== // Basic Concepts BOOST_concept(DefaultConstructible,(TT)) { BOOST_CONCEPT_USAGE(DefaultConstructible) { TT a; // require default constructor ignore_unused_variable_warning(a); } }; BOOST_concept(Assignable,(TT)) { BOOST_CONCEPT_USAGE(Assignable) { #if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL a = b; // require assignment operator #endif const_constraints(b); } private: void const_constraints(const TT& x) { #if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL a = x; // const required for argument to assignment #else ignore_unused_variable_warning(x); #endif } private: TT a; TT b; }; BOOST_concept(CopyConstructible,(TT)) { BOOST_CONCEPT_USAGE(CopyConstructible) { TT a(b); // require copy constructor TT* ptr = &a; // require address of operator const_constraints(a); ignore_unused_variable_warning(ptr); } private: void const_constraints(const TT& a) { TT c(a); // require const copy constructor const TT* ptr = &a; // require const address of operator ignore_unused_variable_warning(c); ignore_unused_variable_warning(ptr); } TT b; }; // The SGI STL version of Assignable requires copy constructor and operator= BOOST_concept(SGIAssignable,(TT)) { BOOST_CONCEPT_USAGE(SGIAssignable) { TT c(a); #if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL a = b; // require assignment operator #endif const_constraints(b); ignore_unused_variable_warning(c); } private: void const_constraints(const TT& x) { TT c(x); #if !defined(_ITERATOR_) // back_insert_iterator broken for VC++ STL a = x; // const required for argument to assignment #endif ignore_unused_variable_warning(c); } TT a; TT b; }; BOOST_concept(Convertible,(X)(Y)) { BOOST_CONCEPT_USAGE(Convertible) { Y y = x; ignore_unused_variable_warning(y); } private: X x; }; // The C++ standard requirements for many concepts talk about return // types that must be "convertible to bool". The problem with this // requirement is that it leaves the door open for evil proxies that // define things like operator|| with strange return types. Two // possible solutions are: // 1) require the return type to be exactly bool // 2) stay with convertible to bool, and also // specify stuff about all the logical operators. // For now we just test for convertible to bool. template void require_boolean_expr(const TT& t) { bool x = t; ignore_unused_variable_warning(x); } BOOST_concept(EqualityComparable,(TT)) { BOOST_CONCEPT_USAGE(EqualityComparable) { require_boolean_expr(a == b); require_boolean_expr(a != b); } private: TT a, b; }; BOOST_concept(LessThanComparable,(TT)) { BOOST_CONCEPT_USAGE(LessThanComparable) { require_boolean_expr(a < b); } private: TT a, b; }; // This is equivalent to SGI STL's LessThanComparable. BOOST_concept(Comparable,(TT)) { BOOST_CONCEPT_USAGE(Comparable) { require_boolean_expr(a < b); require_boolean_expr(a > b); require_boolean_expr(a <= b); require_boolean_expr(a >= b); } private: TT a, b; }; #define BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(OP,NAME) \ BOOST_concept(NAME, (First)(Second)) \ { \ BOOST_CONCEPT_USAGE(NAME) { (void)constraints_(); } \ private: \ bool constraints_() { return a OP b; } \ First a; \ Second b; \ } #define BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(OP,NAME) \ BOOST_concept(NAME, (Ret)(First)(Second)) \ { \ BOOST_CONCEPT_USAGE(NAME) { (void)constraints_(); } \ private: \ Ret constraints_() { return a OP b; } \ First a; \ Second b; \ } BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(==, EqualOp); BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(!=, NotEqualOp); BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(<, LessThanOp); BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(<=, LessEqualOp); BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(>, GreaterThanOp); BOOST_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(>=, GreaterEqualOp); BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(+, PlusOp); BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(*, TimesOp); BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(/, DivideOp); BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(-, SubtractOp); BOOST_DEFINE_BINARY_OPERATOR_CONSTRAINT(%, ModOp); //=========================================================================== // Function Object Concepts BOOST_concept(Generator,(Func)(Return)) { BOOST_CONCEPT_USAGE(Generator) { test(is_void()); } private: void test(boost::mpl::false_) { // Do we really want a reference here? const Return& r = f(); ignore_unused_variable_warning(r); } void test(boost::mpl::true_) { f(); } Func f; }; BOOST_concept(UnaryFunction,(Func)(Return)(Arg)) { BOOST_CONCEPT_USAGE(UnaryFunction) { test(is_void()); } private: void test(boost::mpl::false_) { f(arg); // "priming the pump" this way keeps msvc6 happy (ICE) Return r = f(arg); ignore_unused_variable_warning(r); } void test(boost::mpl::true_) { f(arg); } #if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \ && BOOST_WORKAROUND(__GNUC__, > 3))) // Declare a dummy construktor to make gcc happy. // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type. // (warning: non-static reference "const double& boost::UnaryFunction::arg" // in class without a constructor [-Wuninitialized]) UnaryFunction(); #endif Func f; Arg arg; }; BOOST_concept(BinaryFunction,(Func)(Return)(First)(Second)) { BOOST_CONCEPT_USAGE(BinaryFunction) { test(is_void()); } private: void test(boost::mpl::false_) { f(first,second); Return r = f(first, second); // require operator() (void)r; } void test(boost::mpl::true_) { f(first,second); } #if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \ && BOOST_WORKAROUND(__GNUC__, > 3))) // Declare a dummy constructor to make gcc happy. // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type. // (warning: non-static reference "const double& boost::BinaryFunction::arg" // in class without a constructor [-Wuninitialized]) BinaryFunction(); #endif Func f; First first; Second second; }; BOOST_concept(UnaryPredicate,(Func)(Arg)) { BOOST_CONCEPT_USAGE(UnaryPredicate) { require_boolean_expr(f(arg)); // require operator() returning bool } private: #if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \ && BOOST_WORKAROUND(__GNUC__, > 3))) // Declare a dummy constructor to make gcc happy. // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type. // (warning: non-static reference "const double& boost::UnaryPredicate::arg" // in class without a constructor [-Wuninitialized]) UnaryPredicate(); #endif Func f; Arg arg; }; BOOST_concept(BinaryPredicate,(Func)(First)(Second)) { BOOST_CONCEPT_USAGE(BinaryPredicate) { require_boolean_expr(f(a, b)); // require operator() returning bool } private: #if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \ && BOOST_WORKAROUND(__GNUC__, > 3))) // Declare a dummy constructor to make gcc happy. // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type. // (warning: non-static reference "const double& boost::BinaryPredicate::arg" // in class without a constructor [-Wuninitialized]) BinaryPredicate(); #endif Func f; First a; Second b; }; // use this when functor is used inside a container class like std::set BOOST_concept(Const_BinaryPredicate,(Func)(First)(Second)) : BinaryPredicate { BOOST_CONCEPT_USAGE(Const_BinaryPredicate) { const_constraints(f); } private: void const_constraints(const Func& fun) { // operator() must be a const member function require_boolean_expr(fun(a, b)); } #if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \ && BOOST_WORKAROUND(__GNUC__, > 3))) // Declare a dummy constructor to make gcc happy. // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type. // (warning: non-static reference "const double& boost::Const_BinaryPredicate::arg" // in class without a constructor [-Wuninitialized]) Const_BinaryPredicate(); #endif Func f; First a; Second b; }; BOOST_concept(AdaptableGenerator,(Func)(Return)) : Generator { typedef typename Func::result_type result_type; BOOST_CONCEPT_USAGE(AdaptableGenerator) { BOOST_CONCEPT_ASSERT((Convertible)); } }; BOOST_concept(AdaptableUnaryFunction,(Func)(Return)(Arg)) : UnaryFunction { typedef typename Func::argument_type argument_type; typedef typename Func::result_type result_type; ~AdaptableUnaryFunction() { BOOST_CONCEPT_ASSERT((Convertible)); BOOST_CONCEPT_ASSERT((Convertible)); } }; BOOST_concept(AdaptableBinaryFunction,(Func)(Return)(First)(Second)) : BinaryFunction< Func , typename Func::result_type , typename Func::first_argument_type , typename Func::second_argument_type > { typedef typename Func::first_argument_type first_argument_type; typedef typename Func::second_argument_type second_argument_type; typedef typename Func::result_type result_type; ~AdaptableBinaryFunction() { BOOST_CONCEPT_ASSERT((Convertible)); BOOST_CONCEPT_ASSERT((Convertible)); BOOST_CONCEPT_ASSERT((Convertible)); } }; BOOST_concept(AdaptablePredicate,(Func)(Arg)) : UnaryPredicate , AdaptableUnaryFunction { }; BOOST_concept(AdaptableBinaryPredicate,(Func)(First)(Second)) : BinaryPredicate , AdaptableBinaryFunction { }; //=========================================================================== // Iterator Concepts BOOST_concept(InputIterator,(TT)) : Assignable , EqualityComparable { typedef typename boost::detail::iterator_traits::value_type value_type; typedef typename boost::detail::iterator_traits::difference_type difference_type; typedef typename boost::detail::iterator_traits::reference reference; typedef typename boost::detail::iterator_traits::pointer pointer; typedef typename boost::detail::iterator_traits::iterator_category iterator_category; BOOST_CONCEPT_USAGE(InputIterator) { BOOST_CONCEPT_ASSERT((SignedInteger)); BOOST_CONCEPT_ASSERT((Convertible)); TT j(i); (void)*i; // require dereference operator ++j; // require preincrement operator i++; // require postincrement operator } private: TT i; }; BOOST_concept(OutputIterator,(TT)(ValueT)) : Assignable { BOOST_CONCEPT_USAGE(OutputIterator) { ++i; // require preincrement operator i++; // require postincrement operator *i++ = t; // require postincrement and assignment } private: TT i, j; ValueT t; }; BOOST_concept(ForwardIterator,(TT)) : InputIterator { BOOST_CONCEPT_USAGE(ForwardIterator) { BOOST_CONCEPT_ASSERT((Convertible< BOOST_DEDUCED_TYPENAME ForwardIterator::iterator_category , std::forward_iterator_tag >)); typename InputIterator::reference r = *i; ignore_unused_variable_warning(r); } private: TT i; }; BOOST_concept(Mutable_ForwardIterator,(TT)) : ForwardIterator { BOOST_CONCEPT_USAGE(Mutable_ForwardIterator) { *i++ = *j; // require postincrement and assignment } private: TT i, j; }; BOOST_concept(BidirectionalIterator,(TT)) : ForwardIterator { BOOST_CONCEPT_USAGE(BidirectionalIterator) { BOOST_CONCEPT_ASSERT((Convertible< BOOST_DEDUCED_TYPENAME BidirectionalIterator::iterator_category , std::bidirectional_iterator_tag >)); --i; // require predecrement operator i--; // require postdecrement operator } private: TT i; }; BOOST_concept(Mutable_BidirectionalIterator,(TT)) : BidirectionalIterator , Mutable_ForwardIterator { BOOST_CONCEPT_USAGE(Mutable_BidirectionalIterator) { *i-- = *j; // require postdecrement and assignment } private: TT i, j; }; BOOST_concept(RandomAccessIterator,(TT)) : BidirectionalIterator , Comparable { BOOST_CONCEPT_USAGE(RandomAccessIterator) { BOOST_CONCEPT_ASSERT((Convertible< BOOST_DEDUCED_TYPENAME BidirectionalIterator::iterator_category , std::random_access_iterator_tag >)); i += n; // require assignment addition operator i = i + n; i = n + i; // require addition with difference type i -= n; // require assignment subtraction operator i = i - n; // require subtraction with difference type n = i - j; // require difference operator (void)i[n]; // require element access operator } private: TT a, b; TT i, j; typename boost::detail::iterator_traits::difference_type n; }; BOOST_concept(Mutable_RandomAccessIterator,(TT)) : RandomAccessIterator , Mutable_BidirectionalIterator { BOOST_CONCEPT_USAGE(Mutable_RandomAccessIterator) { i[n] = *i; // require element access and assignment } private: TT i; typename boost::detail::iterator_traits::difference_type n; }; //=========================================================================== // Container s BOOST_concept(Container,(C)) : Assignable { typedef typename C::value_type value_type; typedef typename C::difference_type difference_type; typedef typename C::size_type size_type; typedef typename C::const_reference const_reference; typedef typename C::const_pointer const_pointer; typedef typename C::const_iterator const_iterator; BOOST_CONCEPT_USAGE(Container) { BOOST_CONCEPT_ASSERT((InputIterator)); const_constraints(c); } private: void const_constraints(const C& cc) { i = cc.begin(); i = cc.end(); n = cc.size(); n = cc.max_size(); b = cc.empty(); } C c; bool b; const_iterator i; size_type n; }; BOOST_concept(Mutable_Container,(C)) : Container { typedef typename C::reference reference; typedef typename C::iterator iterator; typedef typename C::pointer pointer; BOOST_CONCEPT_USAGE(Mutable_Container) { BOOST_CONCEPT_ASSERT(( Assignable)); BOOST_CONCEPT_ASSERT((InputIterator)); i = c.begin(); i = c.end(); c.swap(c2); } private: iterator i; C c, c2; }; BOOST_concept(ForwardContainer,(C)) : Container { BOOST_CONCEPT_USAGE(ForwardContainer) { BOOST_CONCEPT_ASSERT(( ForwardIterator< typename ForwardContainer::const_iterator >)); } }; BOOST_concept(Mutable_ForwardContainer,(C)) : ForwardContainer , Mutable_Container { BOOST_CONCEPT_USAGE(Mutable_ForwardContainer) { BOOST_CONCEPT_ASSERT(( Mutable_ForwardIterator< typename Mutable_ForwardContainer::iterator >)); } }; BOOST_concept(ReversibleContainer,(C)) : ForwardContainer { typedef typename C::const_reverse_iterator const_reverse_iterator; BOOST_CONCEPT_USAGE(ReversibleContainer) { BOOST_CONCEPT_ASSERT(( BidirectionalIterator< typename ReversibleContainer::const_iterator>)); BOOST_CONCEPT_ASSERT((BidirectionalIterator)); const_constraints(c); } private: void const_constraints(const C& cc) { const_reverse_iterator i = cc.rbegin(); i = cc.rend(); } C c; }; BOOST_concept(Mutable_ReversibleContainer,(C)) : Mutable_ForwardContainer , ReversibleContainer { typedef typename C::reverse_iterator reverse_iterator; BOOST_CONCEPT_USAGE(Mutable_ReversibleContainer) { typedef typename Mutable_ForwardContainer::iterator iterator; BOOST_CONCEPT_ASSERT((Mutable_BidirectionalIterator)); BOOST_CONCEPT_ASSERT((Mutable_BidirectionalIterator)); reverse_iterator i = c.rbegin(); i = c.rend(); } private: C c; }; BOOST_concept(RandomAccessContainer,(C)) : ReversibleContainer { typedef typename C::size_type size_type; typedef typename C::const_reference const_reference; BOOST_CONCEPT_USAGE(RandomAccessContainer) { BOOST_CONCEPT_ASSERT(( RandomAccessIterator< typename RandomAccessContainer::const_iterator >)); const_constraints(c); } private: void const_constraints(const C& cc) { const_reference r = cc[n]; ignore_unused_variable_warning(r); } C c; size_type n; }; BOOST_concept(Mutable_RandomAccessContainer,(C)) : Mutable_ReversibleContainer , RandomAccessContainer { private: typedef Mutable_RandomAccessContainer self; public: BOOST_CONCEPT_USAGE(Mutable_RandomAccessContainer) { BOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator)); BOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator)); typename self::reference r = c[i]; ignore_unused_variable_warning(r); } private: typename Mutable_ReversibleContainer::size_type i; C c; }; // A Sequence is inherently mutable BOOST_concept(Sequence,(S)) : Mutable_ForwardContainer // Matt Austern's book puts DefaultConstructible here, the C++ // standard places it in Container --JGS // ... so why aren't we following the standard? --DWA , DefaultConstructible { BOOST_CONCEPT_USAGE(Sequence) { S c(n, t), c2(first, last); c.insert(p, t); c.insert(p, n, t); c.insert(p, first, last); c.erase(p); c.erase(p, q); typename Sequence::reference r = c.front(); ignore_unused_variable_warning(c); ignore_unused_variable_warning(c2); ignore_unused_variable_warning(r); const_constraints(c); } private: void const_constraints(const S& c) { typename Sequence::const_reference r = c.front(); ignore_unused_variable_warning(r); } typename S::value_type t; typename S::size_type n; typename S::value_type* first, *last; typename S::iterator p, q; }; BOOST_concept(FrontInsertionSequence,(S)) : Sequence { BOOST_CONCEPT_USAGE(FrontInsertionSequence) { c.push_front(t); c.pop_front(); } private: S c; typename S::value_type t; }; BOOST_concept(BackInsertionSequence,(S)) : Sequence { BOOST_CONCEPT_USAGE(BackInsertionSequence) { c.push_back(t); c.pop_back(); typename BackInsertionSequence::reference r = c.back(); ignore_unused_variable_warning(r); const_constraints(c); } private: void const_constraints(const S& cc) { typename BackInsertionSequence::const_reference r = cc.back(); ignore_unused_variable_warning(r); } S c; typename S::value_type t; }; BOOST_concept(AssociativeContainer,(C)) : ForwardContainer , DefaultConstructible { typedef typename C::key_type key_type; typedef typename C::key_compare key_compare; typedef typename C::value_compare value_compare; typedef typename C::iterator iterator; BOOST_CONCEPT_USAGE(AssociativeContainer) { i = c.find(k); r = c.equal_range(k); c.erase(k); c.erase(i); c.erase(r.first, r.second); const_constraints(c); BOOST_CONCEPT_ASSERT((BinaryPredicate)); typedef typename AssociativeContainer::value_type value_type_; BOOST_CONCEPT_ASSERT((BinaryPredicate)); } // Redundant with the base concept, but it helps below. typedef typename C::const_iterator const_iterator; private: void const_constraints(const C& cc) { ci = cc.find(k); n = cc.count(k); cr = cc.equal_range(k); } C c; iterator i; std::pair r; const_iterator ci; std::pair cr; typename C::key_type k; typename C::size_type n; }; BOOST_concept(UniqueAssociativeContainer,(C)) : AssociativeContainer { BOOST_CONCEPT_USAGE(UniqueAssociativeContainer) { C c(first, last); pos_flag = c.insert(t); c.insert(first, last); ignore_unused_variable_warning(c); } private: std::pair pos_flag; typename C::value_type t; typename C::value_type* first, *last; }; BOOST_concept(MultipleAssociativeContainer,(C)) : AssociativeContainer { BOOST_CONCEPT_USAGE(MultipleAssociativeContainer) { C c(first, last); pos = c.insert(t); c.insert(first, last); ignore_unused_variable_warning(c); ignore_unused_variable_warning(pos); } private: typename C::iterator pos; typename C::value_type t; typename C::value_type* first, *last; }; BOOST_concept(SimpleAssociativeContainer,(C)) : AssociativeContainer { BOOST_CONCEPT_USAGE(SimpleAssociativeContainer) { typedef typename C::key_type key_type; typedef typename C::value_type value_type; BOOST_MPL_ASSERT((boost::is_same)); } }; BOOST_concept(PairAssociativeContainer,(C)) : AssociativeContainer { BOOST_CONCEPT_USAGE(PairAssociativeContainer) { typedef typename C::key_type key_type; typedef typename C::value_type value_type; typedef typename C::mapped_type mapped_type; typedef std::pair required_value_type; BOOST_MPL_ASSERT((boost::is_same)); } }; BOOST_concept(SortedAssociativeContainer,(C)) : AssociativeContainer , ReversibleContainer { BOOST_CONCEPT_USAGE(SortedAssociativeContainer) { C c(kc), c2(first, last), c3(first, last, kc); p = c.upper_bound(k); p = c.lower_bound(k); r = c.equal_range(k); c.insert(p, t); ignore_unused_variable_warning(c); ignore_unused_variable_warning(c2); ignore_unused_variable_warning(c3); const_constraints(c); } void const_constraints(const C& c) { kc = c.key_comp(); vc = c.value_comp(); cp = c.upper_bound(k); cp = c.lower_bound(k); cr = c.equal_range(k); } private: typename C::key_compare kc; typename C::value_compare vc; typename C::value_type t; typename C::key_type k; typedef typename C::iterator iterator; typedef typename C::const_iterator const_iterator; typedef SortedAssociativeContainer self; iterator p; const_iterator cp; std::pair r; std::pair cr; typename C::value_type* first, *last; }; // HashedAssociativeContainer BOOST_concept(Collection,(C)) { BOOST_CONCEPT_USAGE(Collection) { boost::function_requires >(); boost::function_requires >(); boost::function_requires >(); const_constraints(c); i = c.begin(); i = c.end(); c.swap(c); } void const_constraints(const C& cc) { ci = cc.begin(); ci = cc.end(); n = cc.size(); b = cc.empty(); } private: typedef typename C::value_type value_type; typedef typename C::iterator iterator; typedef typename C::const_iterator const_iterator; typedef typename C::reference reference; typedef typename C::const_reference const_reference; // typedef typename C::pointer pointer; typedef typename C::difference_type difference_type; typedef typename C::size_type size_type; C c; bool b; iterator i; const_iterator ci; size_type n; }; } // namespace boost #if (defined _MSC_VER) # pragma warning( pop ) #endif # include #endif // BOOST_CONCEPT_CHECKS_HPP KWStyle-master/Utilities/boost/config.hpp000066400000000000000000000042141265471724600210070ustar00rootroot00000000000000// 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 KWStyle-master/Utilities/boost/config/000077500000000000000000000000001265471724600202755ustar00rootroot00000000000000KWStyle-master/Utilities/boost/config/abi/000077500000000000000000000000001265471724600210305ustar00rootroot00000000000000KWStyle-master/Utilities/boost/config/abi/borland_prefix.hpp000066400000000000000000000017521265471724600245440ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/abi/borland_suffix.hpp000066400000000000000000000004301265471724600245430ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/abi/msvc_prefix.hpp000066400000000000000000000014631265471724600240720ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/abi/msvc_suffix.hpp000066400000000000000000000003741265471724600241010ustar00rootroot00000000000000// (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) KWStyle-master/Utilities/boost/config/abi_prefix.hpp000066400000000000000000000012721265471724600231200ustar00rootroot00000000000000// 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( __BORLANDC__ ) #pragma nopushoptwarn #endif KWStyle-master/Utilities/boost/config/abi_suffix.hpp000066400000000000000000000014151265471724600231260ustar00rootroot00000000000000// 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( __BORLANDC__ ) #pragma nopushoptwarn #endif KWStyle-master/Utilities/boost/config/auto_link.hpp000066400000000000000000000351731265471724600230040ustar00rootroot00000000000000// (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. 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_VERSION 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_VERSION: The Boost version, in the form x_y, for Boost version x.y. ***************************************************************************/ #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(__BORLANDC__) \ || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \ || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) #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) // vc14: # define BOOST_LIB_TOOLSET "vc140" # elif defined(__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" # 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(__BORLANDC__) // // figure out whether we want the debug builds or not: // #if __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 // // 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_VERSION) #ifdef BOOST_AUTO_LINK_TAGGED # pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib") # 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 ".lib") # endif #elif defined(BOOST_AUTO_LINK_NOMANGLE) # pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") # ifdef BOOST_LIB_DIAGNOSTIC # pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") # 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_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib") # 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_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib") # 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_VERSION ".lib") # 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_VERSION ".lib") # 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_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 KWStyle-master/Utilities/boost/config/compiler/000077500000000000000000000000001265471724600221075ustar00rootroot00000000000000KWStyle-master/Utilities/boost/config/compiler/borland.hpp000066400000000000000000000234041265471724600242440ustar00rootroot00000000000000// (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 "Unknown compiler version - please run the configure tests and report the results" //# else //# pragma message( "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_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_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 // 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 #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_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__) KWStyle-master/Utilities/boost/config/compiler/clang.hpp000066400000000000000000000164171265471724600237150ustar00rootroot00000000000000// (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 #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 // // We disable this if the compiler is really nvcc as it // doesn't actually support __int128 as of CUDA_VERSION=5000 // even though it defines __SIZEOF_INT128__. // See https://svn.boost.org/trac/boost/ticket/10418 // Only re-enable this for nvcc if you're absolutely sure // of the circumstances under which it's supported: // #if defined(__SIZEOF_INT128__) && !defined(__CUDACC__) # define BOOST_HAS_INT128 #endif // // 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 #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 __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 #ifndef BOOST_COMPILER # define BOOST_COMPILER "Clang version " __clang_version__ #endif // Macro used to identify the Clang compiler. #define BOOST_CLANG 1 KWStyle-master/Utilities/boost/config/compiler/codegear.hpp000066400000000000000000000160571265471724600244020ustar00rootroot00000000000000// (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: #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 // // versions check: // last known and checked version is 0x621 #if (__CODEGEARC__ > 0x621) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" # else # pragma message( "Unknown compiler version - please run the configure tests and report the results") # endif #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 // // 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_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 // 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 // // 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__) KWStyle-master/Utilities/boost/config/compiler/comeau.hpp000066400000000000000000000031371265471724600240750ustar00rootroot00000000000000// (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 "boost/config/compiler/common_edg.hpp" #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 "Unknown compiler version - please run the configure tests and report the results" # endif #endif KWStyle-master/Utilities/boost/config/compiler/common_edg.hpp000066400000000000000000000111041265471724600247240ustar00rootroot00000000000000// (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_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 // 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 #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 KWStyle-master/Utilities/boost/config/compiler/compaq_cxx.hpp000066400000000000000000000007651265471724600247720ustar00rootroot00000000000000// (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 "boost/config/compiler/common_edg.hpp" // // versions check: // Nothing to do here? KWStyle-master/Utilities/boost/config/compiler/cray.hpp000066400000000000000000000055001265471724600235560ustar00rootroot00000000000000// (C) Copyright John Maddock 2011. // (C) Copyright Cray, Inc. 2013 // Use, modification and distribution are subject to the // Boost Software License, Version 1.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 "Cray C version " BOOST_STRINGIZE(_RELEASE) #if _RELEASE < 8 # error "Boost is not configured for Cray compilers prior to version 8, please try the configure script." #endif // // Check this is a recent EDG based compiler, otherwise we don't support it here: // #ifndef __EDG_VERSION__ # error "Unsupported Cray compiler, please try running the configure script." #endif #include "boost/config/compiler/common_edg.hpp" // // #define BOOST_NO_CXX11_STATIC_ASSERT #define BOOST_NO_CXX11_AUTO_DECLARATIONS #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #define BOOST_HAS_NRVO #define BOOST_NO_CXX11_VARIADIC_MACROS #define BOOST_NO_CXX11_VARIADIC_TEMPLATES #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #define BOOST_NO_CXX11_UNICODE_LITERALS #define BOOST_NO_TWO_PHASE_NAME_LOOKUP #define BOOST_HAS_NRVO #define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_STATIC_ASSERT #define BOOST_NO_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_NOEXCEPT #define BOOST_NO_CXX11_LAMBDAS #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #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_N3276 #define BOOST_NO_CXX11_DECLTYPE #define BOOST_NO_CXX11_CONSTEXPR #define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION #define BOOST_NO_CXX11_CHAR32_T #define BOOST_NO_CXX11_CHAR16_T #define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_FINAL //#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, at least when -hgnu is asserted on the command line. #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 KWStyle-master/Utilities/boost/config/compiler/digitalmars.hpp000066400000000000000000000075501265471724600251270ustar00rootroot00000000000000// 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_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 // 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 #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 "Unknown compiler version - please run the configure tests and report the results" # endif #endif KWStyle-master/Utilities/boost/config/compiler/gcc.hpp000066400000000000000000000224361265471724600233630ustar00rootroot00000000000000// (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. # 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 as it // doesn't actually support __int128 as of CUDA_VERSION=5000 // even though it defines __SIZEOF_INT128__. // See https://svn.boost.org/trac/boost/ticket/8048 // Only re-enable this for nvcc if you're absolutely sure // of the circumstances under which it's supported: // #if defined(__SIZEOF_INT128__) && !defined(__CUDACC__) # define BOOST_HAS_INT128 #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_CONSTEXPR #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) # 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 #endif // C++0x features in 4.8.n and later // #if (BOOST_GCC_VERSION < 40800) || !defined(BOOST_GCC_CXX11) # define BOOST_NO_CXX11_ALIGNAS #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++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 !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #endif // // Unused attribute: #if __GNUC__ >= 4 # define BOOST_ATTRIBUTE_UNUSED __attribute__((unused)) #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 4.9: #if (BOOST_GCC_VERSION > 40900) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" # 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 "Unknown compiler version - please run the configure tests and report the results" # endif #endif KWStyle-master/Utilities/boost/config/compiler/gcc_xml.hpp000066400000000000000000000064771265471724600242520ustar00rootroot00000000000000// (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_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 // 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 #define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__ KWStyle-master/Utilities/boost/config/compiler/greenhills.hpp000066400000000000000000000014571265471724600247630ustar00rootroot00000000000000// (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 "boost/config/compiler/common_edg.hpp" // // 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 "Unknown compiler version - please run the configure tests and report the results" # endif #endif KWStyle-master/Utilities/boost/config/compiler/hp_acc.hpp000066400000000000000000000113611265471724600240370ustar00rootroot00000000000000// (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 "boost/config/compiler/common_edg.hpp" #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_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 /* 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 "Unknown compiler version - please run the configure tests and report the results" # endif #endif KWStyle-master/Utilities/boost/config/compiler/intel.hpp000066400000000000000000000447751265471724600237540ustar00rootroot00000000000000// (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: #include "boost/config/compiler/common_edg.hpp" #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 // // 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_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 #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 #endif #endif // // 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(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(__CUDACC__) # define BOOST_HAS_INT128 #endif // // last known and checked version: #if (BOOST_INTEL_CXX_VERSION > 1310) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" # 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("Unknown compiler version - please run the configure tests and report the results") # endif #endif KWStyle-master/Utilities/boost/config/compiler/kai.hpp000066400000000000000000000017771265471724600234000ustar00rootroot00000000000000// (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 "boost/config/compiler/common_edg.hpp" # 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 "Unknown compiler version - please run the configure tests and report the results" # endif #endif KWStyle-master/Utilities/boost/config/compiler/metrowerks.hpp000066400000000000000000000131361265471724600250260ustar00rootroot00000000000000// (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_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 // 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 #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 "Unknown compiler version - please run the configure tests and report the results" # endif #endif KWStyle-master/Utilities/boost/config/compiler/mpw.hpp000066400000000000000000000100411265471724600234170ustar00rootroot00000000000000// (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_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 // 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 // // 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 "Unknown compiler version - please run the configure tests and report the results" # endif #endif KWStyle-master/Utilities/boost/config/compiler/nvcc.hpp000066400000000000000000000011111265471724600235430ustar00rootroot00000000000000// (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 // 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__ KWStyle-master/Utilities/boost/config/compiler/pathscale.hpp000066400000000000000000000101371265471724600245660ustar00rootroot00000000000000// (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__ >= 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_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 // 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 #endif KWStyle-master/Utilities/boost/config/compiler/pgi.hpp000066400000000000000000000116011265471724600233760ustar00rootroot00000000000000// (C) Copyright Noel Belcourt 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. // PGI C++ compiler setup: #define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__ #define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) // // Threading support: // Turn this on unconditionally here, it will get turned off again later // if no threading API is detected. // #if __PGIC__ >= 11 // options requested by configure --enable-test #define BOOST_HAS_PTHREADS #define BOOST_HAS_THREADS #define BOOST_HAS_PTHREAD_YIELD #define BOOST_HAS_NRVO #define BOOST_HAS_LONG_LONG // options --enable-test wants undefined #undef BOOST_NO_STDC_NAMESPACE #undef BOOST_NO_EXCEPTION_STD_NAMESPACE #undef BOOST_DEDUCED_TYPENAME #define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL #define BOOST_NO_TWO_PHASE_NAME_LOOKUP #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #define BOOST_NO_CXX11_AUTO_DECLARATIONS #elif __PGIC__ >= 10 // options requested by configure --enable-test #define BOOST_HAS_THREADS #define BOOST_HAS_NRVO #define BOOST_HAS_LONG_LONG #if defined(linux) || defined(__linux) || defined(__linux__) # define BOOST_HAS_STDINT_H #endif // options --enable-test wants undefined #undef BOOST_NO_STDC_NAMESPACE #undef BOOST_NO_EXCEPTION_STD_NAMESPACE #undef BOOST_DEDUCED_TYPENAME #elif __PGIC__ >= 7 #define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL #define BOOST_NO_TWO_PHASE_NAME_LOOKUP #define BOOST_NO_SWPRINTF #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #define BOOST_NO_CXX11_AUTO_DECLARATIONS #else # error "Pgi compiler not configured - please reconfigure" #endif // // C++0x features // // See boost\config\suffix.hpp for BOOST_NO_LONG_LONG // #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_LAMBDAS #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS #define BOOST_NO_CXX11_NOEXCEPT #define BOOST_NO_CXX11_NULLPTR #define BOOST_NO_CXX11_NUMERIC_LIMITS #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_STATIC_ASSERT #define BOOST_NO_SWPRINTF #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_HDR_UNORDERED_SET #define BOOST_NO_CXX11_HDR_UNORDERED_MAP #define BOOST_NO_CXX11_HDR_TYPEINDEX #define BOOST_NO_CXX11_HDR_TYPE_TRAITS #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_HDR_ARRAY #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 // 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 // // version check: // probably nothing to do here? KWStyle-master/Utilities/boost/config/compiler/sgi_mipspro.hpp000066400000000000000000000014061265471724600251540ustar00rootroot00000000000000// (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 "boost/config/compiler/common_edg.hpp" // // 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? KWStyle-master/Utilities/boost/config/compiler/sunpro_cc.hpp000066400000000000000000000151231265471724600246150ustar00rootroot00000000000000// (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 #endif // // Issues that effect all known versions: // // Variadic templates pass our test case, but enabling this // causes the compiler to issue a signal 11 and bail out // in various libraries. The others fail our test cases. // #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_COMPLETE_VALUE_INITIALIZATION // // C++0x features // # define BOOST_HAS_LONG_LONG // 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 // // 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 is 0x590: #if (__SUNPRO_CC > 0x590) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" # endif #endif KWStyle-master/Utilities/boost/config/compiler/vacpp.hpp000066400000000000000000000123161265471724600237340ustar00rootroot00000000000000// (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 "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 // // 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_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 // 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 KWStyle-master/Utilities/boost/config/compiler/visualc.hpp000066400000000000000000000224731265471724600242760ustar00rootroot00000000000000// (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 #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 #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 // MSVC (including the latest checked version) 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 // See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues // (Niels Dekker, LKEB, May 2010) # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION #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 // # 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 #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 // C++11 features supported by VC++ 14 (aka 2015) Preview // #if (_MSC_FULL_VER < 190022310) # define BOOST_NO_CXX11_NOEXCEPT # 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 #endif // C++11 features not supported by any versions #define BOOST_NO_CXX11_CONSTEXPR #define BOOST_NO_SFINAE_EXPR #define BOOST_NO_TWO_PHASE_NAME_LOOKUP // 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 (__cplusplus < 201304) // There's no SD6 check for this.... # define BOOST_NO_CXX14_DIGIT_SEPARATORS #endif #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) # define BOOST_NO_CXX14_VARIABLE_TEMPLATES #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 "Unknown EVC++ compiler version - please run the configure tests and report the results" # else # pragma message("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 "Unknown EVC++ compiler version - please run the configure tests and report the results" # else # pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results") # endif # endif # else # if _MSC_VER < 1310 // Note: Versions up to 7.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 < 2000 # define BOOST_COMPILER_VERSION 14.0 # else # define BOOST_COMPILER_VERSION _MSC_VER # endif # endif # define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) #endif // // last known and checked version is 19.00.22129 (VC14 Preview): #if (_MSC_VER > 1800 && _MSC_FULL_VER > 190022310) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" # else # pragma message("Unknown compiler version - please run the configure tests and report the results") # endif #endif KWStyle-master/Utilities/boost/config/no_tr1/000077500000000000000000000000001265471724600214775ustar00rootroot00000000000000KWStyle-master/Utilities/boost/config/no_tr1/cmath.hpp000066400000000000000000000015061265471724600233060ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/no_tr1/complex.hpp000066400000000000000000000015261265471724600236630ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/no_tr1/functional.hpp000066400000000000000000000015561265471724600243610ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/no_tr1/memory.hpp000066400000000000000000000015161265471724600235230ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/no_tr1/utility.hpp000066400000000000000000000015261265471724600237170ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/platform/000077500000000000000000000000001265471724600221215ustar00rootroot00000000000000KWStyle-master/Utilities/boost/config/platform/aix.hpp000066400000000000000000000015611265471724600234160ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/platform/amigaos.hpp000066400000000000000000000006721265471724600242570ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/platform/beos.hpp000066400000000000000000000011211265471724600235550ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/platform/bsd.hpp000066400000000000000000000047021265471724600234050ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/platform/cray.hpp000066400000000000000000000007011265471724600235660ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/platform/cygwin.hpp000066400000000000000000000025601265471724600241350ustar00rootroot00000000000000// (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 /// Cygwin has no fenv.h #define BOOST_NO_FENV_H // 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 KWStyle-master/Utilities/boost/config/platform/haiku.hpp000066400000000000000000000015411265471724600237340ustar00rootroot00000000000000// (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 #define BOOST_HASH_NO_EXTENSIONS #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_PTHREAD_YIELD #define BOOST_HAS_GETTIMEOFDAY // boilerplate code: #include KWStyle-master/Utilities/boost/config/platform/hpux.hpp000066400000000000000000000046551265471724600236300ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/platform/irix.hpp000066400000000000000000000014251265471724600236070ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/platform/linux.hpp000066400000000000000000000050241265471724600237720ustar00rootroot00000000000000// (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. # if defined __GNUC__ # 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 #ifdef __USE_GNU #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 KWStyle-master/Utilities/boost/config/platform/macos.hpp000066400000000000000000000044471265471724600237450ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/platform/qnxnto.hpp000066400000000000000000000013761265471724600241700ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/platform/solaris.hpp000066400000000000000000000015021265471724600243040ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/platform/symbian.hpp000066400000000000000000000050661265471724600243030ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/platform/vms.hpp000066400000000000000000000013551265471724600234430ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/platform/vxworks.hpp000066400000000000000000000355001265471724600243600ustar00rootroot00000000000000// (C) Copyright Dustin Spicuzza 2009. // Adapted to vxWorks 6.9 by Peter Brockamp 2012. // Use, modification and distribution are subject to the // Boost Software License, Version 1.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. // Since WRS does not yet properly support boost under vxWorks // and this file was badly outdated, but I was keen on using it, // I patched boost myself to make things work. This has been tested // and adapted by me for vxWorks 6.9 *only*, as I'm lacking access // to earlier 6.X versions! The only thing I know for sure is that // very old versions of vxWorks (namely everything below 6.x) are // absolutely unable to use boost. This is mainly due to the completely // outdated libraries and ancient compiler (GCC 2.96 or worse). Do // not even think of getting this to work, a miserable failure will // be guaranteed! // Equally, this file has been tested for RTPs (Real Time Processes) // only, not for DKMs (Downloadable Kernel Modules). These two types // of executables differ largely in the available functionality of // the C-library, STL, and so on. A DKM uses a library similar to those // of vxWorks 5.X - with all its limitations and incompatibilities // with respect to ANSI C++ and STL. So probably there might be problems // with the usage of boost from DKMs. WRS or any voluteers are free to // prove the opposite! // ==================================================================== // // 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, // i.e. deadlocks! To overcome this two possibilities do exist: // // a) Patch every piece of boost that uses semaphores to instanciate // the proper type of semaphores. This is non-intrusive with respect // to the OS and could relatively easy been done by giving all // semaphores attributes deviating from the default (for in-depth // information see the POSIX functions pthread_mutexattr_init() // and pthread_mutexattr_setprotocol()). However this breaks all // too easily, as with every new version some boost library could // all in a sudden start using semaphores, resurrecting the very // same, hard to locate problem over and over again! // // b) We could change the default properties for POSIX-semaphores // that VxWorks uses for RTP's and this is being suggested here, // as it will more or less seamlessly integrate with boost. I got // the following information from WRS how to do this, compare // Wind River TSR# 1209768: // // Instructions for changing the default properties of POSIX- // semaphores for RTP's in VxWorks 6.9: // - Edit the file /vxworks-6.9/target/usr/src/posix/pthreadLib.c // in the root of your Workbench-installation. // - 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 create a new VxWorks kernel // with the changed properties. That's it! Now, using boost should // no longer cause any problems with task deadlocks! // // And here's another useful piece of information concerning VxWorks' // POSIX-functionality in general: // VxWorks is not a genuine POSIX-OS in itself, rather it is using a // kind of compatibility layer (sort of a wrapper) to emulate the // POSIX-functionality by using its own resources and functions. // At the time a task (thread) calls it's first POSIX-function during // runtime it is being transformed by the OS into a POSIX-thread. // This transformation does include a call to malloc() to allocate the // memory required for the housekeeping of POSIX-threads. In a high // priority RTP this malloc() call may be highly undesirable, as its // timing is more or less unpredictable (depending on what your actual // heap looks like). You can circumvent this problem by calling the // function thread_self() at a well defined point in the code of the // task, e.g. shortly after the task spawns up. Thereby you are able // to define the time when the task-transformation will take place and // you could shift it to an uncritical point where a malloc() call is // tolerable. So, if this could pose a problem for your code, remember // to call thread_self() from the affected task at an early stage. // // ==================================================================== // 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" // Special behaviour for DKMs: #ifdef _WRS_KERNEL // DKMs 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 // 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... #define BOOST_LOCALE_WITH_ICU // 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 unavailable functionality, delivered by boost's test function: //#define BOOST_NO_DEDUCED_TYPENAME // Commented this out, boost's test gives an errorneous result! #define BOOST_NO_CXX11_EXTERN_TEMPLATE #define BOOST_NO_CXX11_VARIADIC_MACROS // 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 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 #endif // vxWorks doesn't work with asio serial ports: #define BOOST_ASIO_DISABLE_SERIAL_PORT // TODO: The problem here seems to bee that vxWorks uses its own, very specific // ways to handle serial ports, incompatible with POSIX or anything... // Maybe a specific implementation would be possible, but until the // straight need arises... This implementation would presumably consist // of some vxWorks specific ioctl-calls, etc. Any voluteers? // 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 errorneously, 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 // 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 #include #include // Use C-linkage for the following helper functions extern "C" { // 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. #ifdef __RTP__ 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); } // Fake symlink handling by dummy functions: inline int symlink(const char*, const char*){ // vxWorks has no symlinks -> always return an error! errno = EACCES; return -1; } inline ssize_t readlink(const char*, char*, size_t){ // vxWorks has no symlinks -> always return an error! errno = EACCES; return -1; } // vxWorks claims to implement gettimeofday in sys/time.h // but nevertheless does not provide it! See // https://support.windriver.com/olsPortal/faces/maintenance/techtipDetail_noHeader.jspx?docId=16442&contentId=WR_TECHTIP_006256 // We implement a surrogate version here via clock_gettime: 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; } // vxWorks does provide 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; } } // extern "C" // 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; using ::times; using ::gettimeofday; } // 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 #define getpagesize() sysconf(_SC_PAGESIZE) // getpagesize is deprecated anyway! #ifndef S_ISSOCK # define S_ISSOCK(mode) ((mode & S_IFMT) == S_IFSOCK) // Is file a socket? #endif #define lstat(p, b) stat(p, b) // lstat() == stat(), as vxWorks has no symlinks! #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 unpresent in vxWorks! // #include boilerplate code: #include // vxWorks lies about XSI conformance, there is no nl_types.h: #undef BOOST_HAS_NL_TYPES_H KWStyle-master/Utilities/boost/config/platform/win32.hpp000066400000000000000000000047551265471724600236070ustar00rootroot00000000000000// (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 #ifndef BOOST_DISABLE_WIN32 // WEK: Added #define BOOST_HAS_FTIME #define BOOST_WINDOWS 1 #endif KWStyle-master/Utilities/boost/config/posix_features.hpp000066400000000000000000000072301265471724600240500ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/config/requires_threads.hpp000066400000000000000000000066631265471724600243720ustar00rootroot00000000000000// (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 __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 KWStyle-master/Utilities/boost/config/select_compiler_config.hpp000066400000000000000000000113341265471724600255060ustar00rootroot00000000000000// 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(__CUDACC__) // when using clang and cuda at same time, you want to appear as gcc // 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 __GNUC__ // 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__) // IBM Visual Age # define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp" #elif defined(__PGI) // Portland Group Inc. # define BOOST_COMPILER_CONFIG "boost/config/compiler/pgi.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 "boost/config/compiler/gcc_xml.hpp" #include "boost/config/compiler/cray.hpp" #include "boost/config/compiler/comeau.hpp" #include "boost/config/compiler/pathscale.hpp" #include "boost/config/compiler/intel.hpp" #include "boost/config/compiler/clang.hpp" #include "boost/config/compiler/digitalmars.hpp" #include "boost/config/compiler/gcc.hpp" #include "boost/config/compiler/kai.hpp" #include "boost/config/compiler/sgi_mipspro.hpp" #include "boost/config/compiler/compaq_cxx.hpp" #include "boost/config/compiler/greenhills.hpp" #include "boost/config/compiler/codegear.hpp" #include "boost/config/compiler/borland.hpp" #include "boost/config/compiler/metrowerks.hpp" #include "boost/config/compiler/sunpro_cc.hpp" #include "boost/config/compiler/hp_acc.hpp" #include "boost/config/compiler/mpw.hpp" #include "boost/config/compiler/vacpp.hpp" #include "boost/config/compiler/pgi.hpp" #include "boost/config/compiler/visualc.hpp" #endif KWStyle-master/Utilities/boost/config/select_platform_config.hpp000066400000000000000000000101461265471724600255200ustar00rootroot00000000000000// 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(__IBMCPP__) || defined(_AIX) // IBM # 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" #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/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 KWStyle-master/Utilities/boost/config/select_stdlib_config.hpp000066400000000000000000000074501265471724600251610ustar00rootroot00000000000000// 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 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.) #ifdef __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__) // 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/vacpp.hpp" # include "boost/config/stdlib/modena.hpp" # include "boost/config/stdlib/dinkumware.hpp" #endif KWStyle-master/Utilities/boost/config/stdlib/000077500000000000000000000000001265471724600215565ustar00rootroot00000000000000KWStyle-master/Utilities/boost/config/stdlib/dinkumware.hpp000066400000000000000000000143061265471724600244410ustar00rootroot00000000000000// (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(__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(__BORLANDC__) # define BOOST_STD_EXTENSION_NAMESPACE stdext #endif #if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(__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 // 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 && ((defined(BOOST_MSVC) && BOOST_MSVC >= 1400) || (defined(__clang__) && defined(_MSC_VER))) #include #endif #include #if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) ) && !defined(__TI_COMPILER_VERSION__) && !defined(__VISUALDSPVERSION__) # 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 #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 #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 // # define BOOST_NO_CXX11_ADDRESSOF #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 KWStyle-master/Utilities/boost/config/stdlib/libcomo.hpp000066400000000000000000000044311265471724600237150ustar00rootroot00000000000000// (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_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_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 // // 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__) KWStyle-master/Utilities/boost/config/stdlib/libcpp.hpp000066400000000000000000000042321265471724600235410ustar00rootroot00000000000000// (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 #endif #if __cplusplus < 201103 # define BOOST_NO_CXX11_HDR_ARRAY # 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_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_SMART_PTR # define BOOST_NO_CXX11_HDR_FUNCTIONAL # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF #endif // // These appear to be unusable/incomplete so far: // # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_TYPE_TRAITS # define BOOST_NO_CXX11_ATOMIC_SMART_PTR # define BOOST_NO_CXX11_HDR_ATOMIC // libc++ uses a non-standard messages_base #define BOOST_NO_STD_MESSAGES // --- end --- KWStyle-master/Utilities/boost/config/stdlib/libstdcpp3.hpp000066400000000000000000000223431265471724600243420ustar00rootroot00000000000000// (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 #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 // // 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 // stdlibc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly // __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the stdlibc++ // 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 stdlibc++ 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 50000 #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 // // 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__ // #define BOOST_LIBSTDCXX_VERSION 40800 #endif #if !defined(BOOST_LIBSTDCXX_VERSION) # define BOOST_LIBSTDCXX_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) #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 #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 #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 truely conforming one. # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_ALLOCATOR #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 #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 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 headers not yet (fully!) implemented // # 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 // // Headers not present on Solaris with the Oracle compiler: #if defined(__SUNPRO_CC) #define BOOST_NO_CXX11_HDR_FUTURE #define BOOST_NO_CXX11_HDR_FORWARD_LIST #define BOOST_NO_CXX11_HDR_ATOMIC #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 #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 --- KWStyle-master/Utilities/boost/config/stdlib/modena.hpp000066400000000000000000000033041265471724600235320ustar00rootroot00000000000000// (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_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_STDLIB "Modena C++ standard library" KWStyle-master/Utilities/boost/config/stdlib/msl.hpp000066400000000000000000000044371265471724600230720ustar00rootroot00000000000000// (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_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_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__) KWStyle-master/Utilities/boost/config/stdlib/roguewave.hpp000066400000000000000000000131741265471724600243010ustar00rootroot00000000000000// (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 __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_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 KWStyle-master/Utilities/boost/config/stdlib/sgi.hpp000066400000000000000000000107211265471724600230520ustar00rootroot00000000000000// (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_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_STDLIB "SGI standard library" KWStyle-master/Utilities/boost/config/stdlib/stlport.hpp000066400000000000000000000176141265471724600240070ustar00rootroot00000000000000// (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(__BORLANDC__) # define BOOST_NO_STD_LOCALE # endif #else # if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__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(__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(__BORLANDC__) && __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(__BORLANDC__) && (__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_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_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT) KWStyle-master/Utilities/boost/config/stdlib/vacpp.hpp000066400000000000000000000035461265471724600234100ustar00rootroot00000000000000// (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_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_STDLIB "Visual Age default standard library" KWStyle-master/Utilities/boost/config/suffix.hpp000066400000000000000000001054371265471724600223240ustar00rootroot00000000000000// 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 symplifying 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(__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. #ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION # define BOOST_UNREACHABLE_RETURN(x) return x; #else # define BOOST_UNREACHABLE_RETURN(x) #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 // 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: #if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus) #include namespace std{ using ::type_info; } #endif // ---------------------------------------------------------------------------// // // 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 // // 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_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__) # define BOOST_NORETURN __attribute__ ((__noreturn__)) # else # define BOOST_NO_NORETURN # define BOOST_NORETURN # endif #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 // Type and data alignment specification // #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 // 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 // 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 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 // // Unused variable/typedef workarounds: // #ifndef BOOST_ATTRIBUTE_UNUSED # define BOOST_ATTRIBUTE_UNUSED #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 // // 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 KWStyle-master/Utilities/boost/config/user.hpp000066400000000000000000000123671265471724600217750ustar00rootroot00000000000000// 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 KWStyle-master/Utilities/boost/config/warning_disable.hpp000066400000000000000000000034341265471724600241420ustar00rootroot00000000000000// 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 KWStyle-master/Utilities/boost/core/000077500000000000000000000000001265471724600177605ustar00rootroot00000000000000KWStyle-master/Utilities/boost/core/addressof.hpp000066400000000000000000000065541265471724600224550ustar00rootroot00000000000000// Copyright (C) 2002 Brad King (brad.king@kitware.com) // Douglas Gregor (gregod@cs.rpi.edu) // // Copyright (C) 2002, 2008, 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) // For more information, see http://www.boost.org #ifndef BOOST_CORE_ADDRESSOF_HPP #define BOOST_CORE_ADDRESSOF_HPP # include # include # include namespace boost { namespace detail { template struct addr_impl_ref { T & v_; BOOST_FORCEINLINE addr_impl_ref( T & v ): v_( v ) {} BOOST_FORCEINLINE operator T& () const { return v_; } private: addr_impl_ref & operator=(const addr_impl_ref &); }; template struct addressof_impl { static BOOST_FORCEINLINE T * f( T & v, long ) { return reinterpret_cast( &const_cast(reinterpret_cast(v))); } static BOOST_FORCEINLINE T * f( T * v, int ) { return v; } }; #if !defined( BOOST_NO_CXX11_NULLPTR ) #if !defined( BOOST_NO_CXX11_DECLTYPE ) && ( ( defined( __clang__ ) && !defined( _LIBCPP_VERSION ) ) || defined( __INTEL_COMPILER ) ) typedef decltype(nullptr) addr_nullptr_t; #else typedef std::nullptr_t addr_nullptr_t; #endif template<> struct addressof_impl< addr_nullptr_t > { typedef addr_nullptr_t T; static BOOST_FORCEINLINE T * f( T & v, int ) { return &v; } }; template<> struct addressof_impl< addr_nullptr_t const > { typedef addr_nullptr_t const T; static BOOST_FORCEINLINE T * f( T & v, int ) { return &v; } }; template<> struct addressof_impl< addr_nullptr_t volatile > { typedef addr_nullptr_t volatile T; static BOOST_FORCEINLINE T * f( T & v, int ) { return &v; } }; template<> struct addressof_impl< addr_nullptr_t const volatile > { typedef addr_nullptr_t const volatile T; static BOOST_FORCEINLINE T * f( T & v, int ) { return &v; } }; #endif } // namespace detail template BOOST_FORCEINLINE T * addressof( T & v ) { #if (defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x610 ) ) ) || (defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x5120)) return boost::detail::addressof_impl::f( v, 0 ); #else return boost::detail::addressof_impl::f( boost::detail::addr_impl_ref( v ), 0 ); #endif } #if defined( __SUNPRO_CC ) && BOOST_WORKAROUND( __SUNPRO_CC, BOOST_TESTED_AT( 0x590 ) ) namespace detail { template struct addressof_addp { typedef T * type; }; } // namespace detail template< class T, std::size_t N > BOOST_FORCEINLINE typename detail::addressof_addp< T[N] >::type addressof( T (&t)[N] ) { return &t; } #endif // Borland doesn't like casting an array reference to a char reference // but these overloads work around the problem. #if defined( __BORLANDC__ ) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) template BOOST_FORCEINLINE T (*addressof(T (&t)[N]))[N] { return reinterpret_cast(&t); } template BOOST_FORCEINLINE const T (*addressof(const T (&t)[N]))[N] { return reinterpret_cast(&t); } #endif } // namespace boost #endif // BOOST_CORE_ADDRESSOF_HPP KWStyle-master/Utilities/boost/core/checked_delete.hpp000066400000000000000000000030641265471724600234040ustar00rootroot00000000000000#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 // // 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) { // intentionally complex - simplification causes regressions typedef char type_must_be_complete[ sizeof(T)? 1: -1 ]; (void) sizeof(type_must_be_complete); delete x; } template inline void checked_array_delete(T * x) { typedef char type_must_be_complete[ sizeof(T)? 1: -1 ]; (void) sizeof(type_must_be_complete); delete [] x; } template struct checked_deleter { typedef void result_type; typedef T * argument_type; void operator()(T * x) const { // 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::checked_array_delete(x); } }; } // namespace boost #endif // #ifndef BOOST_CORE_CHECKED_DELETE_HPP KWStyle-master/Utilities/boost/core/demangle.hpp000066400000000000000000000045551265471724600222560ustar00rootroot00000000000000#ifndef BOOST_CORE_DEMANGLE_HPP_INCLUDED #define BOOST_CORE_DEMANGLE_HPP_INCLUDED // core::demangle // // Copyright 2014 Peter Dimov // Copyright 2014 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 #include #include #if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #if defined( __clang__ ) && defined( __has_include ) # if __has_include() # define BOOST_CORE_HAS_CXXABI_H # endif #elif defined( __GLIBCXX__ ) || defined( __GLIBCPP__ ) # define BOOST_CORE_HAS_CXXABI_H #endif #if defined( BOOST_CORE_HAS_CXXABI_H ) # include # include # include #endif namespace boost { namespace core { inline char const * demangle_alloc( char const * name ) BOOST_NOEXCEPT; inline void demangle_free( char const * name ) BOOST_NOEXCEPT; class scoped_demangled_name { private: char const * m_p; public: explicit scoped_demangled_name( char const * name ) BOOST_NOEXCEPT : m_p( demangle_alloc( name ) ) { } ~scoped_demangled_name() BOOST_NOEXCEPT { demangle_free( m_p ); } char const * get() const BOOST_NOEXCEPT { return m_p; } BOOST_DELETED_FUNCTION(scoped_demangled_name( scoped_demangled_name const& )) BOOST_DELETED_FUNCTION(scoped_demangled_name& operator= ( scoped_demangled_name const& )) }; #if defined( BOOST_CORE_HAS_CXXABI_H ) inline char const * demangle_alloc( char const * name ) BOOST_NOEXCEPT { int status = 0; std::size_t size = 0; return abi::__cxa_demangle( name, NULL, &size, &status ); } inline void demangle_free( char const * name ) BOOST_NOEXCEPT { std::free( const_cast< char* >( name ) ); } inline std::string demangle( char const * name ) { scoped_demangled_name demangled_name( name ); char const * const p = demangled_name.get(); if( p ) { return p; } else { return name; } } #else inline char const * demangle_alloc( char const * name ) BOOST_NOEXCEPT { return name; } inline void demangle_free( char const * ) BOOST_NOEXCEPT { } inline std::string demangle( char const * name ) { return name; } #endif } // namespace core } // namespace boost #undef BOOST_CORE_HAS_CXXABI_H #endif // #ifndef BOOST_CORE_DEMANGLE_HPP_INCLUDED KWStyle-master/Utilities/boost/core/enable_if.hpp000066400000000000000000000060301265471724600223740ustar00rootroot00000000000000// 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_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_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 KWStyle-master/Utilities/boost/core/explicit_operator_bool.hpp000066400000000000000000000120571265471724600252450ustar00rootroot00000000000000/* * 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 #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! ();\ } /*! * \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 // !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 KWStyle-master/Utilities/boost/core/ignore_unused.hpp000066400000000000000000000030541265471724600233410ustar00rootroot00000000000000// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland. // // 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 BOOST_CORE_IGNORE_UNUSED_HPP #define BOOST_CORE_IGNORE_UNUSED_HPP #include namespace boost { #ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES template inline void ignore_unused(Ts const& ...) {} template inline void ignore_unused() {} #else template inline void ignore_unused(T1 const&) {} template inline void ignore_unused(T1 const&, T2 const&) {} template inline void ignore_unused(T1 const&, T2 const&, T3 const&) {} template inline void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&) {} template inline void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&, T5 const&) {} template inline void ignore_unused() {} template inline void ignore_unused() {} template inline void ignore_unused() {} template inline void ignore_unused() {} template inline void ignore_unused() {} #endif } // namespace boost #endif // BOOST_CORE_IGNORE_UNUSED_HPP KWStyle-master/Utilities/boost/core/is_same.hpp000066400000000000000000000014311265471724600221100ustar00rootroot00000000000000#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 KWStyle-master/Utilities/boost/core/lightweight_test.hpp000066400000000000000000000122231265471724600240470ustar00rootroot00000000000000#ifndef BOOST_CORE_LIGHTWEIGHT_TEST_HPP #define BOOST_CORE_LIGHTWEIGHT_TEST_HPP // MS compatible compilers support #pragma once #if defined(_MSC_VER) # pragma once #endif // // boost/core/lightweight_test.hpp - lightweight test library // // Copyright (c) 2002, 2009, 2014 Peter Dimov // Copyright (2) Beman Dawes 2010, 2011 // Copyright (3) Ion Gaztanaga 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 // #include #include #include #include // IDE's like Visual Studio perform better if output goes to std::cout or // some other stream, so allow user to configure output stream: #ifndef BOOST_LIGHTWEIGHT_TEST_OSTREAM # define BOOST_LIGHTWEIGHT_TEST_OSTREAM std::cerr #endif namespace boost { namespace detail { struct report_errors_reminder { bool called_report_errors_function; report_errors_reminder() : called_report_errors_function(false) {} ~report_errors_reminder() { BOOST_ASSERT(called_report_errors_function); // verify report_errors() was called } }; inline report_errors_reminder& report_errors_remind() { static report_errors_reminder r; return r; } inline int & test_errors() { static int x = 0; report_errors_remind(); return x; } inline void test_failed_impl(char const * expr, char const * file, int line, char const * function) { BOOST_LIGHTWEIGHT_TEST_OSTREAM << file << "(" << line << "): test '" << expr << "' failed in function '" << function << "'" << std::endl; ++test_errors(); } inline void error_impl(char const * msg, char const * file, int line, char const * function) { BOOST_LIGHTWEIGHT_TEST_OSTREAM << file << "(" << line << "): " << msg << " in function '" << function << "'" << std::endl; ++test_errors(); } inline void throw_failed_impl(char const * excep, char const * file, int line, char const * function) { BOOST_LIGHTWEIGHT_TEST_OSTREAM << file << "(" << line << "): Exception '" << excep << "' not thrown in function '" << function << "'" << std::endl; ++test_errors(); } template inline void test_eq_impl( char const * expr1, char const * expr2, char const * file, int line, char const * function, T const & t, U const & u ) { if( t == u ) { report_errors_remind(); } else { BOOST_LIGHTWEIGHT_TEST_OSTREAM << file << "(" << line << "): test '" << expr1 << " == " << expr2 << "' failed in function '" << function << "': " << "'" << t << "' != '" << u << "'" << std::endl; ++test_errors(); } } template inline void test_ne_impl( char const * expr1, char const * expr2, char const * file, int line, char const * function, T const & t, U const & u ) { if( t != u ) { report_errors_remind(); } else { BOOST_LIGHTWEIGHT_TEST_OSTREAM << file << "(" << line << "): test '" << expr1 << " != " << expr2 << "' failed in function '" << function << "': " << "'" << t << "' == '" << u << "'" << std::endl; ++test_errors(); } } } // namespace detail inline int report_errors() { boost::detail::report_errors_remind().called_report_errors_function = true; int errors = boost::detail::test_errors(); if( errors == 0 ) { BOOST_LIGHTWEIGHT_TEST_OSTREAM << "No errors detected." << std::endl; return 0; } else { BOOST_LIGHTWEIGHT_TEST_OSTREAM << errors << " error" << (errors == 1? "": "s") << " detected." << std::endl; return 1; } } } // namespace boost #define BOOST_TEST(expr) ((expr)? (void)0: ::boost::detail::test_failed_impl(#expr, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION)) #define BOOST_ERROR(msg) ( ::boost::detail::error_impl(msg, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION) ) #define BOOST_TEST_EQ(expr1,expr2) ( ::boost::detail::test_eq_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) ) #define BOOST_TEST_NE(expr1,expr2) ( ::boost::detail::test_ne_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) ) #ifndef BOOST_NO_EXCEPTIONS #define BOOST_TEST_THROWS( EXPR, EXCEP ) \ try { \ EXPR; \ ::boost::detail::throw_failed_impl \ (#EXCEP, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION); \ } \ catch(EXCEP const&) { \ } \ catch(...) { \ ::boost::detail::throw_failed_impl \ (#EXCEP, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION); \ } \ // #else #define BOOST_TEST_THROWS( EXPR, EXCEP ) #endif #endif // #ifndef BOOST_CORE_LIGHTWEIGHT_TEST_HPP KWStyle-master/Utilities/boost/core/lightweight_test_trait.hpp000066400000000000000000000031131265471724600252500ustar00rootroot00000000000000#ifndef BOOST_CORE_LIGHTWEIGHT_TEST_TRAIT_HPP #define BOOST_CORE_LIGHTWEIGHT_TEST_TRAIT_HPP // MS compatible compilers support #pragma once #if defined(_MSC_VER) # pragma once #endif // boost/core/lightweight_test_trait.hpp // // BOOST_TEST_TRAIT_TRUE, BOOST_TEST_TRAIT_FALSE // // 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 #include namespace boost { namespace detail { template< class T > inline void test_trait_impl( char const * trait, void (*)( T ), bool expected, char const * file, int line, char const * function ) { if( T::value == expected ) { report_errors_remind(); } else { BOOST_LIGHTWEIGHT_TEST_OSTREAM << file << "(" << line << "): predicate '" << trait << "' [" << boost::core::demangled_name( BOOST_CORE_TYPEID(T) ) << "]" << " test failed in function '" << function << "' (should have been " << ( expected? "true": "false" ) << ")" << std::endl; ++test_errors(); } } } // namespace detail } // namespace boost #define BOOST_TEST_TRAIT_TRUE(type) ( ::boost::detail::test_trait_impl(#type, (void(*)type)0, true, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION) ) #define BOOST_TEST_TRAIT_FALSE(type) ( ::boost::detail::test_trait_impl(#type, (void(*)type)0, false, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION) ) #endif // #ifndef BOOST_CORE_LIGHTWEIGHT_TEST_TRAIT_HPP KWStyle-master/Utilities/boost/core/no_exceptions_support.hpp000066400000000000000000000025561265471724600251520ustar00rootroot00000000000000#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(__BORLANDC__, BOOST_TESTED_AT(0x564)) # define BOOST_TRY { if ("") # define BOOST_CATCH(x) else if (!"") # else # define BOOST_TRY { if (true) # define BOOST_CATCH(x) else if (false) # endif # define BOOST_RETHROW # define BOOST_CATCH_END } #endif #endif KWStyle-master/Utilities/boost/core/noncopyable.hpp000066400000000000000000000025621265471724600230070ustar00rootroot00000000000000// 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 { class noncopyable { 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 KWStyle-master/Utilities/boost/core/null_deleter.hpp000066400000000000000000000023201265471724600231440ustar00rootroot00000000000000/* * Copyright Andrey Semashev 2007 - 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) */ /*! * \file null_deleter.hpp * \author Andrey Semashev * \date 22.04.2007 * * This header contains a \c null_deleter implementation. This is an empty * function object that receives a pointer and does nothing with it. * Such empty deletion strategy may be convenient, for example, when * constructing shared_ptrs that point to some object that should not be * deleted (i.e. a variable on the stack or some global singleton, like std::cout). */ #ifndef BOOST_CORE_NULL_DELETER_HPP #define BOOST_CORE_NULL_DELETER_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { //! A function object that does nothing and can be used as an empty deleter for \c shared_ptr struct null_deleter { //! Function object result type typedef void result_type; /*! * Does nothing */ template< typename T > void operator() (T*) const BOOST_NOEXCEPT {} }; } // namespace boost #endif // BOOST_CORE_NULL_DELETER_HPP KWStyle-master/Utilities/boost/core/ref.hpp000066400000000000000000000135261265471724600212540ustar00rootroot00000000000000#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 // glenfe at live dot 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( __BORLANDC__ ) && BOOST_WORKAROUND( __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 KWStyle-master/Utilities/boost/core/scoped_enum.hpp000066400000000000000000000163121265471724600227750ustar00rootroot00000000000000// scoped_enum.hpp ---------------------------------------------------------// // Copyright Beman Dawes, 2009 // Copyright (C) 2011-2012 Vicente J. Botet Escriba // Copyright (C) 2012 Anthony Williams // Distributed under the Boost Software License, Version 1.0. // See http://www.boost.org/LICENSE_1_0.txt #ifndef BOOST_CORE_SCOPED_ENUM_HPP #define BOOST_CORE_SCOPED_ENUM_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { #ifdef BOOST_NO_CXX11_SCOPED_ENUMS /** * Meta-function to get the native enum type associated to an enum class or its emulation. */ template struct native_type { /** * The member typedef type names the native enum type associated to the scoped enum, * which is it self if the compiler supports scoped enums or EnumType::enum_type if it is an emulated scoped enum. */ typedef typename EnumType::enum_type type; }; /** * Casts a scoped enum to its underlying type. * * This function is useful when working with scoped enum classes, which doens't implicitly convert to the underlying type. * @param v A scoped enum. * @returns The underlying type. * @throws No-throws. */ template UnderlyingType underlying_cast(EnumType v) { return v.get_underlying_value_(); } /** * Casts a scoped enum to its native enum type. * * This function is useful to make programs portable when the scoped enum emulation can not be use where native enums can. * * EnumType the scoped enum type * * @param v A scoped enum. * @returns The native enum value. * @throws No-throws. */ template inline typename EnumType::enum_type native_value(EnumType e) { return e.get_native_value_(); } #else // BOOST_NO_CXX11_SCOPED_ENUMS template struct native_type { typedef EnumType type; }; template UnderlyingType underlying_cast(EnumType v) { return static_cast(v); } template inline EnumType native_value(EnumType e) { return e; } #endif // BOOST_NO_CXX11_SCOPED_ENUMS } #ifdef BOOST_NO_CXX11_SCOPED_ENUMS #ifndef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS #define BOOST_SCOPED_ENUM_UT_DECLARE_CONVERSION_OPERATOR \ explicit operator underlying_type() const BOOST_NOEXCEPT { return get_underlying_value_(); } #else #define BOOST_SCOPED_ENUM_UT_DECLARE_CONVERSION_OPERATOR #endif /** * Start a declaration of a scoped enum. * * @param EnumType The new scoped enum. * @param UnderlyingType The underlying type. */ #define BOOST_SCOPED_ENUM_UT_DECLARE_BEGIN(EnumType, UnderlyingType) \ struct EnumType { \ typedef void is_boost_scoped_enum_tag; \ typedef UnderlyingType underlying_type; \ EnumType() BOOST_NOEXCEPT {} \ explicit EnumType(underlying_type v) BOOST_NOEXCEPT : v_(v) {} \ underlying_type get_underlying_value_() const BOOST_NOEXCEPT { return v_; } \ BOOST_SCOPED_ENUM_UT_DECLARE_CONVERSION_OPERATOR \ private: \ underlying_type v_; \ typedef EnumType self_type; \ public: \ enum enum_type #define BOOST_SCOPED_ENUM_DECLARE_END2() \ enum_type get_native_value_() const BOOST_NOEXCEPT { return enum_type(v_); } \ friend bool operator ==(self_type lhs, self_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)==enum_type(rhs.v_); } \ friend bool operator ==(self_type lhs, enum_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)==rhs; } \ friend bool operator ==(enum_type lhs, self_type rhs) BOOST_NOEXCEPT { return lhs==enum_type(rhs.v_); } \ friend bool operator !=(self_type lhs, self_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)!=enum_type(rhs.v_); } \ friend bool operator !=(self_type lhs, enum_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)!=rhs; } \ friend bool operator !=(enum_type lhs, self_type rhs) BOOST_NOEXCEPT { return lhs!=enum_type(rhs.v_); } \ friend bool operator <(self_type lhs, self_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)(self_type lhs, self_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)>enum_type(rhs.v_); } \ friend bool operator >(self_type lhs, enum_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)>rhs; } \ friend bool operator >(enum_type lhs, self_type rhs) BOOST_NOEXCEPT { return lhs>enum_type(rhs.v_); } \ friend bool operator >=(self_type lhs, self_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)>=enum_type(rhs.v_); } \ friend bool operator >=(self_type lhs, enum_type rhs) BOOST_NOEXCEPT { return enum_type(lhs.v_)>=rhs; } \ friend bool operator >=(enum_type lhs, self_type rhs) BOOST_NOEXCEPT { return lhs>=enum_type(rhs.v_); } \ }; #define BOOST_SCOPED_ENUM_DECLARE_END(EnumType) \ ; \ EnumType(enum_type v) BOOST_NOEXCEPT : v_(v) {} \ BOOST_SCOPED_ENUM_DECLARE_END2() /** * Starts a declaration of a scoped enum with the default int underlying type. * * @param EnumType The new scoped enum. */ #define BOOST_SCOPED_ENUM_DECLARE_BEGIN(EnumType) \ BOOST_SCOPED_ENUM_UT_DECLARE_BEGIN(EnumType,int) /** * Name of the native enum type. * * @param EnumType The new scoped enum. */ #define BOOST_SCOPED_ENUM_NATIVE(EnumType) EnumType::enum_type /** * Forward declares an scoped enum. * * @param EnumType The scoped enum. */ #define BOOST_SCOPED_ENUM_FORWARD_DECLARE(EnumType) struct EnumType #else // BOOST_NO_CXX11_SCOPED_ENUMS #define BOOST_SCOPED_ENUM_UT_DECLARE_BEGIN(EnumType,UnderlyingType) enum class EnumType : UnderlyingType #define BOOST_SCOPED_ENUM_DECLARE_BEGIN(EnumType) enum class EnumType #define BOOST_SCOPED_ENUM_DECLARE_END2() #define BOOST_SCOPED_ENUM_DECLARE_END(EnumType) ; #define BOOST_SCOPED_ENUM_NATIVE(EnumType) EnumType #define BOOST_SCOPED_ENUM_FORWARD_DECLARE(EnumType) enum class EnumType #endif // BOOST_NO_CXX11_SCOPED_ENUMS // Deprecated macros #define BOOST_SCOPED_ENUM_START(name) BOOST_SCOPED_ENUM_DECLARE_BEGIN(name) #define BOOST_SCOPED_ENUM_END BOOST_SCOPED_ENUM_DECLARE_END2() #define BOOST_SCOPED_ENUM(name) BOOST_SCOPED_ENUM_NATIVE(name) #endif // BOOST_CORE_SCOPED_ENUM_HPP KWStyle-master/Utilities/boost/core/swap.hpp000066400000000000000000000032761265471724600214530ustar00rootroot00000000000000// 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 //for std::swap (C++11) #include //for std::swap (C++98) #include //for std::size_t #include namespace boost_swap_impl { 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 void swap(T1& left, T2& right) { ::boost_swap_impl::swap_impl(left, right); } } #endif KWStyle-master/Utilities/boost/core/typeinfo.hpp000066400000000000000000000052431265471724600223320ustar00rootroot00000000000000#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 namespace boost { namespace core { class typeinfo { private: typeinfo( typeinfo const& ); typeinfo& operator=( typeinfo const& ); char const * name_; public: explicit typeinfo( char const * name ): name_( name ) { } bool operator==( typeinfo const& rhs ) const { return this == &rhs; } bool operator!=( typeinfo const& rhs ) const { return this != &rhs; } bool before( typeinfo const& rhs ) const { return std::less< typeinfo const* >()( this, &rhs ); } char const* name() const { return name_; } }; inline char const * demangled_name( core::typeinfo const & ti ) { return ti.name(); } } // namespace core namespace detail { template struct core_typeid_ { static boost::core::typeinfo ti_; static char const * name() { return BOOST_CURRENT_FUNCTION; } }; #if defined(__SUNPRO_CC) // see #4199, the Sun Studio compiler gets confused about static initialization // constructor arguments. But an assignment works just fine. template boost::core::typeinfo core_typeid_< T >::ti_ = core_typeid_< T >::name(); #else template boost::core::typeinfo core_typeid_< T >::ti_(core_typeid_< T >::name()); #endif 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 KWStyle-master/Utilities/boost/core/underlying_type.hpp000066400000000000000000000042351265471724600237160ustar00rootroot00000000000000// 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 KWStyle-master/Utilities/boost/crc.hpp000066400000000000000000001011351265471724600203110ustar00rootroot00000000000000// Boost CRC library crc.hpp header file -----------------------------------// // Copyright 2001, 2004 Daryle Walker. Use, modification, and distribution are // subject to the Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or a copy at .) // See for the library's home page. #ifndef BOOST_CRC_HPP #define BOOST_CRC_HPP #include // for BOOST_STATIC_CONSTANT, etc. #include // for boost::uint_t #include // for CHAR_BIT, etc. #include // for std::size_t #include // for std::numeric_limits // The type of CRC parameters that can go in a template should be related // on the CRC's bit count. This macro expresses that type in a compact // form, but also allows an alternate type for compilers that don't support // dependent types (in template value-parameters). #if !(defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) || (defined(BOOST_MSVC) && (BOOST_MSVC <= 1300))) #define BOOST_CRC_PARM_TYPE typename ::boost::uint_t::fast #else #define BOOST_CRC_PARM_TYPE unsigned long #endif // Some compilers [MS VC++ 6] cannot correctly set up several versions of a // function template unless every template argument can be unambiguously // deduced from the function arguments. (The bug is hidden if only one version // is needed.) Since all of the CRC function templates have this problem, the // workaround is to make up a dummy function argument that encodes the template // arguments. Calls to such template functions need all their template // arguments explicitly specified. At least one compiler that needs this // workaround also needs the default value for the dummy argument to be // specified in the definition. #if defined(__GNUC__) || !defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) #define BOOST_CRC_DUMMY_PARM_TYPE #define BOOST_CRC_DUMMY_INIT #define BOOST_ACRC_DUMMY_PARM_TYPE #define BOOST_ACRC_DUMMY_INIT #else namespace boost { namespace detail { template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > struct dummy_crc_argument { }; } } #define BOOST_CRC_DUMMY_PARM_TYPE , detail::dummy_crc_argument *p_ #define BOOST_CRC_DUMMY_INIT BOOST_CRC_DUMMY_PARM_TYPE = 0 #define BOOST_ACRC_DUMMY_PARM_TYPE , detail::dummy_crc_argument *p_ #define BOOST_ACRC_DUMMY_INIT BOOST_ACRC_DUMMY_PARM_TYPE = 0 #endif namespace boost { // Forward declarations ----------------------------------------------------// template < std::size_t Bits > class crc_basic; template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly = 0u, BOOST_CRC_PARM_TYPE InitRem = 0u, BOOST_CRC_PARM_TYPE FinalXor = 0u, bool ReflectIn = false, bool ReflectRem = false > class crc_optimal; template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > typename uint_t::fast crc( void const *buffer, std::size_t byte_count BOOST_CRC_DUMMY_PARM_TYPE ); template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly > typename uint_t::fast augmented_crc( void const *buffer, std::size_t byte_count, typename uint_t::fast initial_remainder BOOST_ACRC_DUMMY_PARM_TYPE ); template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly > typename uint_t::fast augmented_crc( void const *buffer, std::size_t byte_count BOOST_ACRC_DUMMY_PARM_TYPE ); typedef crc_optimal<16, 0x8005, 0, 0, true, true> crc_16_type; typedef crc_optimal<16, 0x1021, 0xFFFF, 0, false, false> crc_ccitt_type; typedef crc_optimal<16, 0x8408, 0, 0, true, true> crc_xmodem_type; typedef crc_optimal<32, 0x04C11DB7, 0xFFFFFFFF, 0xFFFFFFFF, true, true> crc_32_type; // Forward declarations for implementation detail stuff --------------------// // (Just for the stuff that will be needed for the next two sections) namespace detail { template < std::size_t Bits > struct mask_uint_t; template < > struct mask_uint_t< std::numeric_limits::digits >; #if USHRT_MAX > UCHAR_MAX template < > struct mask_uint_t< std::numeric_limits::digits >; #endif #if UINT_MAX > USHRT_MAX template < > struct mask_uint_t< std::numeric_limits::digits >; #endif #if ULONG_MAX > UINT_MAX template < > struct mask_uint_t< std::numeric_limits::digits >; #endif template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, bool Reflect > struct crc_table_t; template < std::size_t Bits, bool DoReflect > class crc_helper; #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION template < std::size_t Bits > class crc_helper< Bits, false >; #endif } // namespace detail // Simple cyclic redundancy code (CRC) class declaration -------------------// template < std::size_t Bits > class crc_basic { // Implementation type typedef detail::mask_uint_t masking_type; public: // Type typedef typename masking_type::least value_type; // Constant for the template parameter BOOST_STATIC_CONSTANT( std::size_t, bit_count = Bits ); // Constructor explicit crc_basic( value_type truncated_polynominal, value_type initial_remainder = 0, value_type final_xor_value = 0, bool reflect_input = false, bool reflect_remainder = false ); // Internal Operations value_type get_truncated_polynominal() const; value_type get_initial_remainder() const; value_type get_final_xor_value() const; bool get_reflect_input() const; bool get_reflect_remainder() const; value_type get_interim_remainder() const; void reset( value_type new_rem ); void reset(); // External Operations void process_bit( bool bit ); void process_bits( unsigned char bits, std::size_t bit_count ); void process_byte( unsigned char byte ); void process_block( void const *bytes_begin, void const *bytes_end ); void process_bytes( void const *buffer, std::size_t byte_count ); value_type checksum() const; private: // Member data value_type rem_; value_type poly_, init_, final_; // non-const to allow assignability bool rft_in_, rft_out_; // non-const to allow assignability }; // boost::crc_basic // Optimized cyclic redundancy code (CRC) class declaration ----------------// template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > class crc_optimal { // Implementation type typedef detail::mask_uint_t masking_type; public: // Type typedef typename masking_type::fast value_type; // Constants for the template parameters BOOST_STATIC_CONSTANT( std::size_t, bit_count = Bits ); BOOST_STATIC_CONSTANT( value_type, truncated_polynominal = TruncPoly ); BOOST_STATIC_CONSTANT( value_type, initial_remainder = InitRem ); BOOST_STATIC_CONSTANT( value_type, final_xor_value = FinalXor ); BOOST_STATIC_CONSTANT( bool, reflect_input = ReflectIn ); BOOST_STATIC_CONSTANT( bool, reflect_remainder = ReflectRem ); // Constructor explicit crc_optimal( value_type init_rem = InitRem ); // Internal Operations value_type get_truncated_polynominal() const; value_type get_initial_remainder() const; value_type get_final_xor_value() const; bool get_reflect_input() const; bool get_reflect_remainder() const; value_type get_interim_remainder() const; void reset( value_type new_rem = InitRem ); // External Operations void process_byte( unsigned char byte ); void process_block( void const *bytes_begin, void const *bytes_end ); void process_bytes( void const *buffer, std::size_t byte_count ); value_type checksum() const; // Operators void operator ()( unsigned char byte ); value_type operator ()() const; private: // The implementation of output reflection depends on both reflect states. BOOST_STATIC_CONSTANT( bool, reflect_output = (ReflectRem != ReflectIn) ); #ifndef __BORLANDC__ #define BOOST_CRC_REF_OUT_VAL reflect_output #else typedef crc_optimal self_type; #define BOOST_CRC_REF_OUT_VAL (self_type::reflect_output) #endif // More implementation types typedef detail::crc_table_t crc_table_type; typedef detail::crc_helper helper_type; typedef detail::crc_helper reflect_out_type; #undef BOOST_CRC_REF_OUT_VAL // Member data value_type rem_; }; // boost::crc_optimal // Implementation detail stuff ---------------------------------------------// namespace detail { // Forward declarations for more implementation details template < std::size_t Bits > struct high_uint_t; template < std::size_t Bits > struct reflector; // Traits class for mask; given the bit number // (1-based), get the mask for that bit by itself. template < std::size_t Bits > struct high_uint_t : boost::uint_t< Bits > { typedef boost::uint_t base_type; typedef typename base_type::least least; typedef typename base_type::fast fast; #if defined(__EDG_VERSION__) && __EDG_VERSION__ <= 243 static const least high_bit = 1ul << ( Bits - 1u ); static const fast high_bit_fast = 1ul << ( Bits - 1u ); #else BOOST_STATIC_CONSTANT( least, high_bit = (least( 1u ) << ( Bits - 1u )) ); BOOST_STATIC_CONSTANT( fast, high_bit_fast = (fast( 1u ) << ( Bits - 1u )) ); #endif }; // boost::detail::high_uint_t // Reflection routine class wrapper // (since MS VC++ 6 couldn't handle the unwrapped version) template < std::size_t Bits > struct reflector { typedef typename boost::uint_t::fast value_type; static value_type reflect( value_type x ); }; // boost::detail::reflector // Function that reflects its argument template < std::size_t Bits > typename reflector::value_type reflector::reflect ( typename reflector::value_type x ) { value_type reflection = 0; value_type const one = 1; for ( std::size_t i = 0 ; i < Bits ; ++i, x >>= 1 ) { if ( x & one ) { reflection |= ( one << (Bits - 1u - i) ); } } return reflection; } // Traits class for masks; given the bit number (1-based), // get the mask for that bit and its lower bits. template < std::size_t Bits > struct mask_uint_t : high_uint_t< Bits > { typedef high_uint_t base_type; typedef typename base_type::least least; typedef typename base_type::fast fast; #ifndef __BORLANDC__ using base_type::high_bit; using base_type::high_bit_fast; #else BOOST_STATIC_CONSTANT( least, high_bit = base_type::high_bit ); BOOST_STATIC_CONSTANT( fast, high_bit_fast = base_type::high_bit_fast ); #endif #if defined(__EDG_VERSION__) && __EDG_VERSION__ <= 243 static const least sig_bits = (~( ~( 0ul ) << Bits )) ; #else BOOST_STATIC_CONSTANT( least, sig_bits = (~( ~(least( 0u )) << Bits )) ); #endif #if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 2 // Work around a weird bug that ICEs the compiler in build_c_cast BOOST_STATIC_CONSTANT( fast, sig_bits_fast = static_cast(sig_bits) ); #else BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) ); #endif }; // boost::detail::mask_uint_t template < > struct mask_uint_t< std::numeric_limits::digits > : high_uint_t< std::numeric_limits::digits > { typedef high_uint_t::digits> base_type; typedef base_type::least least; typedef base_type::fast fast; #ifndef __BORLANDC__ using base_type::high_bit; using base_type::high_bit_fast; #else BOOST_STATIC_CONSTANT( least, high_bit = base_type::high_bit ); BOOST_STATIC_CONSTANT( fast, high_bit_fast = base_type::high_bit_fast ); #endif BOOST_STATIC_CONSTANT( least, sig_bits = (~( least(0u) )) ); BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) ); }; // boost::detail::mask_uint_t #if USHRT_MAX > UCHAR_MAX template < > struct mask_uint_t< std::numeric_limits::digits > : high_uint_t< std::numeric_limits::digits > { typedef high_uint_t::digits> base_type; typedef base_type::least least; typedef base_type::fast fast; #ifndef __BORLANDC__ using base_type::high_bit; using base_type::high_bit_fast; #else BOOST_STATIC_CONSTANT( least, high_bit = base_type::high_bit ); BOOST_STATIC_CONSTANT( fast, high_bit_fast = base_type::high_bit_fast ); #endif BOOST_STATIC_CONSTANT( least, sig_bits = (~( least(0u) )) ); BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) ); }; // boost::detail::mask_uint_t #endif #if UINT_MAX > USHRT_MAX template < > struct mask_uint_t< std::numeric_limits::digits > : high_uint_t< std::numeric_limits::digits > { typedef high_uint_t::digits> base_type; typedef base_type::least least; typedef base_type::fast fast; #ifndef __BORLANDC__ using base_type::high_bit; using base_type::high_bit_fast; #else BOOST_STATIC_CONSTANT( least, high_bit = base_type::high_bit ); BOOST_STATIC_CONSTANT( fast, high_bit_fast = base_type::high_bit_fast ); #endif BOOST_STATIC_CONSTANT( least, sig_bits = (~( least(0u) )) ); BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) ); }; // boost::detail::mask_uint_t #endif #if ULONG_MAX > UINT_MAX template < > struct mask_uint_t< std::numeric_limits::digits > : high_uint_t< std::numeric_limits::digits > { typedef high_uint_t::digits> base_type; typedef base_type::least least; typedef base_type::fast fast; #ifndef __BORLANDC__ using base_type::high_bit; using base_type::high_bit_fast; #else BOOST_STATIC_CONSTANT( least, high_bit = base_type::high_bit ); BOOST_STATIC_CONSTANT( fast, high_bit_fast = base_type::high_bit_fast ); #endif BOOST_STATIC_CONSTANT( least, sig_bits = (~( least(0u) )) ); BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) ); }; // boost::detail::mask_uint_t #endif // CRC table generator template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, bool Reflect > struct crc_table_t { BOOST_STATIC_CONSTANT( std::size_t, byte_combos = (1ul << CHAR_BIT) ); typedef mask_uint_t masking_type; typedef typename masking_type::fast value_type; #if defined(__BORLANDC__) && defined(_M_IX86) && (__BORLANDC__ == 0x560) // for some reason Borland's command line compiler (version 0x560) // chokes over this unless we do the calculation for it: typedef value_type table_type[ 0x100 ]; #elif defined(__GNUC__) // old versions of GCC (before 4.0.2) choke on using byte_combos // as a constant expression when compiling with -pedantic. typedef value_type table_type[1ul << CHAR_BIT]; #else typedef value_type table_type[ byte_combos ]; #endif static void init_table(); static table_type table_; }; // boost::detail::crc_table_t // CRC table generator static data member definition // (Some compilers [Borland C++] require the initializer to be present.) template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, bool Reflect > typename crc_table_t::table_type crc_table_t::table_ = { 0 }; // Populate CRC lookup table template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, bool Reflect > void crc_table_t::init_table ( ) { // compute table only on the first run static bool did_init = false; if ( did_init ) return; // factor-out constants to avoid recalculation value_type const fast_hi_bit = masking_type::high_bit_fast; unsigned char const byte_hi_bit = 1u << (CHAR_BIT - 1u); // loop over every possible dividend value unsigned char dividend = 0; do { value_type remainder = 0; // go through all the dividend's bits for ( unsigned char mask = byte_hi_bit ; mask ; mask >>= 1 ) { // check if divisor fits if ( dividend & mask ) { remainder ^= fast_hi_bit; } // do polynominal division if ( remainder & fast_hi_bit ) { remainder <<= 1; remainder ^= TruncPoly; } else { remainder <<= 1; } } table_[ crc_helper::reflect(dividend) ] = crc_helper::reflect( remainder ); } while ( ++dividend ); did_init = true; } #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION // Align the msb of the remainder to a byte template < std::size_t Bits, bool RightShift > class remainder { public: typedef typename uint_t::fast value_type; static unsigned char align_msb( value_type rem ) { return rem >> (Bits - CHAR_BIT); } }; // Specialization for the case that the remainder has less // bits than a byte: align the remainder msb to the byte msb template < std::size_t Bits > class remainder< Bits, false > { public: typedef typename uint_t::fast value_type; static unsigned char align_msb( value_type rem ) { return rem << (CHAR_BIT - Bits); } }; #endif // CRC helper routines template < std::size_t Bits, bool DoReflect > class crc_helper { public: // Type typedef typename uint_t::fast value_type; #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION // Possibly reflect a remainder static value_type reflect( value_type x ) { return detail::reflector::reflect( x ); } // Compare a byte to the remainder's highest byte static unsigned char index( value_type rem, unsigned char x ) { return x ^ rem; } // Shift out the remainder's highest byte static value_type shift( value_type rem ) { return rem >> CHAR_BIT; } #else // Possibly reflect a remainder static value_type reflect( value_type x ) { return DoReflect ? detail::reflector::reflect( x ) : x; } // Compare a byte to the remainder's highest byte static unsigned char index( value_type rem, unsigned char x ) { return x ^ ( DoReflect ? rem : ((Bits>CHAR_BIT)?( rem >> (Bits - CHAR_BIT) ) : ( rem << (CHAR_BIT - Bits) ))); } // Shift out the remainder's highest byte static value_type shift( value_type rem ) { return DoReflect ? rem >> CHAR_BIT : rem << CHAR_BIT; } #endif }; // boost::detail::crc_helper #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION template < std::size_t Bits > class crc_helper { public: // Type typedef typename uint_t::fast value_type; // Possibly reflect a remainder static value_type reflect( value_type x ) { return x; } // Compare a byte to the remainder's highest byte static unsigned char index( value_type rem, unsigned char x ) { return x ^ remainderCHAR_BIT)>::align_msb( rem ); } // Shift out the remainder's highest byte static value_type shift( value_type rem ) { return rem << CHAR_BIT; } }; // boost::detail::crc_helper #endif } // namespace detail // Simple CRC class function definitions -----------------------------------// template < std::size_t Bits > inline crc_basic::crc_basic ( typename crc_basic::value_type truncated_polynominal, typename crc_basic::value_type initial_remainder, // = 0 typename crc_basic::value_type final_xor_value, // = 0 bool reflect_input, // = false bool reflect_remainder // = false ) : rem_( initial_remainder ), poly_( truncated_polynominal ) , init_( initial_remainder ), final_( final_xor_value ) , rft_in_( reflect_input ), rft_out_( reflect_remainder ) { } template < std::size_t Bits > inline typename crc_basic::value_type crc_basic::get_truncated_polynominal ( ) const { return poly_; } template < std::size_t Bits > inline typename crc_basic::value_type crc_basic::get_initial_remainder ( ) const { return init_; } template < std::size_t Bits > inline typename crc_basic::value_type crc_basic::get_final_xor_value ( ) const { return final_; } template < std::size_t Bits > inline bool crc_basic::get_reflect_input ( ) const { return rft_in_; } template < std::size_t Bits > inline bool crc_basic::get_reflect_remainder ( ) const { return rft_out_; } template < std::size_t Bits > inline typename crc_basic::value_type crc_basic::get_interim_remainder ( ) const { return rem_ & masking_type::sig_bits; } template < std::size_t Bits > inline void crc_basic::reset ( typename crc_basic::value_type new_rem ) { rem_ = new_rem; } template < std::size_t Bits > inline void crc_basic::reset ( ) { this->reset( this->get_initial_remainder() ); } template < std::size_t Bits > inline void crc_basic::process_bit ( bool bit ) { value_type const high_bit_mask = masking_type::high_bit; // compare the new bit with the remainder's highest rem_ ^= ( bit ? high_bit_mask : 0u ); // a full polynominal division step is done when the highest bit is one bool const do_poly_div = static_cast( rem_ & high_bit_mask ); // shift out the highest bit rem_ <<= 1; // carry out the division, if needed if ( do_poly_div ) { rem_ ^= poly_; } } template < std::size_t Bits > void crc_basic::process_bits ( unsigned char bits, std::size_t bit_count ) { // ignore the bits above the ones we want bits <<= CHAR_BIT - bit_count; // compute the CRC for each bit, starting with the upper ones unsigned char const high_bit_mask = 1u << ( CHAR_BIT - 1u ); for ( std::size_t i = bit_count ; i > 0u ; --i, bits <<= 1u ) { process_bit( static_cast(bits & high_bit_mask) ); } } template < std::size_t Bits > inline void crc_basic::process_byte ( unsigned char byte ) { process_bits( (rft_in_ ? detail::reflector::reflect(byte) : byte), CHAR_BIT ); } template < std::size_t Bits > void crc_basic::process_block ( void const * bytes_begin, void const * bytes_end ) { for ( unsigned char const * p = static_cast(bytes_begin) ; p < bytes_end ; ++p ) { process_byte( *p ); } } template < std::size_t Bits > inline void crc_basic::process_bytes ( void const * buffer, std::size_t byte_count ) { unsigned char const * const b = static_cast( buffer ); process_block( b, b + byte_count ); } template < std::size_t Bits > inline typename crc_basic::value_type crc_basic::checksum ( ) const { return ( (rft_out_ ? detail::reflector::reflect( rem_ ) : rem_) ^ final_ ) & masking_type::sig_bits; } // Optimized CRC class function definitions --------------------------------// // Macro to compact code #define BOOST_CRC_OPTIMAL_NAME crc_optimal template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > inline BOOST_CRC_OPTIMAL_NAME::crc_optimal ( typename BOOST_CRC_OPTIMAL_NAME::value_type init_rem // = InitRem ) : rem_( helper_type::reflect(init_rem) ) { crc_table_type::init_table(); } template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > inline typename BOOST_CRC_OPTIMAL_NAME::value_type BOOST_CRC_OPTIMAL_NAME::get_truncated_polynominal ( ) const { return TruncPoly; } template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > inline typename BOOST_CRC_OPTIMAL_NAME::value_type BOOST_CRC_OPTIMAL_NAME::get_initial_remainder ( ) const { return InitRem; } template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > inline typename BOOST_CRC_OPTIMAL_NAME::value_type BOOST_CRC_OPTIMAL_NAME::get_final_xor_value ( ) const { return FinalXor; } template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > inline bool BOOST_CRC_OPTIMAL_NAME::get_reflect_input ( ) const { return ReflectIn; } template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > inline bool BOOST_CRC_OPTIMAL_NAME::get_reflect_remainder ( ) const { return ReflectRem; } template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > inline typename BOOST_CRC_OPTIMAL_NAME::value_type BOOST_CRC_OPTIMAL_NAME::get_interim_remainder ( ) const { // Interim remainder should be _un_-reflected, so we have to undo it. return helper_type::reflect( rem_ ) & masking_type::sig_bits_fast; } template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > inline void BOOST_CRC_OPTIMAL_NAME::reset ( typename BOOST_CRC_OPTIMAL_NAME::value_type new_rem // = InitRem ) { rem_ = helper_type::reflect( new_rem ); } template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > inline void BOOST_CRC_OPTIMAL_NAME::process_byte ( unsigned char byte ) { process_bytes( &byte, sizeof(byte) ); } template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > void BOOST_CRC_OPTIMAL_NAME::process_block ( void const * bytes_begin, void const * bytes_end ) { // Recompute the CRC for each byte passed for ( unsigned char const * p = static_cast(bytes_begin) ; p < bytes_end ; ++p ) { // Compare the new byte with the remainder's higher bits to // get the new bits, shift out the remainder's current higher // bits, and update the remainder with the polynominal division // of the new bits. unsigned char const byte_index = helper_type::index( rem_, *p ); rem_ = helper_type::shift( rem_ ); rem_ ^= crc_table_type::table_[ byte_index ]; } } template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > inline void BOOST_CRC_OPTIMAL_NAME::process_bytes ( void const * buffer, std::size_t byte_count ) { unsigned char const * const b = static_cast( buffer ); process_block( b, b + byte_count ); } template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > inline typename BOOST_CRC_OPTIMAL_NAME::value_type BOOST_CRC_OPTIMAL_NAME::checksum ( ) const { return ( reflect_out_type::reflect(rem_) ^ get_final_xor_value() ) & masking_type::sig_bits_fast; } template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > inline void BOOST_CRC_OPTIMAL_NAME::operator () ( unsigned char byte ) { process_byte( byte ); } template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > inline typename BOOST_CRC_OPTIMAL_NAME::value_type BOOST_CRC_OPTIMAL_NAME::operator () ( ) const { return checksum(); } // CRC computation function definition -------------------------------------// template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly, BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor, bool ReflectIn, bool ReflectRem > inline typename uint_t::fast crc ( void const * buffer, std::size_t byte_count BOOST_CRC_DUMMY_INIT ) { BOOST_CRC_OPTIMAL_NAME computer; computer.process_bytes( buffer, byte_count ); return computer.checksum(); } // Augmented-message CRC computation function definitions ------------------// template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly > typename uint_t::fast augmented_crc ( void const * buffer, std::size_t byte_count, typename uint_t::fast initial_remainder BOOST_ACRC_DUMMY_INIT ) { typedef unsigned char byte_type; typedef detail::mask_uint_t masking_type; typedef detail::crc_table_t crc_table_type; typename masking_type::fast rem = initial_remainder; byte_type const * const b = static_cast( buffer ); byte_type const * const e = b + byte_count; crc_table_type::init_table(); for ( byte_type const * p = b ; p < e ; ++p ) { // Use the current top byte as the table index to the next // "partial product." Shift out that top byte, shifting in // the next augmented-message byte. Complete the division. byte_type const byte_index = rem >> ( Bits - CHAR_BIT ); rem <<= CHAR_BIT; rem |= *p; rem ^= crc_table_type::table_[ byte_index ]; } return rem & masking_type::sig_bits_fast; } template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly > inline typename uint_t::fast augmented_crc ( void const * buffer, std::size_t byte_count BOOST_ACRC_DUMMY_INIT ) { // The last function argument has its type specified so the other version of // augmented_crc will be called. If the cast wasn't in place, and the // BOOST_ACRC_DUMMY_INIT added a third argument (for a workaround), the "0" // would match as that third argument, leading to infinite recursion. return augmented_crc( buffer, byte_count, static_cast::fast>(0) ); } } // namespace boost // Undo header-private macros #undef BOOST_CRC_OPTIMAL_NAME #undef BOOST_ACRC_DUMMY_INIT #undef BOOST_ACRC_DUMMY_PARM_TYPE #undef BOOST_CRC_DUMMY_INIT #undef BOOST_CRC_DUMMY_PARM_TYPE #undef BOOST_CRC_PARM_TYPE #endif // BOOST_CRC_HPP KWStyle-master/Utilities/boost/cregex.hpp000066400000000000000000000013211265471724600210130ustar00rootroot00000000000000/* * * Copyright (c) 1998-2002 * John Maddock * * Use, modification and distribution are subject to the * 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/libs/regex for most recent version. * FILE cregex.cpp * VERSION see * DESCRIPTION: Declares POSIX API functions * + boost::RegEx high level wrapper. */ #ifndef BOOST_RE_CREGEX_HPP #define BOOST_RE_CREGEX_HPP #ifndef BOOST_REGEX_CONFIG_HPP #include #endif #include #endif /* include guard */ KWStyle-master/Utilities/boost/cstdfloat.hpp000066400000000000000000000050471265471724600215320ustar00rootroot00000000000000/////////////////////////////////////////////////////////////////////////////// // Copyright Christopher Kormanyos 2014. // Copyright John Maddock 2014. // Copyright Paul Bristow 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) // // implements floating-point typedefs having // specified widths, as described in N3626 (proposed for C++14). // See: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3626.pdf #ifndef _BOOST_CSTDFLOAT_2014_01_09_HPP_ #define _BOOST_CSTDFLOAT_2014_01_09_HPP_ // Include the floating-point type definitions. #include // Support a specialization of std::numeric_limits<> for the wrapped quadmath library (if available). #if !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_LIMITS) #include #endif // Support functions for the wrapped quadmath library (if available). #if !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH) #include #endif // Support I/O stream operations for the wrapped quadmath library (if available). #if !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_IOSTREAM) #if defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH) #error You can not use with BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH defined. #endif #include #endif // Support a specialization of std::complex<> for the wrapped quadmath library (if available). #if !defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_COMPLEX) #if defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_LIMITS) #error You can not use with BOOST_CSTDFLOAT_NO_LIBQUADMATH_LIMITS defined. #endif #if defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH) #error You can not use with BOOST_CSTDFLOAT_NO_LIBQUADMATH_CMATH defined. #endif #if defined(BOOST_CSTDFLOAT_NO_LIBQUADMATH_IOSTREAM) #error You can not use with BOOST_CSTDFLOAT_NO_LIBQUADMATH_IOSTREAM defined. #endif #include #endif // Undefine BOOST_NO_FLOAT128_T because this constant is not meant for public use. #if defined(BOOST_CSTDFLOAT_HAS_INTERNAL_FLOAT128_T) #undef BOOST_CSTDFLOAT_HAS_INTERNAL_FLOAT128_T #endif #endif // _BOOST_CSTDFLOAT_2014_01_09_HPP_ KWStyle-master/Utilities/boost/cstdint.hpp000066400000000000000000000434051265471724600212170ustar00rootroot00000000000000// 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 // // 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(__STDC_CONSTANT_MACROS) && defined(__CYGWIN__) # undef INTMAX_C # undef UINTMAX_C # define INTMAX_C(c) c##LL # define UINTMAX_C(c) c##ULL # endif # endif #ifdef __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(__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 // PGI seems to not support intptr_t/uintptr_t properly. BOOST_HAS_STDINT_H is not defined for this compiler by Boost.Config. #if !defined(__PGIC__) #if (defined(BOOST_WINDOWS) && !defined(_WIN32_WCE)) \ || (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \ || defined(__CYGWIN__) \ || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \ || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(sun) 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 // !defined(__PGIC__) #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)) // // 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. // #if defined(__GNUC__) && (__GNUC__ >= 4) #pragma GCC system_header #endif #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 __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. KWStyle-master/Utilities/boost/cstdlib.hpp000066400000000000000000000033131265471724600211650ustar00rootroot00000000000000// boost/cstdlib.hpp header ------------------------------------------------// // Copyright Beman Dawes 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/utility/cstdlib.html for documentation. // Revision History // 26 Feb 01 Initial version (Beman Dawes) #ifndef BOOST_CSTDLIB_HPP #define BOOST_CSTDLIB_HPP #include namespace boost { // The intent is to propose the following for addition to namespace std // in the C++ Standard Library, and to then deprecate EXIT_SUCCESS and // EXIT_FAILURE. As an implementation detail, this header defines the // new constants in terms of EXIT_SUCCESS and EXIT_FAILURE. In a new // standard, the constants would be implementation-defined, although it // might be worthwhile to "suggest" (which a standard is allowed to do) // values of 0 and 1 respectively. // Rationale for having multiple failure values: some environments may // wish to distinguish between different classes of errors. // Rationale for choice of values: programs often use values < 100 for // their own error reporting. Values > 255 are sometimes reserved for // system detected errors. 200/201 were suggested to minimize conflict. const int exit_success = EXIT_SUCCESS; // implementation-defined value const int exit_failure = EXIT_FAILURE; // implementation-defined value const int exit_exception_failure = 200; // otherwise uncaught exception const int exit_test_failure = 201; // report_error or // report_critical_error called. } #endif KWStyle-master/Utilities/boost/current_function.hpp000066400000000000000000000031071265471724600231310ustar00rootroot00000000000000#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 (c) 2002 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 // // http://www.boost.org/libs/assert/current_function.html // namespace boost { namespace detail { inline void current_function_helper() { #if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__) # 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 KWStyle-master/Utilities/boost/cxx11_char_types.hpp000066400000000000000000000100661265471724600227310ustar00rootroot00000000000000// boost cxx11_char_types.hpp --------------------------------------------------------// // Copyright Beman Dawes 2011 // Distributed under the Boost Software License, Version 1.0. // See http://www.boost.org/LICENSE_1_0.txt //--------------------------------------------------------------------------------------// // // // The purpose of this header is to emulate the C++11 char16_t and char32_t // // character and string types so that they can be used in both C++11 and C++03 // // programs. // // // // The emulation names use char16/char32 rather than char16_t/char32_t to avoid use // // of names that are keywords in C++11. // // // // The emulation names are placed in namespace boost, as is usual for Boost C++11 // // emulation names such as those in header . // // // // An alternative would would have been to place the C++11 emulation names at global // // scope, and put the C++11 string types in namespace std. That is the approach taken // // by Microsoft Visual Studio 2010, but is controversion with some Boost users and // // developers, and runs counter to usual Boost practice. // // // // Thanks to Mathias Gaunard and others for discussions leading to the final form // // of these typedefs. // // // // Boost C++11 C++03 // // ---------------- -------------- -------------------------------- // // boost::char16 char16_t uint16_t // // boost::char32 char32_t uint32_t // // boost::u16string std::u16string std::basic_string // // boost::u32string std::u32string std::basic_string // // // // Uses the typedefs provided by Microsoft Visual C++ 2010 if present // // // // Thanks to Mathias Gaunard and others for discussions leading to the final form // // of these typedefs. // // // //--------------------------------------------------------------------------------------// #if !defined(BOOST_CXX11_CHAR_TYPES_HPP) # define BOOST_CXX11_CHAR_TYPES_HPP # include # include # include namespace boost { # if defined(BOOST_NO_CHAR16_T) && (!defined(_MSC_VER) || _MSC_VER < 1600) // 1600 == VC++10 typedef boost::uint_least16_t char16; typedef std::basic_string u16string; # else typedef char16_t char16; typedef std::u16string u16string; # endif # if defined(BOOST_NO_CHAR32_T) && (!defined(_MSC_VER) || _MSC_VER < 1600) // 1600 == VC++10 typedef boost::uint_least32_t char32; typedef std::basic_string u32string; # else typedef char32_t char32; typedef std::u32string u32string; # endif } // namespace boost #endif // !defined(BOOST_CXX11_CHAR_TYPES_HPP) KWStyle-master/Utilities/boost/date_time.hpp000066400000000000000000000010341265471724600214720ustar00rootroot00000000000000#ifndef BOOST_DATE_TIME_ALL_HPP___ #define BOOST_DATE_TIME_ALL_HPP___ /* Copyright (c) 2006 CrystalClear Software, Inc. * Use, modification and distribution is subject to the * Boost Software License, Version 1.0. (See accompanying * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) * Author: Jeff Garland * $Date$ */ // See www.boost.org/libs/date_time for documentation. //gregorian and posix time included by indirectly #include "boost/date_time/local_time/local_time.hpp" #endif // BOOST_DATE_TIME_ALL_HPP___ KWStyle-master/Utilities/boost/detail/000077500000000000000000000000001265471724600202725ustar00rootroot00000000000000KWStyle-master/Utilities/boost/detail/algorithm.hpp000066400000000000000000000056201265471724600227740ustar00rootroot00000000000000// (C) Copyright Jeremy Siek 2001. // Distributed under the Boost Software License, Version 1.0. (See accompany- // ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) /* * * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without fee, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. Hewlett-Packard Company makes no * representations about the suitability of this software for any * purpose. It is provided "as is" without express or implied warranty. * * * Copyright (c) 1996 * Silicon Graphics Computer Systems, Inc. * * Permission to use, copy, modify, distribute and sell this software * and its documentation for any purpose is hereby granted without fee, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. Silicon Graphics makes no * representations about the suitability of this software for any * purpose. It is provided "as is" without express or implied warranty. */ #ifndef BOOST_ALGORITHM_HPP # define BOOST_ALGORITHM_HPP # include // Algorithms on sequences // // The functions in this file have not yet gone through formal // review, and are subject to change. This is a work in progress. // They have been checked into the detail directory because // there are some graph algorithms that use these functions. #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { template bool any_if(InputIterator first, InputIterator last, Predicate p) { return std::find_if(first, last, p) != last; } template bool any_if(const Container& c, Predicate p) { return any_if(boost::begin(c), boost::end(c), p); } template bool container_contains(InputIterator first, InputIterator last, T value) { return std::find(first, last, value) != last; } template bool container_contains(const Container& c, const T& value) { return container_contains(boost::begin(c), boost::end(c), value); } } // namespace boost #endif // BOOST_ALGORITHM_HPP KWStyle-master/Utilities/boost/detail/allocator_utilities.hpp000066400000000000000000000107631265471724600250650ustar00rootroot00000000000000/* Copyright 2003-2013 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 Boost website at http://www.boost.org/ */ #ifndef BOOST_DETAIL_ALLOCATOR_UTILITIES_HPP #define BOOST_DETAIL_ALLOCATOR_UTILITIES_HPP #include /* keep it first to prevent nasty warns in MSVC */ #include #include #include #include #include #include namespace boost{ namespace detail{ /* Allocator adaption layer. Some stdlibs provide allocators without rebind * and template ctors. These facilities are simulated with the external * template class rebind_to and the aid of partial_std_allocator_wrapper. */ namespace allocator{ /* partial_std_allocator_wrapper inherits the functionality of a std * allocator while providing a templatized ctor and other bits missing * in some stdlib implementation or another. */ template class partial_std_allocator_wrapper:public std::allocator { public: /* Oddly enough, STLport does not define std::allocator::value_type * when configured to work without partial template specialization. * No harm in supplying the definition here unconditionally. */ typedef Type value_type; partial_std_allocator_wrapper(){}; template partial_std_allocator_wrapper(const partial_std_allocator_wrapper&){} partial_std_allocator_wrapper(const std::allocator& x): std::allocator(x) { }; #if defined(BOOST_DINKUMWARE_STDLIB) /* Dinkumware guys didn't provide a means to call allocate() without * supplying a hint, in disagreement with the standard. */ Type* allocate(std::size_t n,const void* hint=0) { std::allocator& a=*this; return a.allocate(n,hint); } #endif }; /* Detects whether a given allocator belongs to a defective stdlib not * having the required member templates. * Note that it does not suffice to check the Boost.Config stdlib * macros, as the user might have passed a custom, compliant allocator. * The checks also considers partial_std_allocator_wrapper to be * a standard defective allocator. */ #if defined(BOOST_NO_STD_ALLOCATOR)&&\ (defined(BOOST_HAS_PARTIAL_STD_ALLOCATOR)||defined(BOOST_DINKUMWARE_STDLIB)) template struct is_partial_std_allocator { BOOST_STATIC_CONSTANT(bool, value= (is_same< std::allocator, Allocator >::value)|| (is_same< partial_std_allocator_wrapper< BOOST_DEDUCED_TYPENAME Allocator::value_type>, Allocator >::value)); }; #else template struct is_partial_std_allocator { BOOST_STATIC_CONSTANT(bool,value=false); }; #endif /* rebind operations for defective std allocators */ template struct partial_std_allocator_rebind_to { typedef partial_std_allocator_wrapper type; }; /* rebind operation in all other cases */ template struct rebinder { template struct result { typedef typename Allocator::BOOST_NESTED_TEMPLATE rebind::other other; }; }; template struct compliant_allocator_rebind_to { typedef typename rebinder:: BOOST_NESTED_TEMPLATE result::other type; }; /* rebind front-end */ template struct rebind_to: mpl::eval_if_c< is_partial_std_allocator::value, partial_std_allocator_rebind_to, compliant_allocator_rebind_to > { }; /* allocator-independent versions of construct and destroy */ template void construct(void* p,const Type& t) { new (p) Type(t); } #if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1500)) /* MSVC++ issues spurious warnings about unreferencend formal parameters * in destroy when Type is a class with trivial dtor. */ #pragma warning(push) #pragma warning(disable:4100) #endif template void destroy(const Type* p) { #if BOOST_WORKAROUND(__SUNPRO_CC,BOOST_TESTED_AT(0x590)) const_cast(p)->~Type(); #else p->~Type(); #endif } #if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1500)) #pragma warning(pop) #endif } /* namespace boost::detail::allocator */ } /* namespace boost::detail */ } /* namespace boost */ #endif KWStyle-master/Utilities/boost/detail/atomic_count.hpp000066400000000000000000000011521265471724600234660ustar00rootroot00000000000000#ifndef BOOST_DETAIL_ATOMIC_COUNT_HPP_INCLUDED #define BOOST_DETAIL_ATOMIC_COUNT_HPP_INCLUDED // MS compatible compilers support #pragma once #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif // // boost/detail/atomic_count.hpp - thread/SMP safe reference counter // // Copyright (c) 2001, 2002 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 #endif // #ifndef BOOST_DETAIL_ATOMIC_COUNT_HPP_INCLUDED KWStyle-master/Utilities/boost/detail/atomic_redef_macros.hpp000066400000000000000000000012041265471724600247650ustar00rootroot00000000000000// Copyright (C) 2013 Vicente J. Botet Escriba // // Distributed under the 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_INTEL) #pragma pop_macro("atomic_compare_exchange") #pragma pop_macro("atomic_compare_exchange_explicit") #pragma pop_macro("atomic_exchange") #pragma pop_macro("atomic_exchange_explicit") #pragma pop_macro("atomic_is_lock_free") #pragma pop_macro("atomic_load") #pragma pop_macro("atomic_load_explicit") #pragma pop_macro("atomic_store") #pragma pop_macro("atomic_store_explicit") #endif // #if defined(BOOST_INTEL) KWStyle-master/Utilities/boost/detail/atomic_undef_macros.hpp000066400000000000000000000016211265471724600250040ustar00rootroot00000000000000// Copyright (C) 2013 Vicente J. Botet Escriba // // Distributed under the 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_INTEL) #pragma push_macro("atomic_compare_exchange") #undef atomic_compare_exchange #pragma push_macro("atomic_compare_exchange_explicit") #undef atomic_compare_exchange_explicit #pragma push_macro("atomic_exchange") #undef atomic_exchange #pragma push_macro("atomic_exchange_explicit") #undef atomic_exchange_explicit #pragma push_macro("atomic_is_lock_free") #undef atomic_is_lock_free #pragma push_macro("atomic_load") #undef atomic_load #pragma push_macro("atomic_load_explicit") #undef atomic_load_explicit #pragma push_macro("atomic_store") #undef atomic_store #pragma push_macro("atomic_store_explicit") #undef atomic_store_explicit #endif // #if defined(BOOST_INTEL) KWStyle-master/Utilities/boost/detail/basic_pointerbuf.hpp000066400000000000000000000104761265471724600243310ustar00rootroot00000000000000//----------------------------------------------------------------------------- // boost detail/templated_streams.hpp header file // See http://www.boost.org for updates, documentation, and revision history. //----------------------------------------------------------------------------- // // Copyright (c) 2013 John Maddock, 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_DETAIL_BASIC_POINTERBUF_HPP #define BOOST_DETAIL_BASIC_POINTERBUF_HPP // MS compatible compilers support #pragma once #if defined(_MSC_VER) # pragma once #endif #include "boost/config.hpp" #include namespace boost { namespace detail { // // class basic_pointerbuf: // acts as a stream buffer which wraps around a pair of pointers: // template class basic_pointerbuf : public BufferT { protected: typedef BufferT base_type; typedef basic_pointerbuf this_type; typedef typename base_type::int_type int_type; typedef typename base_type::char_type char_type; typedef typename base_type::pos_type pos_type; typedef ::std::streamsize streamsize; typedef typename base_type::off_type off_type; public: basic_pointerbuf() : base_type() { setbuf(0, 0); } const charT* getnext() { return this->gptr(); } #ifndef BOOST_NO_USING_TEMPLATE using base_type::pptr; using base_type::pbase; #else charT* pptr() const { return base_type::pptr(); } charT* pbase() const { return base_type::pbase(); } #endif protected: // VC mistakenly assumes that `setbuf` and other functions are not referenced. // Marking those functions with `inline` suppresses the warnings. // There must be no harm from marking virtual functions as inline: inline virtual // call can be inlined ONLY when the compiler knows the "exact class". inline base_type* setbuf(char_type* s, streamsize n); inline typename this_type::pos_type seekpos(pos_type sp, ::std::ios_base::openmode which); inline typename this_type::pos_type seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which); private: basic_pointerbuf& operator=(const basic_pointerbuf&); basic_pointerbuf(const basic_pointerbuf&); }; template BufferT* basic_pointerbuf::setbuf(char_type* s, streamsize n) { this->setg(s, s, s + n); return this; } template typename basic_pointerbuf::pos_type basic_pointerbuf::seekoff(off_type off, ::std::ios_base::seekdir way, ::std::ios_base::openmode which) { typedef typename boost::int_t::least cast_type; if(which & ::std::ios_base::out) return pos_type(off_type(-1)); std::ptrdiff_t size = this->egptr() - this->eback(); std::ptrdiff_t pos = this->gptr() - this->eback(); charT* g = this->eback(); switch(static_cast(way)) { case ::std::ios_base::beg: if((off < 0) || (off > size)) return pos_type(off_type(-1)); else this->setg(g, g + off, g + size); break; case ::std::ios_base::end: if((off < 0) || (off > size)) return pos_type(off_type(-1)); else this->setg(g, g + size - off, g + size); break; case ::std::ios_base::cur: { std::ptrdiff_t newpos = static_cast(pos + off); if((newpos < 0) || (newpos > size)) return pos_type(off_type(-1)); else this->setg(g, g + newpos, g + size); break; } default: ; } #ifdef BOOST_MSVC #pragma warning(push) #pragma warning(disable:4244) #endif return static_cast(this->gptr() - this->eback()); #ifdef BOOST_MSVC #pragma warning(pop) #endif } template typename basic_pointerbuf::pos_type basic_pointerbuf::seekpos(pos_type sp, ::std::ios_base::openmode which) { if(which & ::std::ios_base::out) return pos_type(off_type(-1)); off_type size = static_cast(this->egptr() - this->eback()); charT* g = this->eback(); if(off_type(sp) <= size) { this->setg(g, g + off_type(sp), g + size); } return pos_type(off_type(-1)); } }} // namespace boost::detail #endif // BOOST_DETAIL_BASIC_POINTERBUF_HPP KWStyle-master/Utilities/boost/detail/binary_search.hpp000066400000000000000000000143261265471724600236220ustar00rootroot00000000000000// Copyright (c) 2000 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) // // Copyright (c) 1994 // Hewlett-Packard Company // // Permission to use, copy, modify, distribute and sell this software // and its documentation for any purpose is hereby granted without fee, // provided that the above copyright notice appear in all copies and // that both that copyright notice and this permission notice appear // in supporting documentation. Hewlett-Packard Company makes no // representations about the suitability of this software for any // purpose. It is provided "as is" without express or implied warranty. // // Copyright (c) 1996 // Silicon Graphics Computer Systems, Inc. // // Permission to use, copy, modify, distribute and sell this software // and its documentation for any purpose is hereby granted without fee, // provided that the above copyright notice appear in all copies and // that both that copyright notice and this permission notice appear // in supporting documentation. Silicon Graphics makes no // representations about the suitability of this software for any // purpose. It is provided "as is" without express or implied warranty. // #ifndef BINARY_SEARCH_DWA_122600_H_ # define BINARY_SEARCH_DWA_122600_H_ # include # include namespace boost { namespace detail { template ForwardIter lower_bound(ForwardIter first, ForwardIter last, const Tp& val) { typedef detail::iterator_traits traits; typename traits::difference_type len = boost::detail::distance(first, last); typename traits::difference_type half; ForwardIter middle; while (len > 0) { half = len >> 1; middle = first; std::advance(middle, half); if (*middle < val) { first = middle; ++first; len = len - half - 1; } else len = half; } return first; } template ForwardIter lower_bound(ForwardIter first, ForwardIter last, const Tp& val, Compare comp) { typedef detail::iterator_traits traits; typename traits::difference_type len = boost::detail::distance(first, last); typename traits::difference_type half; ForwardIter middle; while (len > 0) { half = len >> 1; middle = first; std::advance(middle, half); if (comp(*middle, val)) { first = middle; ++first; len = len - half - 1; } else len = half; } return first; } template ForwardIter upper_bound(ForwardIter first, ForwardIter last, const Tp& val) { typedef detail::iterator_traits traits; typename traits::difference_type len = boost::detail::distance(first, last); typename traits::difference_type half; ForwardIter middle; while (len > 0) { half = len >> 1; middle = first; std::advance(middle, half); if (val < *middle) len = half; else { first = middle; ++first; len = len - half - 1; } } return first; } template ForwardIter upper_bound(ForwardIter first, ForwardIter last, const Tp& val, Compare comp) { typedef detail::iterator_traits traits; typename traits::difference_type len = boost::detail::distance(first, last); typename traits::difference_type half; ForwardIter middle; while (len > 0) { half = len >> 1; middle = first; std::advance(middle, half); if (comp(val, *middle)) len = half; else { first = middle; ++first; len = len - half - 1; } } return first; } template std::pair equal_range(ForwardIter first, ForwardIter last, const Tp& val) { typedef detail::iterator_traits traits; typename traits::difference_type len = boost::detail::distance(first, last); typename traits::difference_type half; ForwardIter middle, left, right; while (len > 0) { half = len >> 1; middle = first; std::advance(middle, half); if (*middle < val) { first = middle; ++first; len = len - half - 1; } else if (val < *middle) len = half; else { left = boost::detail::lower_bound(first, middle, val); std::advance(first, len); right = boost::detail::upper_bound(++middle, first, val); return std::pair(left, right); } } return std::pair(first, first); } template std::pair equal_range(ForwardIter first, ForwardIter last, const Tp& val, Compare comp) { typedef detail::iterator_traits traits; typename traits::difference_type len = boost::detail::distance(first, last); typename traits::difference_type half; ForwardIter middle, left, right; while (len > 0) { half = len >> 1; middle = first; std::advance(middle, half); if (comp(*middle, val)) { first = middle; ++first; len = len - half - 1; } else if (comp(val, *middle)) len = half; else { left = boost::detail::lower_bound(first, middle, val, comp); std::advance(first, len); right = boost::detail::upper_bound(++middle, first, val, comp); return std::pair(left, right); } } return std::pair(first, first); } template bool binary_search(ForwardIter first, ForwardIter last, const Tp& val) { ForwardIter i = boost::detail::lower_bound(first, last, val); return i != last && !(val < *i); } template bool binary_search(ForwardIter first, ForwardIter last, const Tp& val, Compare comp) { ForwardIter i = boost::detail::lower_bound(first, last, val, comp); return i != last && !comp(val, *i); } }} // namespace boost::detail #endif // BINARY_SEARCH_DWA_122600_H_ KWStyle-master/Utilities/boost/detail/bitmask.hpp000066400000000000000000000045131265471724600224400ustar00rootroot00000000000000// boost/detail/bitmask.hpp ------------------------------------------------// // Copyright Beman Dawes 2006 // Distributed under the Boost Software License, Version 1.0 // http://www.boost.org/LICENSE_1_0.txt // Usage: enum foo { a=1, b=2, c=4 }; // BOOST_BITMASK( foo ); // // void f( foo arg ); // ... // f( a | c ); #ifndef BOOST_BITMASK_HPP #define BOOST_BITMASK_HPP #include #define BOOST_BITMASK(Bitmask) \ \ inline Bitmask operator| (Bitmask x , Bitmask y ) \ { return static_cast( static_cast(x) \ | static_cast(y)); } \ \ inline Bitmask operator& (Bitmask x , Bitmask y ) \ { return static_cast( static_cast(x) \ & static_cast(y)); } \ \ inline Bitmask operator^ (Bitmask x , Bitmask y ) \ { return static_cast( static_cast(x) \ ^ static_cast(y)); } \ \ inline Bitmask operator~ (Bitmask x ) \ { return static_cast(~static_cast(x)); } \ \ inline Bitmask & operator&=(Bitmask & x , Bitmask y) \ { x = x & y ; return x ; } \ \ inline Bitmask & operator|=(Bitmask & x , Bitmask y) \ { x = x | y ; return x ; } \ \ inline Bitmask & operator^=(Bitmask & x , Bitmask y) \ { x = x ^ y ; return x ; } #endif // BOOST_BITMASK_HPP KWStyle-master/Utilities/boost/detail/call_traits.hpp000066400000000000000000000103421265471724600233040ustar00rootroot00000000000000// (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( __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 KWStyle-master/Utilities/boost/detail/catch_exceptions.hpp000066400000000000000000000130141265471724600243250ustar00rootroot00000000000000// boost/catch_exceptions.hpp -----------------------------------------------// // Copyright Beman Dawes 1995-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/test for documentation. // Revision History // 13 Jun 01 report_exception() made inline. (John Maddock, Jesse Jones) // 26 Feb 01 Numerous changes suggested during formal review. (Beman) // 25 Jan 01 catch_exceptions.hpp code factored out of cpp_main.cpp. // 22 Jan 01 Remove test_tools dependencies to reduce coupling. // 5 Nov 00 Initial boost version (Beman Dawes) #ifndef BOOST_CATCH_EXCEPTIONS_HPP #define BOOST_CATCH_EXCEPTIONS_HPP // header dependencies are deliberately restricted to the standard library // to reduce coupling to other boost libraries. #include // for string #include // for bad_alloc #include // for bad_cast, bad_typeid #include // for exception, bad_exception #include // for std exception hierarchy #include // for exit codes #include // for ostream # if defined(__BORLANDC__) && (__BORLANDC__ <= 0x0551) # define BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT # endif #if defined(MPW_CPLUS) && (MPW_CPLUS <= 0x890) # define BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT namespace std { class bad_typeid { }; } # endif namespace boost { namespace detail { // A separate reporting function was requested during formal review. inline void report_exception( std::ostream & os, const char * name, const char * info ) { os << "\n** uncaught exception: " << name << " " << info << std::endl; } } // catch_exceptions ------------------------------------------------------// template< class Generator > // Generator is function object returning int int catch_exceptions( Generator function_object, std::ostream & out, std::ostream & err ) { int result = 0; // quiet compiler warnings bool exception_thrown = true; // avoid setting result for each excptn type #ifndef BOOST_NO_EXCEPTIONS try { #endif result = function_object(); exception_thrown = false; #ifndef BOOST_NO_EXCEPTIONS } // As a result of hard experience with strangely interleaved output // under some compilers, there is a lot of use of endl in the code below // where a simple '\n' might appear to do. // The rules for catch & arguments are a bit different from function // arguments (ISO 15.3 paragraphs 18 & 19). Apparently const isn't // required, but it doesn't hurt and some programmers ask for it. catch ( const char * ex ) { detail::report_exception( out, "", ex ); } catch ( const std::string & ex ) { detail::report_exception( out, "", ex.c_str() ); } // std:: exceptions catch ( const std::bad_alloc & ex ) { detail::report_exception( out, "std::bad_alloc:", ex.what() ); } # ifndef BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT catch ( const std::bad_cast & ex ) { detail::report_exception( out, "std::bad_cast:", ex.what() ); } catch ( const std::bad_typeid & ex ) { detail::report_exception( out, "std::bad_typeid:", ex.what() ); } # else catch ( const std::bad_cast & ) { detail::report_exception( out, "std::bad_cast", "" ); } catch ( const std::bad_typeid & ) { detail::report_exception( out, "std::bad_typeid", "" ); } # endif catch ( const std::bad_exception & ex ) { detail::report_exception( out, "std::bad_exception:", ex.what() ); } catch ( const std::domain_error & ex ) { detail::report_exception( out, "std::domain_error:", ex.what() ); } catch ( const std::invalid_argument & ex ) { detail::report_exception( out, "std::invalid_argument:", ex.what() ); } catch ( const std::length_error & ex ) { detail::report_exception( out, "std::length_error:", ex.what() ); } catch ( const std::out_of_range & ex ) { detail::report_exception( out, "std::out_of_range:", ex.what() ); } catch ( const std::range_error & ex ) { detail::report_exception( out, "std::range_error:", ex.what() ); } catch ( const std::overflow_error & ex ) { detail::report_exception( out, "std::overflow_error:", ex.what() ); } catch ( const std::underflow_error & ex ) { detail::report_exception( out, "std::underflow_error:", ex.what() ); } catch ( const std::logic_error & ex ) { detail::report_exception( out, "std::logic_error:", ex.what() ); } catch ( const std::runtime_error & ex ) { detail::report_exception( out, "std::runtime_error:", ex.what() ); } catch ( const std::exception & ex ) { detail::report_exception( out, "std::exception:", ex.what() ); } catch ( ... ) { detail::report_exception( out, "unknown exception", "" ); } #endif // BOOST_NO_EXCEPTIONS if ( exception_thrown ) result = boost::exit_exception_failure; if ( result != 0 && result != exit_success ) { out << std::endl << "**** returning with error code " << result << std::endl; err << "********** errors detected; see stdout for details ***********" << std::endl; } #if !defined(BOOST_NO_CPP_MAIN_SUCCESS_MESSAGE) else { out << std::flush << "no errors detected" << std::endl; } #endif return result; } // catch_exceptions } // boost #endif // BOOST_CATCH_EXCEPTIONS_HPP KWStyle-master/Utilities/boost/detail/compressed_pair.hpp000066400000000000000000000402631265471724600241670ustar00rootroot00000000000000// (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. // compressed_pair: pair that "compresses" empty members // (see libs/utility/doc/html/compressed_pair.html) // // JM changes 25 Jan 2004: // For the case where T1 == T2 and both are empty, then first() and second() // should return different objects. // JM changes 25 Jan 2000: // Removed default arguments from compressed_pair_switch to get // C++ Builder 4 to accept them // rewriten swap to get gcc and C++ builder to compile. // added partial specialisations for case T1 == T2 to avoid duplicate constructor defs. #ifndef BOOST_DETAIL_COMPRESSED_PAIR_HPP #define BOOST_DETAIL_COMPRESSED_PAIR_HPP #include #include #include #include #include #ifdef BOOST_MSVC # pragma warning(push) # pragma warning(disable:4512) #endif namespace boost { template class compressed_pair; // compressed_pair namespace details { // JM altered 26 Jan 2000: template struct compressed_pair_switch; template struct compressed_pair_switch {static const int value = 0;}; template struct compressed_pair_switch {static const int value = 3;}; template struct compressed_pair_switch {static const int value = 1;}; template struct compressed_pair_switch {static const int value = 2;}; template struct compressed_pair_switch {static const int value = 4;}; template struct compressed_pair_switch {static const int value = 5;}; template class compressed_pair_imp; #ifdef __GNUC__ // workaround for GCC (JM): using std::swap; #endif // // can't call unqualified swap from within classname::swap // as Koenig lookup rules will find only the classname::swap // member function not the global declaration, so use cp_swap // as a forwarding function (JM): template inline void cp_swap(T& t1, T& t2) { #ifndef __GNUC__ using std::swap; #endif swap(t1, t2); } // 0 derive from neither template class compressed_pair_imp { public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_imp() {} compressed_pair_imp(first_param_type x, second_param_type y) : first_(x), second_(y) {} compressed_pair_imp(first_param_type x) : first_(x) {} compressed_pair_imp(second_param_type y) : second_(y) {} first_reference first() {return first_;} first_const_reference first() const {return first_;} second_reference second() {return second_;} second_const_reference second() const {return second_;} void swap(::boost::compressed_pair& y) { cp_swap(first_, y.first()); cp_swap(second_, y.second()); } private: first_type first_; second_type second_; }; // 1 derive from T1 template class compressed_pair_imp : protected ::boost::remove_cv::type { public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_imp() {} compressed_pair_imp(first_param_type x, second_param_type y) : first_type(x), second_(y) {} compressed_pair_imp(first_param_type x) : first_type(x) {} compressed_pair_imp(second_param_type y) : second_(y) {} first_reference first() {return *this;} first_const_reference first() const {return *this;} second_reference second() {return second_;} second_const_reference second() const {return second_;} void swap(::boost::compressed_pair& y) { // no need to swap empty base class: cp_swap(second_, y.second()); } private: second_type second_; }; // 2 derive from T2 template class compressed_pair_imp : protected ::boost::remove_cv::type { public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_imp() {} compressed_pair_imp(first_param_type x, second_param_type y) : second_type(y), first_(x) {} compressed_pair_imp(first_param_type x) : first_(x) {} compressed_pair_imp(second_param_type y) : second_type(y) {} first_reference first() {return first_;} first_const_reference first() const {return first_;} second_reference second() {return *this;} second_const_reference second() const {return *this;} void swap(::boost::compressed_pair& y) { // no need to swap empty base class: cp_swap(first_, y.first()); } private: first_type first_; }; // 3 derive from T1 and T2 template class compressed_pair_imp : protected ::boost::remove_cv::type, protected ::boost::remove_cv::type { public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_imp() {} compressed_pair_imp(first_param_type x, second_param_type y) : first_type(x), second_type(y) {} compressed_pair_imp(first_param_type x) : first_type(x) {} compressed_pair_imp(second_param_type y) : second_type(y) {} first_reference first() {return *this;} first_const_reference first() const {return *this;} second_reference second() {return *this;} second_const_reference second() const {return *this;} // // no need to swap empty bases: void swap(::boost::compressed_pair&) {} }; // JM // 4 T1 == T2, T1 and T2 both empty // Originally this did not store an instance of T2 at all // but that led to problems beause it meant &x.first() == &x.second() // which is not true for any other kind of pair, so now we store an instance // of T2 just in case the user is relying on first() and second() returning // different objects (albeit both empty). template class compressed_pair_imp : protected ::boost::remove_cv::type { public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_imp() {} compressed_pair_imp(first_param_type x, second_param_type y) : first_type(x), m_second(y) {} compressed_pair_imp(first_param_type x) : first_type(x), m_second(x) {} first_reference first() {return *this;} first_const_reference first() const {return *this;} second_reference second() {return m_second;} second_const_reference second() const {return m_second;} void swap(::boost::compressed_pair&) {} private: T2 m_second; }; // 5 T1 == T2 and are not empty: //JM template class compressed_pair_imp { public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_imp() {} compressed_pair_imp(first_param_type x, second_param_type y) : first_(x), second_(y) {} compressed_pair_imp(first_param_type x) : first_(x), second_(x) {} first_reference first() {return first_;} first_const_reference first() const {return first_;} second_reference second() {return second_;} second_const_reference second() const {return second_;} void swap(::boost::compressed_pair& y) { cp_swap(first_, y.first()); cp_swap(second_, y.second()); } private: first_type first_; second_type second_; }; } // details template class compressed_pair : private ::boost::details::compressed_pair_imp::type, typename remove_cv::type>::value, ::boost::is_empty::value, ::boost::is_empty::value>::value> { private: typedef details::compressed_pair_imp::type, typename remove_cv::type>::value, ::boost::is_empty::value, ::boost::is_empty::value>::value> base; public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair() : base() {} compressed_pair(first_param_type x, second_param_type y) : base(x, y) {} explicit compressed_pair(first_param_type x) : base(x) {} explicit compressed_pair(second_param_type y) : base(y) {} first_reference first() {return base::first();} first_const_reference first() const {return base::first();} second_reference second() {return base::second();} second_const_reference second() const {return base::second();} void swap(compressed_pair& y) { base::swap(y); } }; // JM // Partial specialisation for case where T1 == T2: // template class compressed_pair : private details::compressed_pair_imp::type, typename remove_cv::type>::value, ::boost::is_empty::value, ::boost::is_empty::value>::value> { private: typedef details::compressed_pair_imp::type, typename remove_cv::type>::value, ::boost::is_empty::value, ::boost::is_empty::value>::value> base; public: typedef T first_type; typedef T second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair() : base() {} compressed_pair(first_param_type x, second_param_type y) : base(x, y) {} #if !(defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x530)) explicit #endif compressed_pair(first_param_type x) : base(x) {} first_reference first() {return base::first();} first_const_reference first() const {return base::first();} second_reference second() {return base::second();} second_const_reference second() const {return base::second();} void swap(::boost::compressed_pair& y) { base::swap(y); } }; template inline void swap(compressed_pair& x, compressed_pair& y) { x.swap(y); } } // boost #ifdef BOOST_MSVC # pragma warning(pop) #endif #endif // BOOST_DETAIL_COMPRESSED_PAIR_HPP KWStyle-master/Utilities/boost/detail/container_fwd.hpp000066400000000000000000000120501265471724600236230ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/detail/dynamic_bitset.hpp000066400000000000000000000160451265471724600240070ustar00rootroot00000000000000// ----------------------------------------------------------- // // Copyright (c) 2001-2002 Chuck Allison and Jeremy Siek // Copyright (c) 2003-2006, 2008 Gennaro Prota // // Copyright (c) 2014 Glen Joseph Fernandes // glenfe at live dot 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_DETAIL_DYNAMIC_BITSET_HPP #define BOOST_DETAIL_DYNAMIC_BITSET_HPP #include #include #include "boost/config.hpp" #include "boost/detail/workaround.hpp" namespace boost { namespace detail { namespace dynamic_bitset_impl { // Gives (read-)access to the object representation // of an object of type T (3.9p4). CANNOT be used // on a base sub-object // template inline const unsigned char * object_representation (T* p) { return static_cast(static_cast(p)); } template struct shifter { static void left_shift(T & v) { amount >= width ? (v = 0) : (v >>= BOOST_DYNAMIC_BITSET_WRAP_CONSTANT(amount)); } }; // ------- count function implementation -------------- typedef unsigned char byte_type; // These two entities // // enum mode { access_by_bytes, access_by_blocks }; // template struct mode_to_type {}; // // were removed, since the regression logs (as of 24 Aug 2008) // showed that several compilers had troubles with recognizing // // const mode m = access_by_bytes // // as a constant expression // // * So, we'll use bool, instead of enum *. // template struct value_to_type { value_to_type() {} }; const bool access_by_bytes = true; const bool access_by_blocks = false; // the table: wrapped in a class template, so // that it is only instantiated if/when needed // template struct count_table { static const byte_type table[]; }; template <> struct count_table { /* no table */ }; const unsigned int table_width = 8; template const byte_type count_table::table[] = { // Automatically generated by GPTableGen.exe v.1.0 // 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8 }; // overload for access by bytes // template inline std::size_t do_count(Iterator first, std::size_t length, int /*dummy param*/, value_to_type* ) { std::size_t num = 0; if (length) { const byte_type * p = object_representation(&*first); length *= sizeof(*first); do { num += count_table<>::table[*p]; ++p; --length; } while (length); } return num; } // overload for access by blocks // template inline std::size_t do_count(Iterator first, std::size_t length, ValueType, value_to_type*) { std::size_t num = 0; while (length){ ValueType value = *first; while (value) { num += count_table<>::table[value & ((1u<>= table_width; } ++first; --length; } return num; } // ------------------------------------------------------- // Some library implementations simply return a dummy // value such as // // size_type(-1) / sizeof(T) // // from vector<>::max_size. This tries to get more // meaningful info. // template inline typename T::size_type vector_max_size_workaround(const T & v) BOOST_NOEXCEPT { typedef typename T::allocator_type allocator_type; const allocator_type& alloc = v.get_allocator(); #if !defined(BOOST_NO_CXX11_ALLOCATOR) typedef std::allocator_traits allocator_traits; const typename allocator_traits::size_type alloc_max = allocator_traits::max_size(alloc); #else const typename allocator_type::size_type alloc_max = alloc.max_size(); #endif const typename T::size_type container_max = v.max_size(); return alloc_max < container_max ? alloc_max : container_max; } // for static_asserts template struct allowed_block_type { enum { value = T(-1) > 0 }; // ensure T has no sign }; template <> struct allowed_block_type { enum { value = false }; }; template 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 int); BOOST_dynamic_bitset_is_numeric(int); BOOST_dynamic_bitset_is_numeric(long int); 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); #if defined(BOOST_HAS_LONG_LONG) BOOST_dynamic_bitset_is_numeric(::boost::long_long_type); BOOST_dynamic_bitset_is_numeric(::boost::ulong_long_type); #endif // 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 KWStyle-master/Utilities/boost/detail/endian.hpp000066400000000000000000000005541265471724600222450ustar00rootroot00000000000000// Copyright 2013 Rene Rivera // Distributed under the Boost Software License, Version 1.0. (See accompany- // ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_DETAIL_ENDIAN_HPP #define BOOST_DETAIL_ENDIAN_HPP // Use the Predef library for the detection of endianess. #include #endif KWStyle-master/Utilities/boost/detail/fenv.hpp000066400000000000000000000062061265471724600217450ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Bryce Lelbach Distributed under the 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_FENV_H) #error This platform does not have a floating point environment #endif #if !defined(BOOST_DETAIL_FENV_HPP) #define BOOST_DETAIL_FENV_HPP /* If we're using clang + glibc, we have to get hacky. * See http://llvm.org/bugs/show_bug.cgi?id=6907 */ #if defined(__clang__) && (__clang_major__ < 3) && \ defined(__GNU_LIBRARY__) && /* up to version 5 */ \ defined(__GLIBC__) && /* version 6 + */ \ !defined(_FENV_H) #define _FENV_H #include #include extern "C" { extern int fegetexceptflag (fexcept_t*, int) __THROW; extern int fesetexceptflag (__const fexcept_t*, int) __THROW; extern int feclearexcept (int) __THROW; extern int feraiseexcept (int) __THROW; extern int fetestexcept (int) __THROW; extern int fegetround (void) __THROW; extern int fesetround (int) __THROW; extern int fegetenv (fenv_t*) __THROW; extern int fesetenv (__const fenv_t*) __THROW; extern int feupdateenv (__const fenv_t*) __THROW; extern int feholdexcept (fenv_t*) __THROW; #ifdef __USE_GNU extern int feenableexcept (int) __THROW; extern int fedisableexcept (int) __THROW; extern int fegetexcept (void) __THROW; #endif } namespace std { namespace tr1 { using ::fenv_t; using ::fexcept_t; using ::fegetexceptflag; using ::fesetexceptflag; using ::feclearexcept; using ::feraiseexcept; using ::fetestexcept; using ::fegetround; using ::fesetround; using ::fegetenv; using ::fesetenv; using ::feupdateenv; using ::feholdexcept; } } #elif defined(__MINGW32__) && defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 // MinGW (32-bit) has a bug in mingw32/bits/c++config.h, it does not define _GLIBCXX_HAVE_FENV_H, // which prevents the C fenv.h header contents to be included in the C++ wrapper header fenv.h. This is at least // the case with gcc 4.8.1 packages tested so far, up to 4.8.1-4. Note that there is no issue with // MinGW-w64. // To work around the bug we avoid including the C++ wrapper header and include the C header directly // and import all relevant symbols into std:: ourselves. #include <../include/fenv.h> namespace std { using ::fenv_t; using ::fexcept_t; using ::fegetexceptflag; using ::fesetexceptflag; using ::feclearexcept; using ::feraiseexcept; using ::fetestexcept; using ::fegetround; using ::fesetround; using ::fegetenv; using ::fesetenv; using ::feupdateenv; using ::feholdexcept; } #else /* if we're not using GNU's C stdlib, fenv.h should work with clang */ #if defined(__SUNPRO_CC) /* lol suncc */ #include #endif #include #endif #endif /* BOOST_DETAIL_FENV_HPP */ KWStyle-master/Utilities/boost/detail/has_default_constructor.hpp000066400000000000000000000016471265471724600257370ustar00rootroot00000000000000 // (C) Copyright Matthias Troyerk 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/libs/type_traits for most recent version including documentation. #ifndef BOOST_DETAIL_HAS_DEFAULT_CONSTRUCTOR_HPP_INCLUDED #define BOOST_DETAIL_HAS_DEFAULT_CONSTRUCTOR_HPP_INCLUDED #include namespace boost { namespace detail { /// type trait to check for a default constructor /// /// The default implementation just checks for a trivial constructor. /// Using some compiler magic it might be possible to provide a better default template struct has_default_constructor : public has_trivial_constructor {}; } } // namespace boost::detail #endif // BOOST_DETAIL_HAS_DEFAULT_CONSTRUCTOR_HPP_INCLUDED KWStyle-master/Utilities/boost/detail/identifier.hpp000066400000000000000000000061521265471724600231310ustar00rootroot00000000000000// boost/identifier.hpp ----------------------------------------------------// // Copyright Beman Dawes 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 documentation at http://www.boost.org/libs/utility #ifndef BOOST_IDENTIFIER_HPP #define BOOST_IDENTIFIER_HPP #include #include #include namespace boost { namespace detail { // class template identifier ---------------------------------------------// // Always used as a base class so that different instantiations result in // different class types even if instantiated with the same value type T. // Expected usage is that T is often an integer type, best passed by // value. There is no reason why T can't be a possibly larger class such as // std::string, best passed by const reference. // This implementation uses pass by value, based on expected common uses. template class identifier { public: typedef T value_type; const value_type value() const { return m_value; } void assign( value_type v ) { m_value = v; } bool operator==( const D & rhs ) const { return m_value == rhs.m_value; } bool operator!=( const D & rhs ) const { return m_value != rhs.m_value; } bool operator< ( const D & rhs ) const { return m_value < rhs.m_value; } bool operator<=( const D & rhs ) const { return m_value <= rhs.m_value; } bool operator> ( const D & rhs ) const { return m_value > rhs.m_value; } bool operator>=( const D & rhs ) const { return m_value >= rhs.m_value; } typedef void (*unspecified_bool_type)(D); // without the D, unspecified_bool_type static void unspecified_bool_true(D){} // conversion allows relational operators // between different identifier types operator unspecified_bool_type() const { return m_value == value_type() ? 0 : unspecified_bool_true; } bool operator!() const { return m_value == value_type(); } // constructors are protected so that class can only be used as a base class protected: identifier() {} explicit identifier( value_type v ) : m_value(v) {} private: T m_value; }; //#ifndef BOOST_NO_SFINAE // template // typename enable_if< is_base_of< identifier< typename Id::value_type, Id >, Id >, // Ostream & >::type operator<<( Ostream & os, const Id & id ) // { // return os << id.value(); // } // template // typename enable_if< is_base_of< identifier< typename Id::value_type, Id >, Id >, // Istream & >::type operator>>( Istream & is, Id & id ) // { // typename Id::value_type v; // is >> v; // id.value( v ); // return is; // } //#endif } // namespace detail } // namespace boost #endif // BOOST_IDENTIFIER_HPP KWStyle-master/Utilities/boost/detail/indirect_traits.hpp000066400000000000000000000106061265471724600241750ustar00rootroot00000000000000// 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 # include # include # include # include namespace boost { namespace detail { namespace indirect_traits { template struct is_reference_to_const : mpl::false_ { }; template struct is_reference_to_const : mpl::true_ { }; # if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround template struct is_reference_to_const : mpl::true_ { }; # endif template struct is_reference_to_function : mpl::false_ { }; template struct is_reference_to_function : is_function { }; template struct is_pointer_to_function : mpl::false_ { }; // 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 : mpl::false_ { }; 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 { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T)) }; template struct is_reference_to_function_pointer_aux : mpl::and_< is_reference , is_pointer_to_function< typename remove_cv< typename remove_reference::type >::type > > { // 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 : mpl::if_< is_reference_to_function , mpl::false_ , is_reference_to_function_pointer_aux >::type { }; template struct is_reference_to_non_const : mpl::and_< is_reference , mpl::not_< is_reference_to_const > > { }; template struct is_reference_to_volatile : mpl::false_ { }; template struct is_reference_to_volatile : mpl::true_ { }; # if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround template struct is_reference_to_volatile : mpl::true_ { }; # endif template struct is_reference_to_pointer : mpl::false_ { }; template struct is_reference_to_pointer : mpl::true_ { }; template struct is_reference_to_pointer : mpl::true_ { }; template struct is_reference_to_pointer : mpl::true_ { }; template struct is_reference_to_pointer : mpl::true_ { }; template struct is_reference_to_class : mpl::and_< is_reference , is_class< typename remove_cv< typename remove_reference::type >::type > > { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T)) }; template struct is_pointer_to_class : mpl::and_< is_pointer , is_class< typename remove_cv< typename remove_pointer::type >::type > > { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_class,(T)) }; } using namespace indirect_traits; }} // namespace boost::python::detail #endif // INDIRECT_TRAITS_DWA2002131_HPP KWStyle-master/Utilities/boost/detail/interlocked.hpp000066400000000000000000000215761265471724600233210ustar00rootroot00000000000000#ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED #define BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED // // boost/detail/interlocked.hpp // // Copyright 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 // MS compatible compilers support #pragma once #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif #if defined( BOOST_USE_WINDOWS_H ) # include # define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement # define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement # define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange # define BOOST_INTERLOCKED_EXCHANGE InterlockedExchange # define BOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd # define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER InterlockedCompareExchangePointer # define BOOST_INTERLOCKED_EXCHANGE_POINTER InterlockedExchangePointer #elif defined( BOOST_USE_INTRIN_H ) #include # define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement # define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement # define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange # define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange # define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd # if defined(_M_IA64) || defined(_M_AMD64) || defined(__x86_64__) || defined(__x86_64) # define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer # define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer # else # define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \ ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare))) # define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange))) # endif #elif defined(_WIN32_WCE) #if _WIN32_WCE >= 0x600 extern "C" long __cdecl _InterlockedIncrement( long volatile * ); extern "C" long __cdecl _InterlockedDecrement( long volatile * ); extern "C" long __cdecl _InterlockedCompareExchange( long volatile *, long, long ); extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); extern "C" long __cdecl _InterlockedExchangeAdd( long volatile *, long ); # define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement # define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement # define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange # define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange # define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd #else // under Windows CE we still have old-style Interlocked* functions extern "C" long __cdecl InterlockedIncrement( long* ); extern "C" long __cdecl InterlockedDecrement( long* ); extern "C" long __cdecl InterlockedCompareExchange( long*, long, long ); extern "C" long __cdecl InterlockedExchange( long*, long ); extern "C" long __cdecl InterlockedExchangeAdd( long*, long ); # define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement # define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement # define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange # define BOOST_INTERLOCKED_EXCHANGE InterlockedExchange # define BOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd #endif # define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \ ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long*)(dest),(long)(exchange),(long)(compare))) # define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ ((void*)BOOST_INTERLOCKED_EXCHANGE((long*)(dest),(long)(exchange))) #elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN ) #if defined( BOOST_MSVC ) && BOOST_MSVC >= 1400 #include #else # if defined( __CLRCALL_PURE_OR_CDECL ) # define BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL __CLRCALL_PURE_OR_CDECL # else # define BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL __cdecl # endif extern "C" long BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL _InterlockedIncrement( long volatile * ); extern "C" long BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL _InterlockedDecrement( long volatile * ); extern "C" long BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL _InterlockedCompareExchange( long volatile *, long, long ); extern "C" long BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL _InterlockedExchange( long volatile *, long ); extern "C" long BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL _InterlockedExchangeAdd( long volatile *, long ); # undef BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL # if defined( BOOST_MSVC ) && BOOST_MSVC >= 1310 # pragma intrinsic( _InterlockedIncrement ) # pragma intrinsic( _InterlockedDecrement ) # pragma intrinsic( _InterlockedCompareExchange ) # pragma intrinsic( _InterlockedExchange ) # pragma intrinsic( _InterlockedExchangeAdd ) # endif #endif # if defined(_M_IA64) || defined(_M_AMD64) extern "C" void* __cdecl _InterlockedCompareExchangePointer( void* volatile *, void*, void* ); extern "C" void* __cdecl _InterlockedExchangePointer( void* volatile *, void* ); # define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer # define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer # else # define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \ ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare))) # define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange))) # endif # define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement # define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement # define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange # define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange # define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd // Unlike __MINGW64__, __MINGW64_VERSION_MAJOR is defined by MinGW-w64 for both 32 and 64-bit targets. #elif defined(__MINGW64_VERSION_MAJOR) // MinGW-w64 provides intrin.h for both 32 and 64-bit targets. #include # define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement # define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement # define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange # define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange # define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd # if defined(__x86_64__) || defined(__x86_64) # define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer # define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer # else # define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \ ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare))) # define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange))) # endif #elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ ) #define BOOST_INTERLOCKED_IMPORT __declspec(dllimport) namespace boost { namespace detail { extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedIncrement( long volatile * ); extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedDecrement( long volatile * ); extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedCompareExchange( long volatile *, long, long ); extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchange( long volatile *, long ); extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchangeAdd( long volatile *, long ); # if defined(_M_IA64) || defined(_M_AMD64) extern "C" BOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedCompareExchangePointer( void* volatile *, void*, void* ); extern "C" BOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedExchangePointer( void* volatile *, void* ); # endif } // namespace detail } // namespace boost # define BOOST_INTERLOCKED_INCREMENT ::boost::detail::InterlockedIncrement # define BOOST_INTERLOCKED_DECREMENT ::boost::detail::InterlockedDecrement # define BOOST_INTERLOCKED_COMPARE_EXCHANGE ::boost::detail::InterlockedCompareExchange # define BOOST_INTERLOCKED_EXCHANGE ::boost::detail::InterlockedExchange # define BOOST_INTERLOCKED_EXCHANGE_ADD ::boost::detail::InterlockedExchangeAdd # if defined(_M_IA64) || defined(_M_AMD64) # define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER ::boost::detail::InterlockedCompareExchangePointer # define BOOST_INTERLOCKED_EXCHANGE_POINTER ::boost::detail::InterlockedExchangePointer # else # define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \ ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare))) # define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange))) # endif #else # error "Interlocked intrinsics not available" #endif #endif // #ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED KWStyle-master/Utilities/boost/detail/is_incrementable.hpp000066400000000000000000000071631265471724600243150ustar00rootroot00000000000000// Copyright David Abrahams 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) #ifndef IS_INCREMENTABLE_DWA200415_HPP # define IS_INCREMENTABLE_DWA200415_HPP # include # include # include # include # include // Must be the last include # include namespace boost { namespace detail { // is_incrementable metafunction // // Requires: Given x of type T&, if the expression ++x is well-formed // it must have complete type; otherwise, it must neither be ambiguous // nor violate access. // This namespace ensures that ADL doesn't mess things up. namespace is_incrementable_ { // a type returned from operator++ when no increment is found in the // type's own namespace struct tag {}; // any soaks up implicit conversions and makes the following // operator++ less-preferred than any other such operator that // might be found via ADL. struct any { template any(T const&); }; // This is a last-resort operator++ for when none other is found # if BOOST_WORKAROUND(__GNUC__, == 4) && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 2 } namespace is_incrementable_2 { is_incrementable_::tag operator++(is_incrementable_::any const&); is_incrementable_::tag operator++(is_incrementable_::any const&,int); } using namespace is_incrementable_2; namespace is_incrementable_ { # else tag operator++(any const&); tag operator++(any const&,int); # endif # if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) # define BOOST_comma(a,b) (a) # else // In case an operator++ is found that returns void, we'll use ++x,0 tag operator,(tag,int); # define BOOST_comma(a,b) (a,b) # endif # if defined(BOOST_MSVC) # pragma warning(push) # pragma warning(disable:4913) // Warning about operator, # endif // two check overloads help us identify which operator++ was picked char (& check_(tag) )[2]; template char check_(T const&); template struct impl { static typename boost::remove_cv::type& x; BOOST_STATIC_CONSTANT( bool , value = sizeof(is_incrementable_::check_(BOOST_comma(++x,0))) == 1 ); }; template struct postfix_impl { static typename boost::remove_cv::type& x; BOOST_STATIC_CONSTANT( bool , value = sizeof(is_incrementable_::check_(BOOST_comma(x++,0))) == 1 ); }; # if defined(BOOST_MSVC) # pragma warning(pop) # endif } # undef BOOST_comma template struct is_incrementable BOOST_TT_AUX_BOOL_C_BASE(::boost::detail::is_incrementable_::impl::value) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::boost::detail::is_incrementable_::impl::value) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_incrementable,(T)) }; template struct is_postfix_incrementable BOOST_TT_AUX_BOOL_C_BASE(::boost::detail::is_incrementable_::postfix_impl::value) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::boost::detail::is_incrementable_::postfix_impl::value) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_postfix_incrementable,(T)) }; } // namespace detail BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1, ::boost::detail::is_incrementable) BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1, ::boost::detail::is_postfix_incrementable) } // namespace boost # include #endif // IS_INCREMENTABLE_DWA200415_HPP KWStyle-master/Utilities/boost/detail/is_sorted.hpp000066400000000000000000000026701265471724600230030ustar00rootroot00000000000000/*============================================================================== Copyright (c) 2010-2011 Bryce Lelbach Distributed under the 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_SORTED_HPP #define BOOST_DETAIL_SORTED_HPP #include #include namespace boost { namespace detail { template inline Iterator is_sorted_until (Iterator first, Iterator last, Comp c) { if (first == last) return last; Iterator it = first; ++it; for (; it != last; first = it, ++it) if (c(*it, *first)) return it; return it; } template inline Iterator is_sorted_until (Iterator first, Iterator last) { typedef typename boost::detail::iterator_traits::value_type value_type; typedef std::less c; return ::boost::detail::is_sorted_until(first, last, c()); } template inline bool is_sorted (Iterator first, Iterator last, Comp c) { return ::boost::detail::is_sorted_until(first, last, c) == last; } template inline bool is_sorted (Iterator first, Iterator last) { return ::boost::detail::is_sorted_until(first, last) == last; } } // detail } // boost #endif // BOOST_DETAIL_SORTED_HPP KWStyle-master/Utilities/boost/detail/is_xxx.hpp000066400000000000000000000023151265471724600223260ustar00rootroot00000000000000// 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 : mpl::false_ \ { \ }; \ \ template < BOOST_PP_ENUM_PARAMS_Z(1, nargs, class T) > \ struct is_##name< \ qualified_name< BOOST_PP_ENUM_PARAMS_Z(1, nargs, T) > \ > \ : mpl::true_ \ { \ }; #endif // BOOST_DETAIL_IS_XXX_DWA20051011_HPP KWStyle-master/Utilities/boost/detail/iterator.hpp000066400000000000000000000007651265471724600226440ustar00rootroot00000000000000// (C) 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 ITERATOR_DWA122600_HPP_ #define ITERATOR_DWA122600_HPP_ // This header is obsolete and will be deprecated. #include namespace boost { namespace detail { using std::iterator_traits; using std::distance; } // namespace detail } // namespace boost #endif // ITERATOR_DWA122600_HPP_ KWStyle-master/Utilities/boost/detail/lcast_precision.hpp000066400000000000000000000136061265471724600241720ustar00rootroot00000000000000// Copyright Alexander Nasonov & Paul A. Bristow 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) #ifndef BOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED #define BOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED #include #include #include #include #include #ifndef BOOST_NO_IS_ABSTRACT // Fix for SF:1358600 - lexical_cast & pure virtual functions & VC 8 STL #include #include #endif #if defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) || \ (defined(BOOST_MSVC) && (BOOST_MSVC<1310)) #define BOOST_LCAST_NO_COMPILE_TIME_PRECISION #endif #ifdef BOOST_LCAST_NO_COMPILE_TIME_PRECISION #include #else #include #endif namespace boost { namespace detail { class lcast_abstract_stub {}; #ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION // Calculate an argument to pass to std::ios_base::precision from // lexical_cast. See alternative implementation for broken standard // libraries in lcast_get_precision below. Keep them in sync, please. template struct lcast_precision { #ifdef BOOST_NO_IS_ABSTRACT typedef std::numeric_limits limits; // No fix for SF:1358600. #else typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_< boost::is_abstract , std::numeric_limits , std::numeric_limits >::type limits; #endif BOOST_STATIC_CONSTANT(bool, use_default_precision = !limits::is_specialized || limits::is_exact ); BOOST_STATIC_CONSTANT(bool, is_specialized_bin = !use_default_precision && limits::radix == 2 && limits::digits > 0 ); BOOST_STATIC_CONSTANT(bool, is_specialized_dec = !use_default_precision && limits::radix == 10 && limits::digits10 > 0 ); BOOST_STATIC_CONSTANT(std::streamsize, streamsize_max = boost::integer_traits::const_max ); BOOST_STATIC_CONSTANT(unsigned int, precision_dec = limits::digits10 + 1U); BOOST_STATIC_ASSERT(!is_specialized_dec || precision_dec <= streamsize_max + 0UL ); BOOST_STATIC_CONSTANT(unsigned long, precision_bin = 2UL + limits::digits * 30103UL / 100000UL ); BOOST_STATIC_ASSERT(!is_specialized_bin || (limits::digits + 0UL < ULONG_MAX / 30103UL && precision_bin > limits::digits10 + 0UL && precision_bin <= streamsize_max + 0UL) ); BOOST_STATIC_CONSTANT(std::streamsize, value = is_specialized_bin ? precision_bin : is_specialized_dec ? precision_dec : 6 ); }; #endif template inline std::streamsize lcast_get_precision(T* = 0) { #ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION return lcast_precision::value; #else // Follow lcast_precision algorithm at run-time: #ifdef BOOST_NO_IS_ABSTRACT typedef std::numeric_limits limits; // No fix for SF:1358600. #else typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_< boost::is_abstract , std::numeric_limits , std::numeric_limits >::type limits; #endif bool const use_default_precision = !limits::is_specialized || limits::is_exact; if(!use_default_precision) { // Includes all built-in floating-point types, float, double ... // and UDT types for which digits (significand bits) is defined (not zero) bool const is_specialized_bin = limits::radix == 2 && limits::digits > 0; bool const is_specialized_dec = limits::radix == 10 && limits::digits10 > 0; std::streamsize const streamsize_max = (boost::integer_traits::max)(); if(is_specialized_bin) { // Floating-point types with // limits::digits defined by the specialization. unsigned long const digits = limits::digits; unsigned long const precision = 2UL + digits * 30103UL / 100000UL; // unsigned long is selected because it is at least 32-bits // and thus ULONG_MAX / 30103UL is big enough for all types. BOOST_ASSERT( digits < ULONG_MAX / 30103UL && precision > limits::digits10 + 0UL && precision <= streamsize_max + 0UL ); return precision; } else if(is_specialized_dec) { // Decimal Floating-point type, most likely a User Defined Type // rather than a real floating-point hardware type. unsigned int const precision = limits::digits10 + 1U; BOOST_ASSERT(precision <= streamsize_max + 0UL); return precision; } } // Integral type (for which precision has no effect) // or type T for which limits is NOT specialized, // so assume stream precision remains the default 6 decimal digits. // Warning: if your User-defined Floating-point type T is NOT specialized, // then you may lose accuracy by only using 6 decimal digits. // To avoid this, you need to specialize T with either // radix == 2 and digits == the number of significand bits, // OR // radix = 10 and digits10 == the number of decimal digits. return 6; #endif } template inline void lcast_set_precision(std::ios_base& stream, T*) { stream.precision(lcast_get_precision()); } template inline void lcast_set_precision(std::ios_base& stream, Source*, Target*) { std::streamsize const s = lcast_get_precision(static_cast(0)); std::streamsize const t = lcast_get_precision(static_cast(0)); stream.precision(s > t ? s : t); } }} #endif // BOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED KWStyle-master/Utilities/boost/detail/lightweight_main.hpp000066400000000000000000000023121265471724600243240ustar00rootroot00000000000000// boost/detail/lightweight_main.hpp -------------------------------------------------// // Copyright Beman Dawes 2010 // Distributed under the Boost Software License, Version 1.0. // See http://www.boost.org/LICENSE_1_0.txt #include #include //--------------------------------------------------------------------------------------// // // // exception reporting main() that calls cpp_main() // // // //--------------------------------------------------------------------------------------// int cpp_main(int argc, char* argv[]); int main(int argc, char* argv[]) { try { return cpp_main(argc, argv); } catch (const std::exception& ex) { std::cout << "\nERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR\n" << "\n****************************** std::exception *****************************\n" << ex.what() << "\n***************************************************************************\n" << std::endl; } return 1; } KWStyle-master/Utilities/boost/detail/lightweight_mutex.hpp000066400000000000000000000011661265471724600245500ustar00rootroot00000000000000#ifndef BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED #define BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED // MS compatible compilers support #pragma once #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif // // boost/detail/lightweight_mutex.hpp - lightweight mutex // // Copyright (c) 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 #endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED KWStyle-master/Utilities/boost/detail/lightweight_test.hpp000066400000000000000000000006641265471724600243670ustar00rootroot00000000000000/* * 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_DETAIL_LIGHTWEIGHT_TEST_HPP #define BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP // The header file at this path is deprecated; // use boost/core/lightweight_test.hpp instead. #include #endif KWStyle-master/Utilities/boost/detail/lightweight_test_report.hpp000066400000000000000000000042571265471724600257640ustar00rootroot00000000000000// boost/detail/lightweight_test_reporter.hpp ----------------------------------------// // Copyright Beman Dawes 2014 // Distributed under the Boost Software License, Version 1.0. // See http://www.boost.org/LICENSE_1_0.txt //--------------------------------------------------------------------------------------// // // // Configuration reporting cpp_main() // // // // Displays configuration information, then returns test_main(argc, argv), which // // must be supplied by the user. // // // // Note: cpp_main(argc, argv) is called from a try block in main(), which is // // supplied by as is a catch block that reports // // std::exception what(). // // // //--------------------------------------------------------------------------------------// #include #include #include #include #include int test_main(int argc, char* argv[]); int cpp_main(int argc, char* argv[]) { std::cout << BOOST_COMPILER #ifdef __GNUC__ << ", __GXX_EXPERIMENTAL_CXX0X__ " # ifdef __GXX_EXPERIMENTAL_CXX0X__ "defined" # else "not defined" # endif #endif << "\n" << BOOST_STDLIB << "\n" << BOOST_PLATFORM << "\n" << "Boost version " << BOOST_VERSION / 100000 << '.' << BOOST_VERSION / 100 % 1000 << '.' << BOOST_VERSION % 100 << "\n"; std::cout << "Command line: "; for (int a = 0; a < argc; ++a) { std::cout << argv[a]; if (a != argc - 1) std::cout << ' '; } std::cout << std::endl; return test_main(argc, argv); }KWStyle-master/Utilities/boost/detail/lightweight_thread.hpp000066400000000000000000000045331265471724600246560ustar00rootroot00000000000000#ifndef BOOST_DETAIL_LIGHTWEIGHT_THREAD_HPP_INCLUDED #define BOOST_DETAIL_LIGHTWEIGHT_THREAD_HPP_INCLUDED // MS compatible compilers support #pragma once #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif // boost/detail/lightweight_thread.hpp // // Copyright (c) 2002 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 #include #include #include // pthread_create, pthread_join #if defined( BOOST_HAS_PTHREADS ) #include #else #include #include typedef HANDLE pthread_t; int pthread_create( pthread_t * thread, void const *, unsigned (__stdcall * start_routine) (void*), void* arg ) { HANDLE h = (HANDLE)_beginthreadex( 0, 0, start_routine, arg, 0, 0 ); if( h != 0 ) { *thread = h; return 0; } else { return EAGAIN; } } int pthread_join( pthread_t thread, void ** /*value_ptr*/ ) { ::WaitForSingleObject( thread, INFINITE ); ::CloseHandle( thread ); return 0; } #endif // template int lw_thread_create( pthread_t & pt, F f ); namespace boost { namespace detail { class lw_abstract_thread { public: virtual ~lw_abstract_thread() {} virtual void run() = 0; }; #if defined( BOOST_HAS_PTHREADS ) extern "C" void * lw_thread_routine( void * pv ) { std::auto_ptr pt( static_cast( pv ) ); pt->run(); return 0; } #else unsigned __stdcall lw_thread_routine( void * pv ) { std::auto_ptr pt( static_cast( pv ) ); pt->run(); return 0; } #endif template class lw_thread_impl: public lw_abstract_thread { public: explicit lw_thread_impl( F f ): f_( f ) { } void run() { f_(); } private: F f_; }; template int lw_thread_create( pthread_t & pt, F f ) { std::auto_ptr p( new lw_thread_impl( f ) ); int r = pthread_create( &pt, 0, lw_thread_routine, p.get() ); if( r == 0 ) { p.release(); } return r; } } // namespace detail } // namespace boost #endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_THREAD_HPP_INCLUDED KWStyle-master/Utilities/boost/detail/named_template_params.hpp000066400000000000000000000137121265471724600253310ustar00rootroot00000000000000// (C) Copyright Jeremy Siek 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) // Revision History: // 04 Oct 2001 David Abrahams // Changed name of "bind" to "select" to avoid problems with MSVC. #ifndef BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP #define BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP #include #include // for is_reference #if defined(__BORLANDC__) #include #endif namespace boost { namespace detail { struct default_argument { }; struct dummy_default_gen { template struct select { typedef default_argument type; }; }; // This class template is a workaround for MSVC. template struct default_generator { typedef detail::dummy_default_gen type; }; template struct is_default { enum { value = false }; typedef type_traits::no_type type; }; template <> struct is_default { enum { value = true }; typedef type_traits::yes_type type; }; struct choose_default { template struct select { typedef typename default_generator::type Gen; typedef typename Gen::template select::type type; }; }; struct choose_arg { template struct select { typedef Arg type; }; }; #if defined(__BORLANDC__) template struct choose_arg_or_default { typedef choose_arg type; }; template <> struct choose_arg_or_default { typedef choose_default type; }; #else template struct choose_arg_or_default { typedef choose_arg type; }; template <> struct choose_arg_or_default { typedef choose_default type; }; #endif template class resolve_default { #if defined(__BORLANDC__) typedef typename choose_arg_or_default::type>::type Selector; #else // This usually works for Borland, but I'm seeing weird errors in // iterator_adaptor_test.cpp when using this method. enum { is_def = is_default::value }; typedef typename choose_arg_or_default::type Selector; #endif public: typedef typename Selector ::template select::type type; }; // To differentiate an unnamed parameter from a traits generator // we use is_convertible. struct named_template_param_base { }; template struct is_named_param_list { enum { value = is_convertible::value }; }; struct choose_named_params { template struct select { typedef Prev type; }; }; struct choose_default_arg { template struct select { typedef detail::default_argument type; }; }; template struct choose_default_dispatch_; template <> struct choose_default_dispatch_ { typedef choose_named_params type; }; template <> struct choose_default_dispatch_ { typedef choose_default_arg type; }; // The use of inheritance here is a Solaris Forte 6 workaround. template struct choose_default_dispatch : public choose_default_dispatch_ { }; template struct choose_default_argument { enum { is_named = is_named_param_list::value }; typedef typename choose_default_dispatch::type Selector; typedef typename Selector::template select::type type; }; // This macro assumes that there is a class named default_##TYPE // defined before the application of the macro. This class should // have a single member class template named "select" with two // template parameters: the type of the class being created (e.g., // the iterator_adaptor type when creating iterator adaptors) and // a traits class. The select class should have a single typedef // named "type" that produces the default for TYPE. See // boost/iterator_adaptors.hpp for an example usage. Also, // applications of this macro must be placed in namespace // boost::detail. #define BOOST_NAMED_TEMPLATE_PARAM(TYPE) \ struct get_##TYPE##_from_named { \ template \ struct select { \ typedef typename NamedParams::traits NamedTraits; \ typedef typename NamedTraits::TYPE TYPE; \ typedef typename resolve_default::type type; \ }; \ }; \ struct pass_thru_##TYPE { \ template struct select { \ typedef typename resolve_default::type type; \ };\ }; \ template \ struct get_##TYPE##_dispatch { }; \ template <> struct get_##TYPE##_dispatch<1> { \ typedef get_##TYPE##_from_named type; \ }; \ template <> struct get_##TYPE##_dispatch<0> { \ typedef pass_thru_##TYPE type; \ }; \ template \ class get_##TYPE { \ enum { is_named = is_named_param_list::value }; \ typedef typename get_##TYPE##_dispatch::type Selector; \ public: \ typedef typename Selector::template select::type type; \ }; \ template <> struct default_generator { \ typedef default_##TYPE type; \ } } // namespace detail } // namespace boost #endif // BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP KWStyle-master/Utilities/boost/detail/no_exceptions_support.hpp000066400000000000000000000007101265471724600254520ustar00rootroot00000000000000/* * 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_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP #define BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP // The header file at this path is deprecated; // use boost/core/no_exceptions_support.hpp instead. #include #endif KWStyle-master/Utilities/boost/detail/numeric_traits.hpp000066400000000000000000000142741265471724600240430ustar00rootroot00000000000000// (C) Copyright David Abrahams 2001, Howard Hinnant 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) // // Template class numeric_traits -- // // Supplies: // // typedef difference_type -- a type used to represent the difference // between any two values of Number. // // Support: // 1. Not all specializations are supplied // // 2. Use of specializations that are not supplied will cause a // compile-time error // // 3. Users are free to specialize numeric_traits for any type. // // 4. Right now, specializations are only supplied for integer types. // // 5. On implementations which do not supply compile-time constants in // std::numeric_limits<>, only specializations for built-in integer types // are supplied. // // 6. Handling of numbers whose range of representation is at least as // great as boost::intmax_t can cause some differences to be // unrepresentable in difference_type: // // Number difference_type // ------ --------------- // signed Number // unsigned intmax_t // // template typename numeric_traits::difference_type // numeric_distance(Number x, Number y) // computes (y - x), attempting to avoid overflows. // // See http://www.boost.org for most recent version including documentation. // Revision History // 11 Feb 2001 - Use BOOST_STATIC_CONSTANT (David Abrahams) // 11 Feb 2001 - Rolled back ineffective Borland-specific code // (David Abrahams) // 10 Feb 2001 - Rolled in supposed Borland fixes from John Maddock, but // not seeing any improvement yet (David Abrahams) // 06 Feb 2001 - Factored if_true out into boost/detail/select_type.hpp // (David Abrahams) // 23 Jan 2001 - Fixed logic of difference_type selection, which was // completely wack. In the process, added digit_traits<> // to compute the number of digits in intmax_t even when // not supplied by numeric_limits<>. (David Abrahams) // 21 Jan 2001 - Created (David Abrahams) #ifndef BOOST_NUMERIC_TRAITS_HPP_DWA20001901 # define BOOST_NUMERIC_TRAITS_HPP_DWA20001901 # include # include # include # include # include # include namespace boost { namespace detail { // Template class is_signed -- determine whether a numeric type is signed // Requires that T is constructable from the literals -1 and 0. Compile-time // error results if that requirement is not met (and thus signedness is not // likely to have meaning for that type). template struct is_signed { #if defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) BOOST_STATIC_CONSTANT(bool, value = (Number(-1) < Number(0))); #else BOOST_STATIC_CONSTANT(bool, value = std::numeric_limits::is_signed); #endif }; # ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS // digit_traits - compute the number of digits in a built-in integer // type. Needed for implementations on which numeric_limits is not specialized // for intmax_t (e.g. VC6). template struct digit_traits_select; // numeric_limits is specialized; just select that version of digits template <> struct digit_traits_select { template struct traits { BOOST_STATIC_CONSTANT(int, digits = std::numeric_limits::digits); }; }; // numeric_limits is not specialized; compute digits from sizeof(T) template <> struct digit_traits_select { template struct traits { BOOST_STATIC_CONSTANT(int, digits = ( sizeof(T) * std::numeric_limits::digits - (is_signed::value ? 1 : 0)) ); }; }; // here's the "usable" template template struct digit_traits { typedef digit_traits_select< ::std::numeric_limits::is_specialized> selector; typedef typename selector::template traits traits; BOOST_STATIC_CONSTANT(int, digits = traits::digits); }; #endif // Template class integer_traits -- traits of various integer types // This should probably be rolled into boost::integer_traits one day, but I // need it to work without template struct integer_traits { # ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS private: typedef Integer integer_type; typedef std::numeric_limits x; public: typedef typename if_true<(int(x::is_signed) && (!int(x::is_bounded) // digits is the number of no-sign bits || (int(x::digits) + 1 >= digit_traits::digits)))>::template then< Integer, typename if_true<(int(x::digits) + 1 < digit_traits::digits)>::template then< signed int, typename if_true<(int(x::digits) + 1 < digit_traits::digits)>::template then< signed long, // else intmax_t >::type>::type>::type difference_type; #else BOOST_STATIC_ASSERT(boost::is_integral::value); typedef typename if_true<(sizeof(Integer) >= sizeof(intmax_t))>::template then< typename if_true<(is_signed::value)>::template then< Integer, intmax_t >::type, typename if_true<(sizeof(Integer) < sizeof(std::ptrdiff_t))>::template then< std::ptrdiff_t, intmax_t >::type >::type difference_type; # endif }; // Right now, only supports integers, but should be expanded. template struct numeric_traits { typedef typename integer_traits::difference_type difference_type; }; template typename numeric_traits::difference_type numeric_distance(Number x, Number y) { typedef typename numeric_traits::difference_type difference_type; return difference_type(y) - difference_type(x); } }} #endif // BOOST_NUMERIC_TRAITS_HPP_DWA20001901 KWStyle-master/Utilities/boost/detail/ob_compressed_pair.hpp000066400000000000000000000400171265471724600246440ustar00rootroot00000000000000// (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 libs/utility/compressed_pair.hpp // /* Release notes: 20 Jan 2001: Fixed obvious bugs (David Abrahams) 07 Oct 2000: Added better single argument constructor support. 03 Oct 2000: Added VC6 support (JM). 23rd July 2000: Additional comments added. (JM) Jan 2000: Original version: this version crippled for use with crippled compilers - John Maddock Jan 2000. */ #ifndef BOOST_OB_COMPRESSED_PAIR_HPP #define BOOST_OB_COMPRESSED_PAIR_HPP #include #ifndef BOOST_OBJECT_TYPE_TRAITS_HPP #include #endif #ifndef BOOST_SAME_TRAITS_HPP #include #endif #ifndef BOOST_CALL_TRAITS_HPP #include #endif namespace boost { #ifdef BOOST_MSVC6_MEMBER_TEMPLATES // // use member templates to emulate // partial specialisation. Note that due to // problems with overload resolution with VC6 // each of the compressed_pair versions that follow // have one template single-argument constructor // in place of two specific constructors: // template class compressed_pair; namespace detail{ template struct best_conversion_traits { typedef char one; typedef char (&two)[2]; static A a; static one test(T1); static two test(T2); enum { value = sizeof(test(a)) }; }; template struct init_one; template <> struct init_one<1> { template static void init(const A& a, T1* p1, T2*) { *p1 = a; } }; template <> struct init_one<2> { template static void init(const A& a, T1*, T2* p2) { *p2 = a; } }; // T1 != T2, both non-empty template class compressed_pair_0 { private: T1 _first; T2 _second; public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_0() : _first(), _second() {} compressed_pair_0(first_param_type x, second_param_type y) : _first(x), _second(y) {} template explicit compressed_pair_0(const A& val) { init_one::value>::init(val, &_first, &_second); } compressed_pair_0(const ::boost::compressed_pair& x) : _first(x.first()), _second(x.second()) {} #if 0 compressed_pair_0& operator=(const compressed_pair_0& x) { cout << "assigning compressed pair 0" << endl; _first = x._first; _second = x._second; cout << "finished assigning compressed pair 0" << endl; return *this; } #endif first_reference first() { return _first; } first_const_reference first() const { return _first; } second_reference second() { return _second; } second_const_reference second() const { return _second; } void swap(compressed_pair_0& y) { using std::swap; swap(_first, y._first); swap(_second, y._second); } }; // T1 != T2, T2 empty template class compressed_pair_1 : T2 { private: T1 _first; public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_1() : T2(), _first() {} compressed_pair_1(first_param_type x, second_param_type y) : T2(y), _first(x) {} template explicit compressed_pair_1(const A& val) { init_one::value>::init(val, &_first, static_cast(this)); } compressed_pair_1(const ::boost::compressed_pair& x) : T2(x.second()), _first(x.first()) {} first_reference first() { return _first; } first_const_reference first() const { return _first; } second_reference second() { return *this; } second_const_reference second() const { return *this; } void swap(compressed_pair_1& y) { // no need to swap empty base class: using std::swap; swap(_first, y._first); } }; // T1 != T2, T1 empty template class compressed_pair_2 : T1 { private: T2 _second; public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_2() : T1(), _second() {} compressed_pair_2(first_param_type x, second_param_type y) : T1(x), _second(y) {} template explicit compressed_pair_2(const A& val) { init_one::value>::init(val, static_cast(this), &_second); } compressed_pair_2(const ::boost::compressed_pair& x) : T1(x.first()), _second(x.second()) {} #if 0 compressed_pair_2& operator=(const compressed_pair_2& x) { cout << "assigning compressed pair 2" << endl; T1::operator=(x); _second = x._second; cout << "finished assigning compressed pair 2" << endl; return *this; } #endif first_reference first() { return *this; } first_const_reference first() const { return *this; } second_reference second() { return _second; } second_const_reference second() const { return _second; } void swap(compressed_pair_2& y) { // no need to swap empty base class: using std::swap; swap(_second, y._second); } }; // T1 != T2, both empty template class compressed_pair_3 : T1, T2 { public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_3() : T1(), T2() {} compressed_pair_3(first_param_type x, second_param_type y) : T1(x), T2(y) {} template explicit compressed_pair_3(const A& val) { init_one::value>::init(val, static_cast(this), static_cast(this)); } compressed_pair_3(const ::boost::compressed_pair& x) : T1(x.first()), T2(x.second()) {} first_reference first() { return *this; } first_const_reference first() const { return *this; } second_reference second() { return *this; } second_const_reference second() const { return *this; } void swap(compressed_pair_3& y) { // no need to swap empty base classes: } }; // T1 == T2, and empty template class compressed_pair_4 : T1 { public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_4() : T1() {} compressed_pair_4(first_param_type x, second_param_type y) : T1(x), m_second(y) {} // only one single argument constructor since T1 == T2 explicit compressed_pair_4(first_param_type x) : T1(x), m_second(x) {} compressed_pair_4(const ::boost::compressed_pair& x) : T1(x.first()), m_second(x.second()) {} first_reference first() { return *this; } first_const_reference first() const { return *this; } second_reference second() { return m_second; } second_const_reference second() const { return m_second; } void swap(compressed_pair_4& y) { // no need to swap empty base classes: } private: T2 m_second; }; // T1 == T2, not empty template class compressed_pair_5 { private: T1 _first; T2 _second; public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair_5() : _first(), _second() {} compressed_pair_5(first_param_type x, second_param_type y) : _first(x), _second(y) {} // only one single argument constructor since T1 == T2 explicit compressed_pair_5(first_param_type x) : _first(x), _second(x) {} compressed_pair_5(const ::boost::compressed_pair& c) : _first(c.first()), _second(c.second()) {} first_reference first() { return _first; } first_const_reference first() const { return _first; } second_reference second() { return _second; } second_const_reference second() const { return _second; } void swap(compressed_pair_5& y) { using std::swap; swap(_first, y._first); swap(_second, y._second); } }; template struct compressed_pair_chooser { template struct rebind { typedef compressed_pair_0 type; }; }; template <> struct compressed_pair_chooser { template struct rebind { typedef compressed_pair_1 type; }; }; template <> struct compressed_pair_chooser { template struct rebind { typedef compressed_pair_2 type; }; }; template <> struct compressed_pair_chooser { template struct rebind { typedef compressed_pair_3 type; }; }; template <> struct compressed_pair_chooser { template struct rebind { typedef compressed_pair_4 type; }; }; template <> struct compressed_pair_chooser { template struct rebind { typedef compressed_pair_5 type; }; }; template struct compressed_pair_traits { private: typedef compressed_pair_chooser::value, is_empty::value, is_same::value> chooser; typedef typename chooser::template rebind bound_type; public: typedef typename bound_type::type type; }; } // namespace detail template class compressed_pair : public detail::compressed_pair_traits::type { private: typedef typename detail::compressed_pair_traits::type base_type; public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair() : base_type() {} compressed_pair(first_param_type x, second_param_type y) : base_type(x, y) {} template explicit compressed_pair(const A& x) : base_type(x){} first_reference first() { return base_type::first(); } first_const_reference first() const { return base_type::first(); } second_reference second() { return base_type::second(); } second_const_reference second() const { return base_type::second(); } }; template inline void swap(compressed_pair& x, compressed_pair& y) { x.swap(y); } #else // no partial specialisation, no member templates: template class compressed_pair { private: T1 _first; T2 _second; public: typedef T1 first_type; typedef T2 second_type; typedef typename call_traits::param_type first_param_type; typedef typename call_traits::param_type second_param_type; typedef typename call_traits::reference first_reference; typedef typename call_traits::reference second_reference; typedef typename call_traits::const_reference first_const_reference; typedef typename call_traits::const_reference second_const_reference; compressed_pair() : _first(), _second() {} compressed_pair(first_param_type x, second_param_type y) : _first(x), _second(y) {} explicit compressed_pair(first_param_type x) : _first(x), _second() {} // can't define this in case T1 == T2: // explicit compressed_pair(second_param_type y) : _first(), _second(y) {} first_reference first() { return _first; } first_const_reference first() const { return _first; } second_reference second() { return _second; } second_const_reference second() const { return _second; } void swap(compressed_pair& y) { using std::swap; swap(_first, y._first); swap(_second, y._second); } }; template inline void swap(compressed_pair& x, compressed_pair& y) { x.swap(y); } #endif } // boost #endif // BOOST_OB_COMPRESSED_PAIR_HPP KWStyle-master/Utilities/boost/detail/quick_allocator.hpp000066400000000000000000000011361265471724600241600ustar00rootroot00000000000000#ifndef BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED #define BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED // MS compatible compilers support #pragma once #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif // // detail/quick_allocator.hpp // // Copyright (c) 2003 David Abrahams // Copyright (c) 2003 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 #endif // #ifndef BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED KWStyle-master/Utilities/boost/detail/reference_content.hpp000066400000000000000000000045741265471724600245050ustar00rootroot00000000000000//----------------------------------------------------------------------------- // 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/mpl/bool.hpp" # include "boost/type_traits/has_nothrow_copy.hpp" #include "boost/mpl/void.hpp" namespace boost { namespace detail { /////////////////////////////////////////////////////////////////////////////// // (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< mpl::void_ > { template struct apply : make_reference_content { }; typedef mpl::void_ type; }; } // namespace detail /////////////////////////////////////////////////////////////////////////////// // reference_content type traits specializations // template struct has_nothrow_copy< ::boost::detail::reference_content< T& > > : mpl::true_ { }; } // namespace boost #endif // BOOST_DETAIL_REFERENCE_CONTENT_HPP KWStyle-master/Utilities/boost/detail/scoped_enum_emulation.hpp000066400000000000000000000006651265471724600253700ustar00rootroot00000000000000/* * Copyright (c) 2014 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_SCOPED_ENUM_EMULATION_HPP #define BOOST_DETAIL_SCOPED_ENUM_EMULATION_HPP // The header file at this path is deprecated; // use boost/core/scoped_enum.hpp instead. #include #endif KWStyle-master/Utilities/boost/detail/select_type.hpp000066400000000000000000000021521265471724600233230ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/detail/sp_typeinfo.hpp000066400000000000000000000013631265471724600233450ustar00rootroot00000000000000#ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED #define BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED // MS compatible compilers support #pragma once #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif // detail/sp_typeinfo.hpp // // Deprecated, please use boost/core/typeinfo.hpp // // Copyright 2007 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 detail { typedef boost::core::typeinfo sp_typeinfo; } // namespace detail } // namespace boost #define BOOST_SP_TYPEID(T) BOOST_CORE_TYPEID(T) #endif // #ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED KWStyle-master/Utilities/boost/detail/templated_streams.hpp000066400000000000000000000043021265471724600245170ustar00rootroot00000000000000//----------------------------------------------------------------------------- // boost detail/templated_streams.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_TEMPLATED_STREAMS_HPP #define BOOST_DETAIL_TEMPLATED_STREAMS_HPP #include "boost/config.hpp" /////////////////////////////////////////////////////////////////////////////// // (detail) BOOST_TEMPLATED_STREAM_* macros // // Provides workaround platforms without stream class templates. // #if !defined(BOOST_NO_STD_LOCALE) #define BOOST_TEMPLATED_STREAM_TEMPLATE(E,T) \ template < typename E , typename T > #define BOOST_TEMPLATED_STREAM_TEMPLATE_ALLOC(E,T,A) \ template < typename E , typename T , typename A > #define BOOST_TEMPLATED_STREAM_ARGS(E,T) \ typename E , typename T #define BOOST_TEMPLATED_STREAM_ARGS_ALLOC(E,T,A) \ typename E , typename T , typename A #define BOOST_TEMPLATED_STREAM_COMMA , #define BOOST_TEMPLATED_STREAM_ELEM(E) E #define BOOST_TEMPLATED_STREAM_TRAITS(T) T #define BOOST_TEMPLATED_STREAM_ALLOC(A) A #define BOOST_TEMPLATED_STREAM(X,E,T) \ BOOST_JOIN(std::basic_,X)< E , T > #define BOOST_TEMPLATED_STREAM_WITH_ALLOC(X,E,T,A) \ BOOST_JOIN(std::basic_,X)< E , T , A > #else // defined(BOOST_NO_STD_LOCALE) #define BOOST_TEMPLATED_STREAM_TEMPLATE(E,T) /**/ #define BOOST_TEMPLATED_STREAM_TEMPLATE_ALLOC(E,T,A) /**/ #define BOOST_TEMPLATED_STREAM_ARGS(E,T) /**/ #define BOOST_TEMPLATED_STREAM_ARGS_ALLOC(E,T,A) /**/ #define BOOST_TEMPLATED_STREAM_COMMA /**/ #define BOOST_TEMPLATED_STREAM_ELEM(E) char #define BOOST_TEMPLATED_STREAM_TRAITS(T) std::char_traits #define BOOST_TEMPLATED_STREAM_ALLOC(A) std::allocator #define BOOST_TEMPLATED_STREAM(X,E,T) \ std::X #define BOOST_TEMPLATED_STREAM_WITH_ALLOC(X,E,T,A) \ std::X #endif // BOOST_NO_STD_LOCALE #endif // BOOST_DETAIL_TEMPLATED_STREAMS_HPP KWStyle-master/Utilities/boost/detail/utf8_codecvt_facet.hpp000066400000000000000000000170131265471724600245440ustar00rootroot00000000000000// Copyright (c) 2001 Ronald Garcia, Indiana University (garcia@osl.iu.edu) // Andrew Lumsdaine, Indiana University (lums@osl.iu.edu). // Distributed under the Boost Software License, Version 1.0. (See accompany- // ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_UTF8_CODECVT_FACET_HPP #define BOOST_UTF8_CODECVT_FACET_HPP // MS compatible compilers support #pragma once #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // utf8_codecvt_facet.hpp // This header defines class utf8_codecvt_facet, derived from // std::codecvt, which can be used to convert utf8 data in // files into wchar_t strings in the application. // // The header is NOT STANDALONE, and is not to be included by the USER. // There are at least two libraries which want to use this functionality, and // we want to avoid code duplication. It would be possible to create utf8 // library, but: // - this requires review process first // - in the case, when linking the a library which uses utf8 // (say 'program_options'), user should also link to the utf8 library. // This seems inconvenient, and asking a user to link to an unrevieved // library is strange. // Until the above points are fixed, a library which wants to use utf8 must: // - include this header in one of it's headers or sources // - include the corresponding boost/detail/utf8_codecvt_facet.ipp file in one // of its sources // - before including either file, the library must define // - BOOST_UTF8_BEGIN_NAMESPACE to the namespace declaration that must be used // - BOOST_UTF8_END_NAMESPACE to the code to close the previous namespace // declaration. // - BOOST_UTF8_DECL -- to the code which must be used for all 'exportable' // symbols. // // For example, program_options library might contain: // #define BOOST_UTF8_BEGIN_NAMESPACE // namespace boost { namespace program_options { // #define BOOST_UTF8_END_NAMESPACE }} // #define BOOST_UTF8_DECL BOOST_PROGRAM_OPTIONS_DECL // #include // // Essentially, each library will have its own copy of utf8 code, in // different namespaces. // Note:(Robert Ramey). I have made the following alterations in the original // code. // a) Rendered utf8_codecvt with using templates // b) Move longer functions outside class definition to prevent inlining // and make code smaller // c) added on a derived class to permit translation to/from current // locale to utf8 // See http://www.boost.org for updates, documentation, and revision history. // archives stored as text - note these ar templated on the basic // stream templates to accommodate wide (and other?) kind of characters // // note the fact that on libraries without wide characters, ostream is // is not a specialization of basic_ostream which in fact is not defined // in such cases. So we can't use basic_ostream but rather // use two template parameters // // utf8_codecvt_facet // This is an implementation of a std::codecvt facet for translating // from UTF-8 externally to UCS-4. Note that this is not tied to // any specific types in order to allow customization on platforms // where wchar_t is not big enough. // // NOTES: The current implementation jumps through some unpleasant hoops in // order to deal with signed character types. As a std::codecvt_base::result, // it is necessary for the ExternType to be convertible to unsigned char. // I chose not to tie the extern_type explicitly to char. But if any combination // of types other than is used, then std::codecvt must be // specialized on those types for this to work. #include #include // for mbstate_t #include // for std::size_t #include #include #if defined(BOOST_NO_STDC_NAMESPACE) namespace std { using ::mbstate_t; using ::size_t; } #endif // maximum lenght of a multibyte string #define MB_LENGTH_MAX 8 BOOST_UTF8_BEGIN_NAMESPACE //----------------------------------------------------------------------------// // // // utf8_codecvt_facet // // // // See utf8_codecvt_facet.ipp for the implementation. // //----------------------------------------------------------------------------// struct BOOST_UTF8_DECL utf8_codecvt_facet : public std::codecvt { public: explicit utf8_codecvt_facet(std::size_t no_locale_manage=0) : std::codecvt(no_locale_manage) {} protected: virtual std::codecvt_base::result do_in( std::mbstate_t& state, const char * from, const char * from_end, const char * & from_next, wchar_t * to, wchar_t * to_end, wchar_t*& to_next ) const; virtual std::codecvt_base::result do_out( std::mbstate_t & state, const wchar_t * from, const wchar_t * from_end, const wchar_t* & from_next, char * to, char * to_end, char * & to_next ) const; bool invalid_continuing_octet(unsigned char octet_1) const { return (octet_1 < 0x80|| 0xbf< octet_1); } bool invalid_leading_octet(unsigned char octet_1) const { return (0x7f < octet_1 && octet_1 < 0xc0) || (octet_1 > 0xfd); } // continuing octets = octets except for the leading octet static unsigned int get_cont_octet_count(unsigned char lead_octet) { return get_octet_count(lead_octet) - 1; } static unsigned int get_octet_count(unsigned char lead_octet); // How many "continuing octets" will be needed for this word // == total octets - 1. int get_cont_octet_out_count(wchar_t word) const ; virtual bool do_always_noconv() const BOOST_NOEXCEPT_OR_NOTHROW { return false; } // UTF-8 isn't really stateful since we rewind on partial conversions virtual std::codecvt_base::result do_unshift( std::mbstate_t&, char * from, char * /*to*/, char * & next ) const { next = from; return ok; } virtual int do_encoding() const BOOST_NOEXCEPT_OR_NOTHROW { const int variable_byte_external_encoding=0; return variable_byte_external_encoding; } // How many char objects can I process to get <= max_limit // wchar_t objects? virtual int do_length( const std::mbstate_t &, const char * from, const char * from_end, std::size_t max_limit ) const #if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) throw() #endif ; virtual int do_length( std::mbstate_t & s, const char * from, const char * from_end, std::size_t max_limit ) const #if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) throw() #endif { return do_length( const_cast(s), from, from_end, max_limit ); } // Largest possible value do_length(state,from,from_end,1) could return. virtual int do_max_length() const BOOST_NOEXCEPT_OR_NOTHROW { return 6; // largest UTF-8 encoding of a UCS-4 character } }; BOOST_UTF8_END_NAMESPACE #endif // BOOST_UTF8_CODECVT_FACET_HPP KWStyle-master/Utilities/boost/detail/utf8_codecvt_facet.ipp000066400000000000000000000222431265471724600245460ustar00rootroot00000000000000/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // utf8_codecvt_facet.ipp // Copyright (c) 2001 Ronald Garcia, Indiana University (garcia@osl.iu.edu) // Andrew Lumsdaine, Indiana University (lums@osl.iu.edu). // 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) // Please see the comments in to // learn how this file should be used. #include #include // for multi-byte converson routines #include #include #include // If we don't have wstring, then Unicode support // is not available anyway, so we don't need to even // compiler this file. This also fixes the problem // with mingw, which can compile this file, but will // generate link error when building DLL. #ifndef BOOST_NO_STD_WSTRING BOOST_UTF8_BEGIN_NAMESPACE /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // implementation for wchar_t // Translate incoming UTF-8 into UCS-4 std::codecvt_base::result utf8_codecvt_facet::do_in( std::mbstate_t& /*state*/, const char * from, const char * from_end, const char * & from_next, wchar_t * to, wchar_t * to_end, wchar_t * & to_next ) const { // Basic algorithm: The first octet determines how many // octets total make up the UCS-4 character. The remaining // "continuing octets" all begin with "10". To convert, subtract // the amount that specifies the number of octets from the first // octet. Subtract 0x80 (1000 0000) from each continuing octet, // then mash the whole lot together. Note that each continuing // octet only uses 6 bits as unique values, so only shift by // multiples of 6 to combine. while (from != from_end && to != to_end) { // Error checking on the first octet if (invalid_leading_octet(*from)){ from_next = from; to_next = to; return std::codecvt_base::error; } // The first octet is adjusted by a value dependent upon // the number of "continuing octets" encoding the character const int cont_octet_count = get_cont_octet_count(*from); const wchar_t octet1_modifier_table[] = { 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc }; // The unsigned char conversion is necessary in case char is // signed (I learned this the hard way) wchar_t ucs_result = (unsigned char)(*from++) - octet1_modifier_table[cont_octet_count]; // Invariants : // 1) At the start of the loop, 'i' continuing characters have been // processed // 2) *from points to the next continuing character to be processed. int i = 0; while(i != cont_octet_count && from != from_end) { // Error checking on continuing characters if (invalid_continuing_octet(*from)) { from_next = from; to_next = to; return std::codecvt_base::error; } ucs_result *= (1 << 6); // each continuing character has an extra (10xxxxxx)b attached to // it that must be removed. ucs_result += (unsigned char)(*from++) - 0x80; ++i; } // If the buffer ends with an incomplete unicode character... if (from == from_end && i != cont_octet_count) { // rewind "from" to before the current character translation from_next = from - (i+1); to_next = to; return std::codecvt_base::partial; } *to++ = ucs_result; } from_next = from; to_next = to; // Were we done converting or did we run out of destination space? if(from == from_end) return std::codecvt_base::ok; else return std::codecvt_base::partial; } std::codecvt_base::result utf8_codecvt_facet::do_out( std::mbstate_t& /*state*/, const wchar_t * from, const wchar_t * from_end, const wchar_t * & from_next, char * to, char * to_end, char * & to_next ) const { // RG - consider merging this table with the other one const wchar_t octet1_modifier_table[] = { 0x00, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc }; wchar_t max_wchar = (std::numeric_limits::max)(); while (from != from_end && to != to_end) { // Check for invalid UCS-4 character if (*from > max_wchar) { from_next = from; to_next = to; return std::codecvt_base::error; } int cont_octet_count = get_cont_octet_out_count(*from); // RG - comment this formula better int shift_exponent = (cont_octet_count) * 6; // Process the first character *to++ = static_cast(octet1_modifier_table[cont_octet_count] + (unsigned char)(*from / (1 << shift_exponent))); // Process the continuation characters // Invariants: At the start of the loop: // 1) 'i' continuing octets have been generated // 2) '*to' points to the next location to place an octet // 3) shift_exponent is 6 more than needed for the next octet int i = 0; while (i != cont_octet_count && to != to_end) { shift_exponent -= 6; *to++ = static_cast(0x80 + ((*from / (1 << shift_exponent)) % (1 << 6))); ++i; } // If we filled up the out buffer before encoding the character if(to == to_end && i != cont_octet_count) { from_next = from; to_next = to - (i+1); return std::codecvt_base::partial; } ++from; } from_next = from; to_next = to; // Were we done or did we run out of destination space if(from == from_end) return std::codecvt_base::ok; else return std::codecvt_base::partial; } // How many char objects can I process to get <= max_limit // wchar_t objects? int utf8_codecvt_facet::do_length( const std::mbstate_t &, const char * from, const char * from_end, std::size_t max_limit ) const #if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) throw() #endif { // RG - this code is confusing! I need a better way to express it. // and test cases. // Invariants: // 1) last_octet_count has the size of the last measured character // 2) char_count holds the number of characters shown to fit // within the bounds so far (no greater than max_limit) // 3) from_next points to the octet 'last_octet_count' before the // last measured character. int last_octet_count=0; std::size_t char_count = 0; const char* from_next = from; // Use "<" because the buffer may represent incomplete characters while (from_next+last_octet_count <= from_end && char_count <= max_limit) { from_next += last_octet_count; last_octet_count = (get_octet_count(*from_next)); ++char_count; } return static_cast(from_next-from_end); } unsigned int utf8_codecvt_facet::get_octet_count( unsigned char lead_octet ){ // if the 0-bit (MSB) is 0, then 1 character if (lead_octet <= 0x7f) return 1; // Otherwise the count number of consecutive 1 bits starting at MSB // assert(0xc0 <= lead_octet && lead_octet <= 0xfd); if (0xc0 <= lead_octet && lead_octet <= 0xdf) return 2; else if (0xe0 <= lead_octet && lead_octet <= 0xef) return 3; else if (0xf0 <= lead_octet && lead_octet <= 0xf7) return 4; else if (0xf8 <= lead_octet && lead_octet <= 0xfb) return 5; else return 6; } namespace detail { template int get_cont_octet_out_count_impl(wchar_t word){ if (word < 0x80) { return 0; } if (word < 0x800) { return 1; } return 2; } template<> int get_cont_octet_out_count_impl<4>(wchar_t word){ if (word < 0x80) { return 0; } if (word < 0x800) { return 1; } // Note that the following code will generate warnings on some platforms // where wchar_t is defined as UCS2. The warnings are superfluous as the // specialization is never instantitiated with such compilers, but this // can cause problems if warnings are being treated as errors, so we guard // against that. Including as we do // should be enough to get WCHAR_MAX defined. #if !defined(WCHAR_MAX) # error WCHAR_MAX not defined! #endif // cope with VC++ 7.1 or earlier having invalid WCHAR_MAX #if defined(_MSC_VER) && _MSC_VER <= 1310 // 7.1 or earlier return 2; #elif WCHAR_MAX > 0x10000 if (word < 0x10000) { return 2; } if (word < 0x200000) { return 3; } if (word < 0x4000000) { return 4; } return 5; #else return 2; #endif } } // namespace detail // How many "continuing octets" will be needed for this word // == total octets - 1. int utf8_codecvt_facet::get_cont_octet_out_count( wchar_t word ) const { return detail::get_cont_octet_out_count_impl(word); } BOOST_UTF8_END_NAMESPACE #endif KWStyle-master/Utilities/boost/detail/winapi/000077500000000000000000000000001265471724600215615ustar00rootroot00000000000000KWStyle-master/Utilities/boost/detail/winapi/GetCurrentProcess.hpp000066400000000000000000000013111265471724600257070ustar00rootroot00000000000000// GetCurrentProcess.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_DETAIL_WINAPI_GETCURRENTPROCESS_HPP #define BOOST_DETAIL_WINAPI_GETCURRENTPROCESS_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) using ::GetCurrentProcess; #else extern "C" __declspec(dllimport) HANDLE_ WINAPI GetCurrentProcess(); #endif } } } #endif // BOOST_DETAIL_WINAPI_GETCURRENTPROCESS_HPP KWStyle-master/Utilities/boost/detail/winapi/GetCurrentThread.hpp000066400000000000000000000015671265471724600255150ustar00rootroot00000000000000// GetCurrentThread.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_DETAIL_WINAPI_GETCURRENTTHREAD_HPP #define BOOST_DETAIL_WINAPI_GETCURRENTTHREAD_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( UNDER_CE ) // Windows CE define GetCurrentThread as an inline function in kfuncs.h inline HANDLE_ GetCurrentThread() { return ::GetCurrentThread(); } #else #if defined( BOOST_USE_WINDOWS_H ) using ::GetCurrentThread; #else extern "C" __declspec(dllimport) HANDLE_ WINAPI GetCurrentThread(); #endif #endif } } } #endif // BOOST_DETAIL_WINAPI_GETCURRENTTHREAD_HPP KWStyle-master/Utilities/boost/detail/winapi/GetLastError.hpp000066400000000000000000000012631265471724600246510ustar00rootroot00000000000000// GetLastError.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_DETAIL_WINAPI_GETLASTERROR_HPP #define BOOST_DETAIL_WINAPI_GETLASTERROR_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) using ::GetLastError; #else extern "C" __declspec(dllimport) DWORD_ WINAPI GetLastError(); #endif } } } #endif // BOOST_DETAIL_WINAPI_GETLASTERROR_HPP KWStyle-master/Utilities/boost/detail/winapi/GetProcessTimes.hpp000066400000000000000000000017061265471724600253560ustar00rootroot00000000000000// GetProcessTimes.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_DETAIL_WINAPI_GETPROCESSTIMES_HPP #define BOOST_DETAIL_WINAPI_GETPROCESSTIMES_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if !defined(UNDER_CE) // Windows CE does not define GetProcessTimes #if defined( BOOST_USE_WINDOWS_H ) using ::GetProcessTimes; #else extern "C" __declspec(dllimport) BOOL_ WINAPI GetProcessTimes( HANDLE_ hProcess, LPFILETIME_ lpCreationTime, LPFILETIME_ lpExitTime, LPFILETIME_ lpKernelTime, LPFILETIME_ lpUserTime ); #endif #endif } } } #endif // BOOST_DETAIL_WINAPI_GETPROCESSTIMES_HPP KWStyle-master/Utilities/boost/detail/winapi/GetThreadTimes.hpp000066400000000000000000000015621265471724600251470ustar00rootroot00000000000000// GetThreadTimes.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_DETAIL_WINAPI_GETTHREADTIMES_HPP #define BOOST_DETAIL_WINAPI_GETTHREADTIMES_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) using ::GetThreadTimes; #else extern "C" __declspec(dllimport) BOOL_ WINAPI GetThreadTimes( HANDLE_ hThread, LPFILETIME_ lpCreationTime, LPFILETIME_ lpExitTime, LPFILETIME_ lpKernelTime, LPFILETIME_ lpUserTime ); #endif } } } #endif // BOOST_DETAIL_WINAPI_GETTHREADTIMES_HPP KWStyle-master/Utilities/boost/detail/winapi/LocalFree.hpp000066400000000000000000000013641265471724600241320ustar00rootroot00000000000000// LocalFree.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_DETAIL_WINAPI_LOCALFREE_HPP #define BOOST_DETAIL_WINAPI_LOCALFREE_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) typedef HANDLE_ HLOCAL_; using ::LocalFree; #else extern "C" typedef HANDLE_ HLOCAL_; extern "C" __declspec(dllimport) HLOCAL_ WINAPI LocalFree(HLOCAL_ hMem); #endif } } } #endif // BOOST_DETAIL_WINAPI_LOCALFREE_HPP KWStyle-master/Utilities/boost/detail/winapi/basic_types.hpp000066400000000000000000000064141265471724600246040ustar00rootroot00000000000000// basic_types.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_DETAIL_WINAPI_BASIC_TYPES_HPP #define BOOST_DETAIL_WINAPI_BASIC_TYPES_HPP #include #include #include #if defined( BOOST_USE_WINDOWS_H ) # include #elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined(__CYGWIN__) # include // @FIXME Which condition must be tested # ifdef UNDER_CE # ifndef WINAPI # ifndef _WIN32_WCE_EMULATION # define WINAPI __cdecl // Note this doesn't match the desktop definition # else # define WINAPI __stdcall # endif # endif # else # ifndef WINAPI # define WINAPI __stdcall # endif # endif # ifndef NTAPI # define NTAPI __stdcall # endif #else # error "Win32 functions not available" #endif #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) typedef ::BOOL BOOL_; typedef ::BOOLEAN BOOLEAN_; typedef ::PBOOLEAN PBOOLEAN_; typedef ::BYTE BYTE_; typedef ::WORD WORD_; typedef ::DWORD DWORD_; typedef ::HANDLE HANDLE_; typedef ::HMODULE HMODULE_; typedef ::LONG LONG_; typedef ::ULONG ULONG_; typedef ::LONGLONG LONGLONG_; typedef ::ULONGLONG ULONGLONG_; typedef ::INT_PTR INT_PTR_; typedef ::UINT_PTR UINT_PTR_; typedef ::LONG_PTR LONG_PTR_; typedef ::ULONG_PTR ULONG_PTR_; typedef ::LARGE_INTEGER LARGE_INTEGER_; typedef ::PLARGE_INTEGER PLARGE_INTEGER_; typedef ::PVOID PVOID_; typedef ::LPVOID LPVOID_; typedef ::CHAR CHAR_; typedef ::LPSTR LPSTR_; typedef ::LPCSTR LPCSTR_; typedef ::WCHAR WCHAR_; typedef ::LPWSTR LPWSTR_; typedef ::LPCWSTR LPCWSTR_; #else extern "C" { typedef int BOOL_; typedef unsigned char BYTE_; typedef BYTE_ BOOLEAN_; typedef BOOLEAN_* PBOOLEAN_; typedef unsigned short WORD_; typedef unsigned long DWORD_; typedef void* HANDLE_; typedef void* HMODULE_; typedef long LONG_; typedef unsigned long ULONG_; typedef boost::int64_t LONGLONG_; typedef boost::uint64_t ULONGLONG_; // @FIXME Which condition must be tested # ifdef _WIN64 #if defined(__CYGWIN__) typedef long INT_PTR_; typedef unsigned long UINT_PTR_; typedef long LONG_PTR_; typedef unsigned long ULONG_PTR_; #else typedef __int64 INT_PTR_; typedef unsigned __int64 UINT_PTR_; typedef __int64 LONG_PTR_; typedef unsigned __int64 ULONG_PTR_; #endif # else typedef int INT_PTR_; typedef unsigned int UINT_PTR_; typedef long LONG_PTR_; typedef unsigned long ULONG_PTR_; # endif typedef struct _LARGE_INTEGER { LONGLONG_ QuadPart; } LARGE_INTEGER_; typedef LARGE_INTEGER_ *PLARGE_INTEGER_; typedef void *PVOID_; typedef void *LPVOID_; typedef const void *LPCVOID_; typedef char CHAR_; typedef CHAR_ *LPSTR_; typedef const CHAR_ *LPCSTR_; typedef wchar_t WCHAR_; typedef WCHAR_ *LPWSTR_; typedef const WCHAR_ *LPCWSTR_; } #endif } } } #endif // BOOST_DETAIL_WINAPI_BASIC_TYPES_HPP KWStyle-master/Utilities/boost/detail/winapi/config.hpp000066400000000000000000000032141265471724600235370ustar00rootroot00000000000000// config.hpp --------------------------------------------------------------// // Copyright 2013 Andrey Semashev // Distributed under the Boost Software License, Version 1.0. // See http://www.boost.org/LICENSE_1_0.txt #ifndef BOOST_DETAIL_WINAPI_CONFIG_HPP_INCLUDED_ #define BOOST_DETAIL_WINAPI_CONFIG_HPP_INCLUDED_ #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif // These constants reflect _WIN32_WINNT_* macros from sdkddkver.h // See also: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745%28v=vs.85%29.aspx#setting_winver_or__win32_winnt #define BOOST_WINAPI_VERSION_NT4 0x0400 #define BOOST_WINAPI_VERSION_WIN2K 0x0500 #define BOOST_WINAPI_VERSION_WINXP 0x0501 #define BOOST_WINAPI_VERSION_WS03 0x0502 #define BOOST_WINAPI_VERSION_WIN6 0x0600 #define BOOST_WINAPI_VERSION_VISTA 0x0600 #define BOOST_WINAPI_VERSION_WS08 0x0600 #define BOOST_WINAPI_VERSION_LONGHORN 0x0600 #define BOOST_WINAPI_VERSION_WIN7 0x0601 #define BOOST_WINAPI_VERSION_WIN8 0x0602 #define BOOST_WINAPI_VERSION_WINBLUE 0x0603 #if !defined(BOOST_USE_WINAPI_VERSION) #if defined(_WIN32_WINNT) #define BOOST_USE_WINAPI_VERSION _WIN32_WINNT #elif defined(WINVER) #define BOOST_USE_WINAPI_VERSION WINVER #else // By default use Windows XP API #define BOOST_USE_WINAPI_VERSION BOOST_WINAPI_VERSION_WINXP #endif #endif #if defined(BOOST_USE_WINDOWS_H) // We have to define the version macros so that windows.h provides the necessary symbols #if !defined(_WIN32_WINNT) #define _WIN32_WINNT BOOST_USE_WINAPI_VERSION #endif #if !defined(WINVER) #define WINVER BOOST_USE_WINAPI_VERSION #endif #endif #endif // BOOST_DETAIL_WINAPI_CONFIG_HPP_INCLUDED_ KWStyle-master/Utilities/boost/detail/winapi/crypt.hpp000066400000000000000000000042461265471724600234410ustar00rootroot00000000000000// crypt.hpp --------------------------------------------------------------// // Copyright 2014 Antony Polukhin // Distributed under the Boost Software License, Version 1.0. // See http://www.boost.org/LICENSE_1_0.txt #ifndef BOOST_DETAIL_WINAPI_CRYPT_HPP #define BOOST_DETAIL_WINAPI_CRYPT_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) typedef HCRYPTPROV HCRYPTPROV_; using ::CryptEnumProvidersA; using ::CryptAcquireContextA; using ::CryptGenRandom; using ::CryptReleaseContext; const DWORD_ PROV_RSA_FULL_ = PROV_RSA_FULL; const DWORD_ CRYPT_VERIFYCONTEXT_ = CRYPT_VERIFYCONTEXT; const DWORD_ CRYPT_NEWKEYSET_ = CRYPT_NEWKEYSET; const DWORD_ CRYPT_DELETEKEYSET_ = CRYPT_DELETEKEYSET; const DWORD_ CRYPT_MACHINE_KEYSET_ = CRYPT_MACHINE_KEYSET; const DWORD_ CRYPT_SILENT_ = CRYPT_SILENT; #else extern "C" { typedef ULONG_PTR_ HCRYPTPROV_; __declspec(dllimport) BOOL_ __stdcall CryptEnumProvidersA( DWORD_ dwIndex, DWORD_ *pdwReserved, DWORD_ dwFlags, DWORD_ *pdwProvType, LPSTR_ szProvName, DWORD_ *pcbProvName ); __declspec(dllimport) BOOL_ __stdcall CryptAcquireContextA( HCRYPTPROV_ *phProv, LPCSTR_ pszContainer, LPCSTR_ pszProvider, DWORD_ dwProvType, DWORD_ dwFlags ); __declspec(dllimport) BOOL_ __stdcall CryptGenRandom( HCRYPTPROV_ hProv, DWORD_ dwLen, BYTE_ *pbBuffer ); __declspec(dllimport) BOOL_ __stdcall CryptReleaseContext( HCRYPTPROV_ hProv, DWORD_ dwFlags ); const DWORD_ PROV_RSA_FULL_ = 1; const DWORD_ CRYPT_VERIFYCONTEXT_ = 0xF0000000; const DWORD_ CRYPT_NEWKEYSET_ = 8; const DWORD_ CRYPT_DELETEKEYSET_ = 16; const DWORD_ CRYPT_MACHINE_KEYSET_ = 32; const DWORD_ CRYPT_SILENT_ = 64; } #endif } } } #endif // BOOST_DETAIL_WINAPI_CRYPT_HPP KWStyle-master/Utilities/boost/detail/winapi/directory_management.hpp000066400000000000000000000022301265471724600264670ustar00rootroot00000000000000// directory_management.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_DETAIL_WINAPI_DIRECTORY_MANAGEMENT_HPP #define BOOST_DETAIL_WINAPI_DIRECTORY_MANAGEMENT_HPP #include #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) using ::CreateDirectory; using ::CreateDirectoryA; using ::GetTempPathA; using ::RemoveDirectoryA; #else extern "C" { __declspec(dllimport) int __stdcall CreateDirectory(LPCTSTR_, LPSECURITY_ATTRIBUTES_*); __declspec(dllimport) int __stdcall CreateDirectoryA(LPCTSTR_, interprocess_security_attributes*); __declspec(dllimport) int __stdcall GetTempPathA(unsigned long length, char *buffer); __declspec(dllimport) int __stdcall RemoveDirectoryA(LPCTSTR_); } #endif } } } #endif // BOOST_DETAIL_WINAPI_THREAD_HPP KWStyle-master/Utilities/boost/detail/winapi/dll.hpp000066400000000000000000000035341265471724600230520ustar00rootroot00000000000000// dll.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_DETAIL_WINAPI_DLL_HPP #define BOOST_DETAIL_WINAPI_DLL_HPP #include #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) typedef ::FARPROC FARPROC_; typedef ::NEARPROC NEARPROC_; typedef ::PROC PROC_; # ifdef BOOST_NO_ANSI_APIS using ::LoadLibraryW; using ::GetModuleHandleW; # else using ::LoadLibraryA; using ::GetModuleHandleA; # endif using ::FreeLibrary; using ::GetProcAddress; #else extern "C" { # ifdef _WIN64 typedef INT_PTR_ (WINAPI *FARPROC_)(); typedef INT_PTR_ (WINAPI *NEARPROC_)(); typedef INT_PTR_ (WINAPI *PROC_)(); # else typedef int (WINAPI *FARPROC_)(); typedef int (WINAPI *NEARPROC_)(); typedef int (WINAPI *PROC_)(); # endif // _WIN64 # ifdef BOOST_NO_ANSI_APIS __declspec(dllimport) HMODULE_ WINAPI LoadLibraryW( LPCWSTR_ lpFileName ); __declspec(dllimport) HMODULE_ WINAPI GetModuleHandleW( LPCWSTR_ lpFileName ); # else __declspec(dllimport) HMODULE_ WINAPI LoadLibraryA( LPCSTR_ lpFileName ); __declspec(dllimport) HMODULE_ WINAPI GetModuleHandleA( LPCSTR_ lpFileName ); # endif __declspec(dllimport) BOOL_ WINAPI FreeLibrary( HMODULE_ hModule ); __declspec(dllimport) FARPROC_ WINAPI GetProcAddress( HMODULE_ hModule, LPCSTR_ lpProcName ); } #endif } } } #endif // BOOST_DETAIL_WINAPI_DLL_HPP KWStyle-master/Utilities/boost/detail/winapi/error_handling.hpp000066400000000000000000000054771265471724600253040ustar00rootroot00000000000000// error_handling.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_DETAIL_WINAPI_ERROR_HANDLING_HPP #define BOOST_DETAIL_WINAPI_ERROR_HANDLING_HPP #include #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) using ::FormatMessageA; using ::FormatMessageW; const int FORMAT_MESSAGE_ALLOCATE_BUFFER_= FORMAT_MESSAGE_ALLOCATE_BUFFER; const int FORMAT_MESSAGE_IGNORE_INSERTS_= FORMAT_MESSAGE_IGNORE_INSERTS; const int FORMAT_MESSAGE_FROM_STRING_= FORMAT_MESSAGE_FROM_STRING; const int FORMAT_MESSAGE_FROM_HMODULE_= FORMAT_MESSAGE_FROM_HMODULE; const int FORMAT_MESSAGE_FROM_SYSTEM_= FORMAT_MESSAGE_FROM_SYSTEM; const int FORMAT_MESSAGE_ARGUMENT_ARRAY_= FORMAT_MESSAGE_ARGUMENT_ARRAY; const int FORMAT_MESSAGE_MAX_WIDTH_MASK_= FORMAT_MESSAGE_MAX_WIDTH_MASK; const char LANG_NEUTRAL_= LANG_NEUTRAL; const char LANG_INVARIANT_= LANG_INVARIANT; const char SUBLANG_DEFAULT_= SUBLANG_DEFAULT; // user default inline WORD_ MAKELANGID_(WORD_ p, WORD_ s) { return MAKELANGID(p,s); } #else extern "C" { // using ::FormatMessageA; __declspec(dllimport) DWORD_ WINAPI FormatMessageA( DWORD_ dwFlags, LPCVOID_ lpSource, DWORD_ dwMessageId, DWORD_ dwLanguageId, LPSTR_ lpBuffer, DWORD_ nSize, va_list *Arguments ); // using ::FormatMessageW; __declspec(dllimport) DWORD_ WINAPI FormatMessageW( DWORD_ dwFlags, LPCVOID_ lpSource, DWORD_ dwMessageId, DWORD_ dwLanguageId, LPWSTR_ lpBuffer, DWORD_ nSize, va_list *Arguments ); const int FORMAT_MESSAGE_ALLOCATE_BUFFER_= 0x00000100; const int FORMAT_MESSAGE_IGNORE_INSERTS_= 0x00000200; const int FORMAT_MESSAGE_FROM_STRING_= 0x00000400; const int FORMAT_MESSAGE_FROM_HMODULE_= 0x00000800; const int FORMAT_MESSAGE_FROM_SYSTEM_= 0x00001000; const int FORMAT_MESSAGE_ARGUMENT_ARRAY_= 0x00002000; const int FORMAT_MESSAGE_MAX_WIDTH_MASK_= 0x000000FF; const char LANG_NEUTRAL_= 0x00; const char LANG_INVARIANT_= 0x7f; const char SUBLANG_DEFAULT_= 0x01; // user default inline WORD_ MAKELANGID_(WORD_ p, WORD_ s) { return ((((WORD_ )(s)) << 10) | (WORD_ )(p)); } } #endif } } } #endif // BOOST_DETAIL_WINAPI_ERROR_HANDLING_HPP KWStyle-master/Utilities/boost/detail/winapi/file_management.hpp000066400000000000000000000072311265471724600254100ustar00rootroot00000000000000// thread.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_DETAIL_WINAPI_FILE_MANAGEMENT_HPP #define BOOST_DETAIL_WINAPI_FILE_MANAGEMENT_HPP #include #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) using ::CreateFileA; using ::DeleteFileA; using ::FindFirstFileA; using ::FindNextFileA; using ::FindClose; using ::GetFileSizeEx; using ::MoveFileExA; using ::SetFileValidData; #else extern "C" { typedef struct _OVERLAPPED { ULONG_PTR Internal; ULONG_PTR InternalHigh; union { struct { DWORD Offset; DWORD OffsetHigh; } ; PVOID Pointer; } ; HANDLE hEvent; } OVERLAPPED, *LPOVERLAPPED; __declspec(dllimport) void * __stdcall CreateFileA (const char *, unsigned long, unsigned long, struct SECURITY_ATTRIBUTES_*, unsigned long, unsigned long, void *); __declspec(dllimport) int __stdcall DeleteFileA (const char *); __declspec(dllimport) void *__stdcall FindFirstFileA(const char *lpFileName, win32_find_data_t *lpFindFileData); __declspec(dllimport) int __stdcall FindNextFileA(void *hFindFile, win32_find_data_t *lpFindFileData); __declspec(dllimport) int __stdcall FindClose(void *hFindFile); __declspec(dllimport) BOOL __stdcall GetFileSizeEx( HANDLE_ hFile, PLARGE_INTEGER_ lpFileSize ); __declspec(dllimport) int __stdcall MoveFileExA (const char *, const char *, unsigned long); __declspec(dllimport) BOOL_ __stdcall SetFileValidData( HANDLE_ hFile, LONGLONG_ ValidDataLength ); __declspec(dllimport) BOOL_ __stdcall SetEndOfFile( HANDLE_ hFile ); __declspec(dllimport) BOOL_ __stdcall SetFilePointerEx( HANDLE_ hFile, LARGE_INTEGER_ liDistanceToMove, PLARGE_INTEGER_ lpNewFilePointer, DWORD_ dwMoveMethod ); __declspec(dllimport) BOOL_ __stdcall LockFile( HANDLE_ hFile, DWORD_ dwFileOffsetLow, DWORD_ dwFileOffsetHigh, DWORD_ nNumberOfBytesToLockLow, DWORD_ nNumberOfBytesToLockHigh ); __declspec(dllimport) BOOL_ __stdcall UnlockFile( HANDLE_ hFile, DWORD_ dwFileOffsetLow, DWORD_ dwFileOffsetHigh, DWORD_ nNumberOfBytesToUnlockLow, DWORD_ nNumberOfBytesToUnlockHigh ); __declspec(dllimport) BOOL_ __stdcall LockFileEx( HANDLE_ hFile, DWORD_ dwFlags, DWORD_ dwReserved, DWORD_ nNumberOfBytesToLockLow, DWORD_ nNumberOfBytesToLockHigh, LPOVERLAPPED_ lpOverlapped ); __declspec(dllimport) BOOL_ __stdcall UnlockFileEx( HANDLE_ hFile, DWORD_ dwReserved, DWORD_ nNumberOfBytesToUnlockLow, DWORD_ nNumberOfBytesToUnlockHigh, LPOVERLAPPED_ lpOverlapped ); __declspec(dllimport) BOOL_ __stdcall WriteFile( HANDLE_ hFile, LPCVOID_ lpBuffer, DWORD_ nNumberOfBytesToWrite, LPDWORD_ lpNumberOfBytesWritten, LPOVERLAPPED_ lpOverlapped ); } #endif } } } #endif // BOOST_DETAIL_WINAPI_THREAD_HPP KWStyle-master/Utilities/boost/detail/winapi/handles.hpp000066400000000000000000000022201265471724600237040ustar00rootroot00000000000000// memory.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_DETAIL_WINAPI_HANDLES_HPP #define BOOST_DETAIL_WINAPI_HANDLES_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) using ::CloseHandle; using ::DuplicateHandle; const DWORD_ duplicate_close_source = DUPLICATE_CLOSE_SOURCE; const DWORD_ duplicate_same_access = DUPLICATE_SAME_ACCESS; const HANDLE_ invalid_handle_value = INVALID_HANDLE_VALUE; #else extern "C" { __declspec(dllimport) int __stdcall CloseHandle(void*); __declspec(dllimport) int __stdcall DuplicateHandle(void*,void*,void*,void**,unsigned long,int,unsigned long); } const DWORD_ duplicate_close_source = 1; const DWORD_ duplicate_same_access = 2; const HANDLE_ invalid_handle_value = (HANDLE_)(-1); #endif } } } #endif // BOOST_DETAIL_WINAPI_HANDLES_HPP KWStyle-master/Utilities/boost/detail/winapi/memory.hpp000066400000000000000000000032741265471724600236100ustar00rootroot00000000000000// memory.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_DETAIL_WINAPI_MEMORY_HPP #define BOOST_DETAIL_WINAPI_MEMORY_HPP #include #include #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) using ::CreateFileMappingA; using ::FlushViewOfFile; using ::GetProcessHeap; using ::HeapAlloc; using ::HeapFree; using ::MapViewOfFileEx; using ::OpenFileMappingA; using ::UnmapViewOfFile; #else #undef HeapAlloc extern "C" { __declspec(dllimport) void * __stdcall CreateFileMappingA (void *, SECURITY_ATTRIBUTES_*, unsigned long, unsigned long, unsigned long, const char *); __declspec(dllimport) int __stdcall FlushViewOfFile (void *, std::size_t); __declspec(dllimport) HANDLE_ __stdcall GetProcessHeap(); __declspec(dllimport) void* __stdcall HeapAlloc(HANDLE_,DWORD_,SIZE_T_); __declspec(dllimport) BOOL_ __stdcall HeapFree(HANDLE_,DWORD_,LPVOID_); __declspec(dllimport) void * __stdcall MapViewOfFileEx (void *, unsigned long, unsigned long, unsigned long, std::size_t, void*); __declspec(dllimport) void * __stdcall OpenFileMappingA (unsigned long, int, const char *); __declspec(dllimport) int __stdcall UnmapViewOfFile(void *); } #endif } } } #endif // BOOST_DETAIL_WINAPI_MEMORY_HPP KWStyle-master/Utilities/boost/detail/winapi/process.hpp000066400000000000000000000014431265471724600237520ustar00rootroot00000000000000// process.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_DETAIL_WINAPI_PROCESS_HPP #define BOOST_DETAIL_WINAPI_PROCESS_HPP #include #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) using ::GetCurrentProcessId; #else # ifndef UNDER_CE extern "C" { __declspec(dllimport) DWORD_ WINAPI GetCurrentProcessId(void); } # else using ::GetCurrentProcessId; # endif #endif } } } #endif // BOOST_DETAIL_WINAPI_PROCESS_HPP KWStyle-master/Utilities/boost/detail/winapi/security.hpp000066400000000000000000000031121265471724600241360ustar00rootroot00000000000000// security.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_DETAIL_WINAPI_SECURITY_HPP #define BOOST_DETAIL_WINAPI_SECURITY_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) typedef ::SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES_; typedef ::PSECURITY_ATTRIBUTES PSECURITY_ATTRIBUTES_; typedef ::LPSECURITY_ATTRIBUTES LPSECURITY_ATTRIBUTES_; #else extern "C" { struct SECURITY_DESCRIPTOR_; typedef SECURITY_DESCRIPTOR_* PSECURITY_DESCRIPTOR_; typedef struct _ACL { BYTE_ AclRevision; BYTE_ Sbz1; WORD_ AclSize; WORD_ AceCount; WORD_ Sbz2; } ACL_, *PACL_; typedef struct _SECURITY_ATTRIBUTES { DWORD_ nLength; LPVOID_ lpSecurityDescriptor; BOOL_ bInheritHandle; } SECURITY_ATTRIBUTES_, *PSECURITY_ATTRIBUTES_, *LPSECURITY_ATTRIBUTES_; __declspec(dllimport) BOOL_ __stdcall InitializeSecurityDescriptor( PSECURITY_DESCRIPTOR_ pSecurityDescriptor, DWORD_ dwRevision ); __declspec(dllimport) BOOL_ __stdcall SetSecurityDescriptorDacl( PSECURITY_DESCRIPTOR_ pSecurityDescriptor, BOOL_ bDaclPresent, PACL_ pDacl, BOOL_ bDaclDefaulted ); } #endif } } } #endif // BOOST_DETAIL_WINAPI_SECURITY_HPP KWStyle-master/Utilities/boost/detail/winapi/synchronization.hpp000066400000000000000000000244131265471724600255370ustar00rootroot00000000000000// synchronizaion.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_DETAIL_WINAPI_SYNCHRONIZATION_HPP #define BOOST_DETAIL_WINAPI_SYNCHRONIZATION_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) typedef ::CRITICAL_SECTION CRITICAL_SECTION_; typedef ::PAPCFUNC PAPCFUNC_; #if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 typedef ::INIT_ONCE INIT_ONCE_; typedef ::PINIT_ONCE PINIT_ONCE_; typedef ::LPINIT_ONCE LPINIT_ONCE_; #define BOOST_DETAIL_WINAPI_INIT_ONCE_STATIC_INIT INIT_ONCE_STATIC_INIT typedef ::PINIT_ONCE_FN PINIT_ONCE_FN_; typedef ::SRWLOCK SRWLOCK_; typedef ::PSRWLOCK PSRWLOCK_; #define BOOST_DETAIL_WINAPI_SRWLOCK_INIT SRWLOCK_INIT typedef ::CONDITION_VARIABLE CONDITION_VARIABLE_; typedef ::PCONDITION_VARIABLE PCONDITION_VARIABLE_; #define BOOST_DETAIL_WINAPI_CONDITION_VARIABLE_INIT CONDITION_VARIABLE_INIT #endif using ::InitializeCriticalSection; #if BOOST_USE_WINAPI_VERSION >= 0x0403 using ::InitializeCriticalSectionAndSpinCount; #endif using ::EnterCriticalSection; using ::TryEnterCriticalSection; using ::LeaveCriticalSection; using ::DeleteCriticalSection; # ifdef BOOST_NO_ANSI_APIS using ::CreateMutexW; using ::OpenMutexW; using ::CreateEventW; using ::OpenEventW; using ::CreateSemaphoreW; using ::OpenSemaphoreW; # else using ::CreateMutexA; using ::OpenMutexA; using ::CreateEventA; using ::OpenEventA; using ::CreateSemaphoreA; using ::OpenSemaphoreA; # endif using ::ReleaseMutex; using ::ReleaseSemaphore; using ::SetEvent; using ::ResetEvent; using ::WaitForMultipleObjects; using ::WaitForSingleObject; using ::QueueUserAPC; #if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 using ::InitOnceInitialize; using ::InitOnceExecuteOnce; using ::InitOnceBeginInitialize; using ::InitOnceComplete; using ::InitializeSRWLock; using ::AcquireSRWLockExclusive; using ::TryAcquireSRWLockExclusive; using ::ReleaseSRWLockExclusive; using ::AcquireSRWLockShared; using ::TryAcquireSRWLockShared; using ::ReleaseSRWLockShared; using ::InitializeConditionVariable; using ::WakeConditionVariable; using ::WakeAllConditionVariable; using ::SleepConditionVariableCS; using ::SleepConditionVariableSRW; #endif const DWORD_ infinite = INFINITE; const DWORD_ wait_abandoned = WAIT_ABANDONED; const DWORD_ wait_object_0 = WAIT_OBJECT_0; const DWORD_ wait_timeout = WAIT_TIMEOUT; const DWORD_ wait_failed = WAIT_FAILED; #if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 const DWORD_ init_once_async = INIT_ONCE_ASYNC; const DWORD_ init_once_check_only = INIT_ONCE_CHECK_ONLY; const DWORD_ init_once_init_failed = INIT_ONCE_INIT_FAILED; const DWORD_ init_once_ctx_reserved_bits = INIT_ONCE_CTX_RESERVED_BITS; const ULONG_ condition_variable_lockmode_shared = CONDITION_VARIABLE_LOCKMODE_SHARED; #endif #else // defined( BOOST_USE_WINDOWS_H ) extern "C" { typedef struct CRITICAL_SECTION_ { struct critical_section_debug * DebugInfo; long LockCount; long RecursionCount; void * OwningThread; void * LockSemaphore; #if defined(_WIN64) unsigned __int64 SpinCount; #else unsigned long SpinCount; #endif } *PCRITICAL_SECTION_; #if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 typedef union INIT_ONCE_ { PVOID_ Ptr; } *PINIT_ONCE_, *LPINIT_ONCE_; #define BOOST_DETAIL_WINAPI_INIT_ONCE_STATIC_INIT {0} typedef BOOL_ (WINAPI *PINIT_ONCE_FN_)(PINIT_ONCE_ InitOnce, PVOID_ Parameter, PVOID_ *Context); typedef struct SRWLOCK_ { PVOID_ Ptr; } * PSRWLOCK_; #define BOOST_DETAIL_WINAPI_SRWLOCK_INIT {0} typedef struct CONDITION_VARIABLE_ { PVOID_ Ptr; } * PCONDITION_VARIABLE_; #define BOOST_DETAIL_WINAPI_CONDITION_VARIABLE_INIT {0} #endif __declspec(dllimport) void WINAPI InitializeCriticalSection(PCRITICAL_SECTION_); #if BOOST_USE_WINAPI_VERSION >= 0x0403 __declspec(dllimport) BOOL_ WINAPI InitializeCriticalSectionAndSpinCount(CRITICAL_SECTION_* lpCS, DWORD_ dwSpinCount); #endif __declspec(dllimport) void WINAPI EnterCriticalSection(PCRITICAL_SECTION_); __declspec(dllimport) BOOL_ WINAPI TryEnterCriticalSection(PCRITICAL_SECTION_); __declspec(dllimport) void WINAPI LeaveCriticalSection(PCRITICAL_SECTION_); __declspec(dllimport) void WINAPI DeleteCriticalSection(PCRITICAL_SECTION_); struct _SECURITY_ATTRIBUTES; # ifdef BOOST_NO_ANSI_APIS __declspec(dllimport) HANDLE_ WINAPI CreateMutexW(_SECURITY_ATTRIBUTES*, BOOL_, LPCWSTR_); __declspec(dllimport) HANDLE_ WINAPI OpenMutexW(DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCWSTR_ lpName); __declspec(dllimport) HANDLE_ WINAPI CreateSemaphoreW(_SECURITY_ATTRIBUTES*, LONG_, LONG_, LPCWSTR_); __declspec(dllimport) HANDLE_ WINAPI OpenSemaphoreW(DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCWSTR_ lpName); __declspec(dllimport) HANDLE_ WINAPI CreateEventW(_SECURITY_ATTRIBUTES*, BOOL_, BOOL_, LPCWSTR_); __declspec(dllimport) HANDLE_ WINAPI OpenEventW(DWORD_, BOOL_, LPCWSTR_); # else __declspec(dllimport) HANDLE_ WINAPI CreateMutexA(_SECURITY_ATTRIBUTES*, BOOL_, LPCSTR_); __declspec(dllimport) HANDLE_ WINAPI OpenMutexA(DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCSTR_ lpName); __declspec(dllimport) HANDLE_ WINAPI CreateSemaphoreA(_SECURITY_ATTRIBUTES*, LONG_, LONG_, LPCSTR_); __declspec(dllimport) HANDLE_ WINAPI OpenSemaphoreA(DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCSTR_ lpName); __declspec(dllimport) HANDLE_ WINAPI CreateEventA(_SECURITY_ATTRIBUTES*, BOOL_, BOOL_, LPCSTR_); __declspec(dllimport) HANDLE_ WINAPI OpenEventA(DWORD_, BOOL_, LPCSTR_); # endif __declspec(dllimport) BOOL_ WINAPI ReleaseMutex(HANDLE_); __declspec(dllimport) DWORD_ WINAPI WaitForSingleObject(HANDLE_, DWORD_); __declspec(dllimport) DWORD_ WINAPI WaitForMultipleObjects(DWORD_ nCount, HANDLE_ const * lpHandles, BOOL_ bWaitAll, DWORD_ dwMilliseconds); __declspec(dllimport) BOOL_ WINAPI ReleaseSemaphore(HANDLE_, LONG_, LONG_*); __declspec(dllimport) BOOL_ WINAPI SetEvent(HANDLE_); __declspec(dllimport) BOOL_ WINAPI ResetEvent(HANDLE_); typedef void (__stdcall *PAPCFUNC_)(ULONG_PTR_); __declspec(dllimport) DWORD_ WINAPI QueueUserAPC(PAPCFUNC_, HANDLE_, ULONG_PTR_); #if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 __declspec(dllimport) void WINAPI InitOnceInitialize(PINIT_ONCE_); __declspec(dllimport) BOOL_ WINAPI InitOnceExecuteOnce(PINIT_ONCE_ InitOnce, PINIT_ONCE_FN_ InitFn, PVOID_ Parameter, LPVOID_* Context); __declspec(dllimport) BOOL_ WINAPI InitOnceBeginInitialize(LPINIT_ONCE_ lpInitOnce, DWORD_ dwFlags, BOOL_* fPending, LPVOID_* lpContext); __declspec(dllimport) BOOL_ WINAPI InitOnceComplete(LPINIT_ONCE_ lpInitOnce, DWORD_ dwFlags, LPVOID_* lpContext); __declspec(dllimport) void WINAPI InitializeSRWLock(PSRWLOCK_ SRWLock); __declspec(dllimport) void WINAPI AcquireSRWLockExclusive(PSRWLOCK_ SRWLock); __declspec(dllimport) BOOLEAN_ WINAPI TryAcquireSRWLockExclusive(PSRWLOCK_ SRWLock); __declspec(dllimport) void WINAPI ReleaseSRWLockExclusive(PSRWLOCK_ SRWLock); __declspec(dllimport) void WINAPI AcquireSRWLockShared(PSRWLOCK_ SRWLock); __declspec(dllimport) BOOLEAN_ WINAPI TryAcquireSRWLockShared(PSRWLOCK_ SRWLock); __declspec(dllimport) void WINAPI ReleaseSRWLockShared(PSRWLOCK_ SRWLock); __declspec(dllimport) void WINAPI InitializeConditionVariable(PCONDITION_VARIABLE_ ConditionVariable); __declspec(dllimport) void WINAPI WakeConditionVariable(PCONDITION_VARIABLE_ ConditionVariable); __declspec(dllimport) void WINAPI WakeAllConditionVariable(PCONDITION_VARIABLE_ ConditionVariable); __declspec(dllimport) BOOL_ WINAPI SleepConditionVariableCS(PCONDITION_VARIABLE_ ConditionVariable, PCRITICAL_SECTION_ CriticalSection, DWORD_ dwMilliseconds); __declspec(dllimport) BOOL_ WINAPI SleepConditionVariableSRW(PCONDITION_VARIABLE_ ConditionVariable, PSRWLOCK_ SRWLock, DWORD_ dwMilliseconds, ULONG_ Flags); #endif } // extern "C" const DWORD_ infinite = (DWORD_)0xFFFFFFFF; const DWORD_ wait_abandoned = 0x00000080L; const DWORD_ wait_object_0 = 0x00000000L; const DWORD_ wait_timeout = 0x00000102L; const DWORD_ wait_failed = (DWORD_)0xFFFFFFFF; #if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 const DWORD_ init_once_async = 0x00000002UL; const DWORD_ init_once_check_only = 0x00000001UL; const DWORD_ init_once_init_failed = 0x00000004UL; const DWORD_ init_once_ctx_reserved_bits = 2; const ULONG_ condition_variable_lockmode_shared = 0x00000001; #endif #endif // defined( BOOST_USE_WINDOWS_H ) const DWORD_ max_non_infinite_wait = (DWORD_)0xFFFFFFFE; BOOST_FORCEINLINE HANDLE_ create_anonymous_mutex(_SECURITY_ATTRIBUTES* lpAttributes, BOOL_ bInitialOwner) { #ifdef BOOST_NO_ANSI_APIS return CreateMutexW(lpAttributes, bInitialOwner, 0); #else return CreateMutexA(lpAttributes, bInitialOwner, 0); #endif } BOOST_FORCEINLINE HANDLE_ create_anonymous_semaphore(_SECURITY_ATTRIBUTES* lpAttributes, LONG_ lInitialCount, LONG_ lMaximumCount) { #ifdef BOOST_NO_ANSI_APIS return CreateSemaphoreW(lpAttributes, lInitialCount, lMaximumCount, 0); #else return CreateSemaphoreA(lpAttributes, lInitialCount, lMaximumCount, 0); #endif } BOOST_FORCEINLINE HANDLE_ create_anonymous_event(_SECURITY_ATTRIBUTES* lpAttributes, BOOL_ bManualReset, BOOL_ bInitialState) { #ifdef BOOST_NO_ANSI_APIS return CreateEventW(lpAttributes, bManualReset, bInitialState, 0); #else return CreateEventA(lpAttributes, bManualReset, bInitialState, 0); #endif } } } } #endif // BOOST_DETAIL_WINAPI_SYNCHRONIZATION_HPP KWStyle-master/Utilities/boost/detail/winapi/system.hpp000066400000000000000000000033011265471724600236130ustar00rootroot00000000000000// system.hpp --------------------------------------------------------------// // Copyright 2010 Vicente J. Botet Escriba // Copyright (c) Microsoft Corporation 2014 // Distributed under the Boost Software License, Version 1.0. // See http://www.boost.org/LICENSE_1_0.txt #ifndef BOOST_DETAIL_WINAPI_SYSTEM_HPP #define BOOST_DETAIL_WINAPI_SYSTEM_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) typedef ::SYSTEM_INFO SYSTEM_INFO_; # if BOOST_USE_WINAPI_VERSION < BOOST_WINAPI_VERSION_WINXP extern "C" __declspec(dllimport) void __stdcall GetSystemInfo (struct system_info *); # else extern "C" __declspec(dllimport) void __stdcall GetNativeSystemInfo (struct system_info *); # endif #else extern "C" { typedef struct _SYSTEM_INFO { union { DWORD_ dwOemId; struct { WORD_ wProcessorArchitecture; WORD_ wReserved; } dummy; } ; DWORD_ dwPageSize; LPVOID_ lpMinimumApplicationAddress; LPVOID_ lpMaximumApplicationAddress; DWORD_PTR_ dwActiveProcessorMask; DWORD_ dwNumberOfProcessors; DWORD_ dwProcessorType; DWORD_ dwAllocationGranularity; WORD_ wProcessorLevel; WORD_ wProcessorRevision; } SYSTEM_INFO_; # if BOOST_USE_WINAPI_VERSION < BOOST_WINAPI_VERSION_WINXP __declspec(dllimport) void __stdcall GetSystemInfo (struct system_info *); # else __declspec(dllimport) void __stdcall GetNativeSystemInfo (struct system_info *); # endif } #endif } } } #endif // BOOST_DETAIL_WINAPI_SYSTEM_HPP KWStyle-master/Utilities/boost/detail/winapi/thread.hpp000066400000000000000000000021241265471724600235400ustar00rootroot00000000000000// thread.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_DETAIL_WINAPI_THREAD_HPP #define BOOST_DETAIL_WINAPI_THREAD_HPP #include #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) using ::GetCurrentThreadId; using ::SleepEx; using ::Sleep; using ::SwitchToThread; #else extern "C" { # ifndef UNDER_CE __declspec(dllimport) DWORD_ WINAPI GetCurrentThreadId(void); __declspec(dllimport) DWORD_ WINAPI SleepEx(DWORD_, BOOL_); __declspec(dllimport) void WINAPI Sleep(DWORD_); __declspec(dllimport) BOOL_ WINAPI SwitchToThread(void); #else using ::GetCurrentThreadId; using ::SleepEx; using ::Sleep; using ::SwitchToThread; #endif } #endif } } } #endif // BOOST_DETAIL_WINAPI_THREAD_HPP KWStyle-master/Utilities/boost/detail/winapi/thread_pool.hpp000066400000000000000000000055001265471724600245720ustar00rootroot00000000000000// thread_pool.hpp --------------------------------------------------------------// // Copyright 2013 Andrey Semashev // Distributed under the Boost Software License, Version 1.0. // See http://www.boost.org/LICENSE_1_0.txt #ifndef BOOST_DETAIL_WINAPI_THREAD_POOL_HPP #define BOOST_DETAIL_WINAPI_THREAD_POOL_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif #if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN2K namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) typedef ::WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACKFUNC_; typedef ::WAITORTIMERCALLBACK WAITORTIMERCALLBACK_; using ::RegisterWaitForSingleObject; using ::UnregisterWait; using ::UnregisterWaitEx; const ULONG_ wt_execute_default = WT_EXECUTEDEFAULT; const ULONG_ wt_execute_in_io_thread = WT_EXECUTEINIOTHREAD; const ULONG_ wt_execute_in_ui_thread = WT_EXECUTEINUITHREAD; const ULONG_ wt_execute_in_wait_thread = WT_EXECUTEINWAITTHREAD; const ULONG_ wt_execute_only_once = WT_EXECUTEONLYONCE; const ULONG_ wt_execute_in_timer_thread = WT_EXECUTEINTIMERTHREAD; const ULONG_ wt_execute_long_function = WT_EXECUTELONGFUNCTION; const ULONG_ wt_execute_in_persistent_io_thread = WT_EXECUTEINPERSISTENTIOTHREAD; const ULONG_ wt_execute_in_persistent_thread = WT_EXECUTEINPERSISTENTTHREAD; const ULONG_ wt_transfer_impersonation = WT_TRANSFER_IMPERSONATION; inline ULONG_ wt_set_max_threadpool_threads(ULONG_ flags, ULONG_ limit) { return WT_SET_MAX_THREADPOOL_THREADS(flags, limit); } #else extern "C" { typedef void (NTAPI* WAITORTIMERCALLBACKFUNC_) (PVOID_, BOOLEAN_); typedef WAITORTIMERCALLBACKFUNC_ WAITORTIMERCALLBACK_; __declspec(dllimport) BOOL_ WINAPI RegisterWaitForSingleObject ( HANDLE_* phNewWaitObject, HANDLE_ hObject, WAITORTIMERCALLBACK_ Callback, PVOID_ Context, ULONG_ dwMilliseconds, ULONG_ dwFlags ); __declspec(dllimport) BOOL_ WINAPI UnregisterWait(HANDLE_ WaitHandle); __declspec(dllimport) BOOL_ WINAPI UnregisterWaitEx(HANDLE_ WaitHandle, HANDLE_ CompletionEvent); } // extern "C" const ULONG_ wt_execute_default = 0x00000000; const ULONG_ wt_execute_in_io_thread = 0x00000001; const ULONG_ wt_execute_in_ui_thread = 0x00000002; const ULONG_ wt_execute_in_wait_thread = 0x00000004; const ULONG_ wt_execute_only_once = 0x00000008; const ULONG_ wt_execute_in_timer_thread = 0x00000020; const ULONG_ wt_execute_long_function = 0x00000010; const ULONG_ wt_execute_in_persistent_io_thread = 0x00000040; const ULONG_ wt_execute_in_persistent_thread = 0x00000080; const ULONG_ wt_transfer_impersonation = 0x00000100; inline ULONG_ wt_set_max_threadpool_threads(ULONG_ flags, ULONG_ limit) { return flags | (limit << 16); } #endif } } } #endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN2K #endif // BOOST_DETAIL_WINAPI_THREAD_POOL_HPP KWStyle-master/Utilities/boost/detail/winapi/time.hpp000066400000000000000000000052231265471724600232320ustar00rootroot00000000000000// time.hpp --------------------------------------------------------------// // Copyright 2010 Vicente J. Botet Escriba // Copyright (c) Microsoft Corporation 2014 // Distributed under the Boost Software License, Version 1.0. // See http://www.boost.org/LICENSE_1_0.txt #ifndef BOOST_DETAIL_WINAPI_TIME_HPP #define BOOST_DETAIL_WINAPI_TIME_HPP #include #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) typedef FILETIME FILETIME_; typedef PFILETIME PFILETIME_; typedef LPFILETIME LPFILETIME_; typedef SYSTEMTIME SYSTEMTIME_; typedef SYSTEMTIME* PSYSTEMTIME_; #ifdef BOOST_HAS_GETSYSTEMTIMEASFILETIME // Windows CE does not define GetSystemTimeAsFileTime using ::GetSystemTimeAsFileTime; #endif #if BOOST_PLAT_WINDOWS_DESKTOP using ::FileTimeToLocalFileTime; #endif using ::GetSystemTime; using ::SystemTimeToFileTime; #if BOOST_PLAT_WINDOWS_DESKTOP using ::GetTickCount; #endif #if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 using ::GetTickCount64; #endif #else extern "C" { typedef struct _FILETIME { DWORD_ dwLowDateTime; DWORD_ dwHighDateTime; } FILETIME_, *PFILETIME_, *LPFILETIME_; typedef struct _SYSTEMTIME { WORD_ wYear; WORD_ wMonth; WORD_ wDayOfWeek; WORD_ wDay; WORD_ wHour; WORD_ wMinute; WORD_ wSecond; WORD_ wMilliseconds; } SYSTEMTIME_, *PSYSTEMTIME_; #ifdef BOOST_HAS_GETSYSTEMTIMEASFILETIME // Windows CE does not define GetSystemTimeAsFileTime __declspec(dllimport) void WINAPI GetSystemTimeAsFileTime(FILETIME_* lpFileTime); #endif __declspec(dllimport) int WINAPI FileTimeToLocalFileTime(const FILETIME_* lpFileTime, FILETIME_* lpLocalFileTime); __declspec(dllimport) void WINAPI GetSystemTime(SYSTEMTIME_* lpSystemTime); __declspec(dllimport) int WINAPI SystemTimeToFileTime(const SYSTEMTIME_* lpSystemTime, FILETIME_* lpFileTime); #if BOOST_PLAT_WINDOWS_DESKTOP __declspec(dllimport) DWORD_ WINAPI GetTickCount(); #endif #if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6 __declspec(dllimport) ULONGLONG_ WINAPI GetTickCount64(); #endif } #endif #ifndef BOOST_HAS_GETSYSTEMTIMEASFILETIME inline void WINAPI GetSystemTimeAsFileTime(FILETIME_* lpFileTime) { SYSTEMTIME_ st; GetSystemTime(&st); SystemTimeToFileTime(&st, lpFileTime); } #endif } } } #endif // BOOST_DETAIL_WINAPI_TIME_HPP KWStyle-master/Utilities/boost/detail/winapi/timers.hpp000066400000000000000000000016221265471724600235760ustar00rootroot00000000000000// timers.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_DETAIL_WINAPI_TIMERS_HPP #define BOOST_DETAIL_WINAPI_TIMERS_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) using ::QueryPerformanceCounter; using ::QueryPerformanceFrequency; #else extern "C" { __declspec(dllimport) BOOL_ WINAPI QueryPerformanceCounter( LARGE_INTEGER_ *lpPerformanceCount ); __declspec(dllimport) BOOL_ WINAPI QueryPerformanceFrequency( LARGE_INTEGER_ *lpFrequency ); } #endif } } } #endif // BOOST_DETAIL_WINAPI_TIMERS_HPP KWStyle-master/Utilities/boost/detail/winapi/tls.hpp000066400000000000000000000017661265471724600231060ustar00rootroot00000000000000// tls.hpp --------------------------------------------------------------// // Copyright 2013 Andrey Semashev // Distributed under the Boost Software License, Version 1.0. // See http://www.boost.org/LICENSE_1_0.txt #ifndef BOOST_DETAIL_WINAPI_TLS_HPP #define BOOST_DETAIL_WINAPI_TLS_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) using ::TlsAlloc; using ::TlsGetValue; using ::TlsSetValue; using ::TlsFree; const DWORD_ tls_out_of_indexes = TLS_OUT_OF_INDEXES; #else extern "C" { __declspec(dllimport) DWORD_ WINAPI TlsAlloc(void); __declspec(dllimport) LPVOID_ WINAPI TlsGetValue(DWORD_ dwTlsIndex); __declspec(dllimport) BOOL_ WINAPI TlsSetValue(DWORD_ dwTlsIndex, LPVOID_ lpTlsValue); __declspec(dllimport) BOOL_ WINAPI TlsFree(DWORD_ dwTlsIndex); } const DWORD_ tls_out_of_indexes = 0xFFFFFFFF; #endif } } } #endif // BOOST_DETAIL_WINAPI_TLS_HPP KWStyle-master/Utilities/boost/detail/winapi/waitable_timer.hpp000066400000000000000000000043561265471724600252720ustar00rootroot00000000000000// waitable_timer.hpp --------------------------------------------------------------// // Copyright 2013 Andrey Semashev // Distributed under the Boost Software License, Version 1.0. // See http://www.boost.org/LICENSE_1_0.txt #ifndef BOOST_DETAIL_WINAPI_WAITABLE_TIMER_HPP #define BOOST_DETAIL_WINAPI_WAITABLE_TIMER_HPP #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif namespace boost { namespace detail { namespace winapi { #if defined( BOOST_USE_WINDOWS_H ) typedef ::PTIMERAPCROUTINE PTIMERAPCROUTINE_; # ifdef BOOST_NO_ANSI_APIS using ::CreateWaitableTimerW; using ::OpenWaitableTimerW; # else using ::CreateWaitableTimerA; using ::OpenWaitableTimerA; # endif using ::SetWaitableTimer; using ::CancelWaitableTimer; #else extern "C" { struct _SECURITY_ATTRIBUTES; typedef void (WINAPI* PTIMERAPCROUTINE_) ( LPVOID_ lpArgToCompletionRoutine, DWORD_ dwTimerLowValue, DWORD_ dwTimerHighValue ); # ifdef BOOST_NO_ANSI_APIS __declspec(dllimport) HANDLE_ WINAPI CreateWaitableTimerW ( _SECURITY_ATTRIBUTES* lpTimerAttributes, BOOL_ bManualReset, LPCWSTR_ lpTimerName ); __declspec(dllimport) HANDLE_ WINAPI OpenWaitableTimerW ( DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCWSTR_ lpTimerName ); # else __declspec(dllimport) HANDLE_ WINAPI CreateWaitableTimerA ( _SECURITY_ATTRIBUTES* lpTimerAttributes, BOOL_ bManualReset, LPCSTR_ lpTimerName ); __declspec(dllimport) HANDLE_ WINAPI OpenWaitableTimerA ( DWORD_ dwDesiredAccess, BOOL_ bInheritHandle, LPCSTR_ lpTimerName ); # endif __declspec(dllimport) BOOL_ WINAPI SetWaitableTimer ( HANDLE_ hTimer, const LARGE_INTEGER_ *lpDueTime, LONG_ lPeriod, PTIMERAPCROUTINE_ pfnCompletionRoutine, LPVOID_ lpArgToCompletionRoutine, BOOL_ fResume ); __declspec(dllimport) BOOL_ WINAPI CancelWaitableTimer(HANDLE_ hTimer); } #endif BOOST_FORCEINLINE HANDLE_ create_anonymous_waitable_timer(_SECURITY_ATTRIBUTES* lpTimerAttributes, BOOL_ bManualReset) { #ifdef BOOST_NO_ANSI_APIS return CreateWaitableTimerW(lpTimerAttributes, bManualReset, 0); #else return CreateWaitableTimerA(lpTimerAttributes, bManualReset, 0); #endif } } } } #endif // BOOST_DETAIL_WINAPI_WAITABLE_TIMER_HPP KWStyle-master/Utilities/boost/detail/workaround.hpp000066400000000000000000000161651265471724600232070ustar00rootroot00000000000000// 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 // 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 _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 __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 // WORKAROUND_DWA2002126_HPP KWStyle-master/Utilities/boost/dynamic_bitset.hpp000066400000000000000000000010601265471724600225340ustar00rootroot00000000000000// ----------------------------------------------------------- // // 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 KWStyle-master/Utilities/boost/dynamic_bitset_fwd.hpp000066400000000000000000000012431265471724600233770ustar00rootroot00000000000000// ----------------------------------------------------------- // // 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 > class dynamic_bitset; } #endif // include guard KWStyle-master/Utilities/boost/enable_shared_from_this.hpp000066400000000000000000000010221265471724600243620ustar00rootroot00000000000000#ifndef BOOST_ENABLE_SHARED_FROM_THIS_HPP_INCLUDED #define BOOST_ENABLE_SHARED_FROM_THIS_HPP_INCLUDED // // enable_shared_from_this.hpp // // Copyright (c) 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 // // http://www.boost.org/libs/smart_ptr/enable_shared_from_this.html // #include #endif // #ifndef BOOST_ENABLE_SHARED_FROM_THIS_HPP_INCLUDED KWStyle-master/Utilities/boost/exception/000077500000000000000000000000001265471724600210265ustar00rootroot00000000000000KWStyle-master/Utilities/boost/exception/N3757.hpp000066400000000000000000000024441265471724600222660ustar00rootroot00000000000000//Copyright (c) 2006-2013 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 UUID_9011016A11A711E3B46CD9FA6088709B #define UUID_9011016A11A711E3B46CD9FA6088709B #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #endif #include #include namespace boost { //Here we're using the boost::error_info machinery to store the info in the exception //object. Within the context of N3757, this is strictly an implementation detail. template inline void exception:: set( typename Tag::type const & v ) { exception_detail::set_info(*this,error_info(v)); } template inline typename Tag::type const * exception:: get() const { return get_error_info >(*this); } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/exception/all.hpp000066400000000000000000000025321265471724600223110ustar00rootroot00000000000000//Copyright (c) 2006-2008 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 UUID_316FDA946C0D11DEA9CBAE5255D89593 #define UUID_316FDA946C0D11DEA9CBAE5255D89593 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #ifndef BOOST_NO_EXCEPTIONS #include #include #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/exception/current_exception_cast.hpp000066400000000000000000000017111265471724600263110ustar00rootroot00000000000000//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 UUID_7E83C166200811DE885E826156D89593 #define UUID_7E83C166200811DE885E826156D89593 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #endif namespace boost { template inline E * current_exception_cast() { try { throw; } catch( E & e ) { return &e; } catch( ...) { return 0; } } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/exception/detail/000077500000000000000000000000001265471724600222705ustar00rootroot00000000000000KWStyle-master/Utilities/boost/exception/detail/clone_current_exception.hpp000066400000000000000000000027631265471724600277310ustar00rootroot00000000000000//Copyright (c) 2006-2013 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 UUID_81522C0EB56511DFAB613DB0DFD72085 #define UUID_81522C0EB56511DFAB613DB0DFD72085 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #endif #ifdef BOOST_NO_EXCEPTIONS # error This header requires exception handling to be enabled. #endif namespace boost { namespace exception_detail { class clone_base; #ifdef BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR int clone_current_exception_non_intrusive( clone_base const * & cloned ); #endif namespace clone_current_exception_result { int const success=0; int const bad_alloc=1; int const bad_exception=2; int const not_supported=3; } inline int clone_current_exception( clone_base const * & cloned ) { #ifdef BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR return clone_current_exception_non_intrusive(cloned); #else return clone_current_exception_result::not_supported; #endif } } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/exception/detail/error_info_impl.hpp000066400000000000000000000030211265471724600261620ustar00rootroot00000000000000//Copyright (c) 2006-2010 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 UUID_CE6983AC753411DDA764247956D89593 #define UUID_CE6983AC753411DDA764247956D89593 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #endif #include namespace boost { namespace exception_detail { class error_info_base { public: virtual std::string name_value_string() const = 0; protected: virtual ~error_info_base() throw() { } }; } template class error_info: public exception_detail::error_info_base { public: typedef T value_type; error_info( value_type const & value ); ~error_info() throw(); value_type const & value() const { return value_; } value_type & value() { return value_; } private: std::string name_value_string() const; value_type value_; }; } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/exception/detail/exception_ptr.hpp000066400000000000000000000352631265471724600256750ustar00rootroot00000000000000//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 UUID_618474C2DE1511DEB74A388C56D89593 #define UUID_618474C2DE1511DEB74A388C56D89593 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #endif #include #ifdef BOOST_NO_EXCEPTIONS #error This header requires exception handling to be enabled. #endif #include #include #include #include #include #ifndef BOOST_NO_RTTI #include #endif #include #include #include #include #include namespace boost { class exception_ptr; BOOST_NORETURN void rethrow_exception( exception_ptr const & ); exception_ptr current_exception(); class exception_ptr { typedef boost::shared_ptr impl; impl ptr_; friend void rethrow_exception( exception_ptr const & ); typedef exception_detail::clone_base const * (impl::*unspecified_bool_type)() const; public: exception_ptr() { } explicit exception_ptr( impl const & ptr ): ptr_(ptr) { } bool operator==( exception_ptr const & other ) const { return ptr_==other.ptr_; } bool operator!=( exception_ptr const & other ) const { return ptr_!=other.ptr_; } operator unspecified_bool_type() const { return ptr_?&impl::get:0; } }; template inline exception_ptr copy_exception( T const & e ) { try { throw enable_current_exception(e); } catch( ... ) { return current_exception(); } } #ifndef BOOST_NO_RTTI typedef error_info original_exception_type; inline std::string to_string( original_exception_type const & x ) { return core::demangle(x.value()->name()); } #endif namespace exception_detail { struct bad_alloc_: boost::exception, std::bad_alloc { ~bad_alloc_() throw() { } }; struct bad_exception_: boost::exception, std::bad_exception { ~bad_exception_() throw() { } }; template exception_ptr get_static_exception_object() { Exception ba; exception_detail::clone_impl c(ba); #ifndef BOOST_EXCEPTION_DISABLE c << throw_function(BOOST_CURRENT_FUNCTION) << throw_file(__FILE__) << throw_line(__LINE__); #endif static exception_ptr ep(shared_ptr(new exception_detail::clone_impl(c))); return ep; } template struct exception_ptr_static_exception_object { static exception_ptr const e; }; template exception_ptr const exception_ptr_static_exception_object:: e = get_static_exception_object(); } #if defined(__GNUC__) # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) # pragma GCC visibility push (default) # endif #endif class unknown_exception: public boost::exception, public std::exception { public: unknown_exception() { } explicit unknown_exception( std::exception const & e ) { add_original_type(e); } explicit unknown_exception( boost::exception const & e ): boost::exception(e) { add_original_type(e); } ~unknown_exception() throw() { } private: template void add_original_type( E const & e ) { #ifndef BOOST_NO_RTTI (*this) << original_exception_type(&typeid(e)); #endif } }; #if defined(__GNUC__) # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) # pragma GCC visibility pop # endif #endif namespace exception_detail { template class current_exception_std_exception_wrapper: public T, public boost::exception { public: explicit current_exception_std_exception_wrapper( T const & e1 ): T(e1) { add_original_type(e1); } current_exception_std_exception_wrapper( T const & e1, boost::exception const & e2 ): T(e1), boost::exception(e2) { add_original_type(e1); } ~current_exception_std_exception_wrapper() throw() { } private: template void add_original_type( E const & e ) { #ifndef BOOST_NO_RTTI (*this) << original_exception_type(&typeid(e)); #endif } }; #ifdef BOOST_NO_RTTI template boost::exception const * get_boost_exception( T const * ) { try { throw; } catch( boost::exception & x ) { return &x; } catch(...) { return 0; } } #else template boost::exception const * get_boost_exception( T const * x ) { return dynamic_cast(x); } #endif template inline exception_ptr current_exception_std_exception( T const & e1 ) { if( boost::exception const * e2 = get_boost_exception(&e1) ) return boost::copy_exception(current_exception_std_exception_wrapper(e1,*e2)); else return boost::copy_exception(current_exception_std_exception_wrapper(e1)); } inline exception_ptr current_exception_unknown_exception() { return boost::copy_exception(unknown_exception()); } inline exception_ptr current_exception_unknown_boost_exception( boost::exception const & e ) { return boost::copy_exception(unknown_exception(e)); } inline exception_ptr current_exception_unknown_std_exception( std::exception const & e ) { if( boost::exception const * be = get_boost_exception(&e) ) return current_exception_unknown_boost_exception(*be); else return boost::copy_exception(unknown_exception(e)); } inline exception_ptr current_exception_impl() { exception_detail::clone_base const * e=0; switch( exception_detail::clone_current_exception(e) ) { case exception_detail::clone_current_exception_result:: success: { BOOST_ASSERT(e!=0); return exception_ptr(shared_ptr(e)); } case exception_detail::clone_current_exception_result:: bad_alloc: { BOOST_ASSERT(!e); return exception_detail::exception_ptr_static_exception_object::e; } case exception_detail::clone_current_exception_result:: bad_exception: { BOOST_ASSERT(!e); return exception_detail::exception_ptr_static_exception_object::e; } default: BOOST_ASSERT(0); case exception_detail::clone_current_exception_result:: not_supported: { BOOST_ASSERT(!e); try { throw; } catch( exception_detail::clone_base & e ) { return exception_ptr(shared_ptr(e.clone())); } catch( std::domain_error & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::invalid_argument & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::length_error & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::out_of_range & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::logic_error & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::range_error & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::overflow_error & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::underflow_error & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::ios_base::failure & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::runtime_error & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::bad_alloc & e ) { return exception_detail::current_exception_std_exception(e); } #ifndef BOOST_NO_TYPEID catch( std::bad_cast & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::bad_typeid & e ) { return exception_detail::current_exception_std_exception(e); } #endif catch( std::bad_exception & e ) { return exception_detail::current_exception_std_exception(e); } catch( std::exception & e ) { return exception_detail::current_exception_unknown_std_exception(e); } catch( boost::exception & e ) { return exception_detail::current_exception_unknown_boost_exception(e); } catch( ... ) { return exception_detail::current_exception_unknown_exception(); } } } } } inline exception_ptr current_exception() { exception_ptr ret; try { ret=exception_detail::current_exception_impl(); } catch( std::bad_alloc & ) { ret=exception_detail::exception_ptr_static_exception_object::e; } catch( ... ) { ret=exception_detail::exception_ptr_static_exception_object::e; } BOOST_ASSERT(ret); return ret; } BOOST_NORETURN inline void rethrow_exception( exception_ptr const & p ) { BOOST_ASSERT(p); p.ptr_->rethrow(); BOOST_ASSERT(0); #if defined(UNDER_CE) // some CE platforms don't define ::abort() exit(-1); #else abort(); #endif } inline std::string diagnostic_information( exception_ptr const & p, bool verbose=true ) { if( p ) try { rethrow_exception(p); } catch( ... ) { return current_exception_diagnostic_information(verbose); } return ""; } inline std::string to_string( exception_ptr const & p ) { std::string s='\n'+diagnostic_information(p); std::string padding(" "); std::string r; bool f=false; for( std::string::const_iterator i=s.begin(),e=s.end(); i!=e; ++i ) { if( f ) r+=padding; char c=*i; r+=c; f=(c=='\n'); } return r; } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/exception/detail/is_output_streamable.hpp000066400000000000000000000032221265471724600272320ustar00rootroot00000000000000//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 UUID_898984B4076411DD973EDFA055D89593 #define UUID_898984B4076411DD973EDFA055D89593 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #endif #include namespace boost { namespace to_string_detail { struct partial_ordering_helper1 { template partial_ordering_helper1( std::basic_ostream & ); }; struct partial_ordering_helper2 { template partial_ordering_helper2( T const & ); }; char operator<<( partial_ordering_helper1, partial_ordering_helper2 ); template struct is_output_streamable_impl { static std::basic_ostream & f(); static T const & g(); enum e { value=1!=(sizeof(f()< > struct is_output_streamable { enum e { value=to_string_detail::is_output_streamable_impl::value }; }; } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/exception/detail/object_hex_dump.hpp000066400000000000000000000030071265471724600261400ustar00rootroot00000000000000//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 UUID_6F463AC838DF11DDA3E6909F56D89593 #define UUID_6F463AC838DF11DDA3E6909F56D89593 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #endif #include #include #include #include #include #include namespace boost { namespace exception_detail { template inline std::string object_hex_dump( T const & x, std::size_t max_size=16 ) { std::ostringstream s; s << "type: " << type_name() << ", size: " << sizeof(T) << ", dump: "; std::size_t n=sizeof(T)>max_size?max_size:sizeof(T); s.fill('0'); s.width(2); unsigned char const * b=reinterpret_cast(&x); s << std::setw(2) << std::hex << (unsigned int)*b; for( unsigned char const * e=b+n; ++b!=e; ) s << " " << std::setw(2) << std::hex << (unsigned int)*b; return s.str(); } } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/exception/detail/type_info.hpp000066400000000000000000000036521265471724600250030ustar00rootroot00000000000000//Copyright (c) 2006-2010 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 UUID_C3E1741C754311DDB2834CCA55D89593 #define UUID_C3E1741C754311DDB2834CCA55D89593 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #endif #include #include #include #include #include namespace boost { template inline std::string tag_type_name() { #ifdef BOOST_NO_TYPEID return BOOST_CURRENT_FUNCTION; #else return core::demangle(typeid(T*).name()); #endif } template inline std::string type_name() { #ifdef BOOST_NO_TYPEID return BOOST_CURRENT_FUNCTION; #else return core::demangle(typeid(T).name()); #endif } namespace exception_detail { struct type_info_ { core::typeinfo const * type_; explicit type_info_( core::typeinfo const & type ): type_(&type) { } friend bool operator<( type_info_ const & a, type_info_ const & b ) { return 0!=(a.type_->before(*b.type_)); } }; } } #define BOOST_EXCEPTION_STATIC_TYPEID(T) ::boost::exception_detail::type_info_(BOOST_CORE_TYPEID(T)) #ifndef BOOST_NO_RTTI #define BOOST_EXCEPTION_DYNAMIC_TYPEID(x) ::boost::exception_detail::type_info_(typeid(x)) #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/exception/diagnostic_information.hpp000066400000000000000000000140551265471724600262750ustar00rootroot00000000000000//Copyright (c) 2006-2010 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 UUID_0552D49838DD11DD90146B8956D89593 #define UUID_0552D49838DD11DD90146B8956D89593 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #endif #include #include #include #include #ifndef BOOST_NO_RTTI #include #endif #include #include #include #ifndef BOOST_NO_EXCEPTIONS #include namespace boost { namespace exception_detail { std::string diagnostic_information_impl( boost::exception const *, std::exception const *, bool, bool ); } inline std::string current_exception_diagnostic_information( bool verbose=true) { boost::exception const * be=current_exception_cast(); std::exception const * se=current_exception_cast(); if( be || se ) return exception_detail::diagnostic_information_impl(be,se,true,verbose); else return "No diagnostic information available."; } } #endif namespace boost { namespace exception_detail { inline exception const * get_boost_exception( exception const * e ) { return e; } inline exception const * get_boost_exception( ... ) { return 0; } inline std::exception const * get_std_exception( std::exception const * e ) { return e; } inline std::exception const * get_std_exception( ... ) { return 0; } inline char const * get_diagnostic_information( exception const & x, char const * header ) { #ifndef BOOST_NO_EXCEPTIONS try { #endif error_info_container * c=x.data_.get(); if( !c ) x.data_.adopt(c=new exception_detail::error_info_container_impl); char const * di=c->diagnostic_information(header); BOOST_ASSERT(di!=0); return di; #ifndef BOOST_NO_EXCEPTIONS } catch(...) { return 0; } #endif } inline std::string diagnostic_information_impl( boost::exception const * be, std::exception const * se, bool with_what, bool verbose ) { if( !be && !se ) return "Unknown exception."; #ifndef BOOST_NO_RTTI if( !be ) be=dynamic_cast(se); if( !se ) se=dynamic_cast(be); #endif char const * wh=0; if( with_what && se ) { wh=se->what(); if( be && exception_detail::get_diagnostic_information(*be,0)==wh ) return wh; } std::ostringstream tmp; if( be && verbose ) { char const * const * f=get_error_info(*be); int const * l=get_error_info(*be); char const * const * fn=get_error_info(*be); if( !f && !l && !fn ) tmp << "Throw location unknown (consider using BOOST_THROW_EXCEPTION)\n"; else { if( f ) { tmp << *f; if( int const * l=get_error_info(*be) ) tmp << '(' << *l << "): "; } tmp << "Throw in function "; if( char const * const * fn=get_error_info(*be) ) tmp << *fn; else tmp << "(unknown)"; tmp << '\n'; } } #ifndef BOOST_NO_RTTI if ( verbose ) tmp << std::string("Dynamic exception type: ") << core::demangle((be?(BOOST_EXCEPTION_DYNAMIC_TYPEID(*be)):(BOOST_EXCEPTION_DYNAMIC_TYPEID(*se))).type_->name()) << '\n'; #endif if( with_what && se && verbose ) tmp << "std::exception::what: " << wh << '\n'; if( be ) if( char const * s=exception_detail::get_diagnostic_information(*be,tmp.str().c_str()) ) if( *s ) return std::string(s); return tmp.str(); } } template std::string diagnostic_information( T const & e, bool verbose=true ) { return exception_detail::diagnostic_information_impl(exception_detail::get_boost_exception(&e),exception_detail::get_std_exception(&e),true,verbose); } inline char const * diagnostic_information_what( exception const & e, bool verbose=true ) throw() { char const * w=0; #ifndef BOOST_NO_EXCEPTIONS try { #endif (void) exception_detail::diagnostic_information_impl(&e,0,false,verbose); if( char const * di=exception_detail::get_diagnostic_information(e,0) ) return di; else return "Failed to produce boost::diagnostic_information_what()"; #ifndef BOOST_NO_EXCEPTIONS } catch( ... ) { } #endif return w; } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/exception/enable_current_exception.hpp000066400000000000000000000004061265471724600266050ustar00rootroot00000000000000//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) #include KWStyle-master/Utilities/boost/exception/enable_error_info.hpp000066400000000000000000000004061265471724600252110ustar00rootroot00000000000000//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) #include KWStyle-master/Utilities/boost/exception/errinfo_api_function.hpp000066400000000000000000000012071265471724600257410ustar00rootroot00000000000000//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 UUID_DDFBB4546C1211DEA4659E9055D89593 #define UUID_DDFBB4546C1211DEA4659E9055D89593 #include "boost/exception/error_info.hpp" namespace boost { //Usage hint: //if( api_function(....)!=0 ) // BOOST_THROW_EXCEPTION( // failure() << // errinfo_api_function("api_function") ); typedef error_info errinfo_api_function; } #endif KWStyle-master/Utilities/boost/exception/errinfo_at_line.hpp000066400000000000000000000010431265471724600246740ustar00rootroot00000000000000//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 UUID_E7255CE26C1211DE85800C9155D89593 #define UUID_E7255CE26C1211DE85800C9155D89593 namespace boost { template class error_info; //Use with parsing errors exceptions, for example in a XML file parser. typedef error_info errinfo_at_line; } #endif KWStyle-master/Utilities/boost/exception/errinfo_errno.hpp000066400000000000000000000023071265471724600244120ustar00rootroot00000000000000//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 UUID_F0EE17BE6C1211DE87FF459155D89593 #define UUID_F0EE17BE6C1211DE87FF459155D89593 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #endif #include "boost/exception/info.hpp" #include #include namespace boost { typedef error_info errinfo_errno; //Usage hint: //if( c_function(....)!=0 ) // BOOST_THROW_EXCEPTION( // failure() << // errinfo_errno(errno) << // errinfo_api_function("c_function") ); inline std::string to_string( errinfo_errno const & e ) { std::ostringstream tmp; int v=e.value(); tmp << v << ", \"" << strerror(v) << "\""; return tmp.str(); } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/exception/errinfo_file_handle.hpp000066400000000000000000000010441265471724600255140ustar00rootroot00000000000000//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 UUID_F79E6EE26C1211DEB26E929155D89593 #define UUID_F79E6EE26C1211DEB26E929155D89593 #include namespace boost { template class weak_ptr; template class error_info; typedef error_info > errinfo_file_handle; } #endif KWStyle-master/Utilities/boost/exception/errinfo_file_name.hpp000066400000000000000000000013231265471724600252010ustar00rootroot00000000000000//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 UUID_FEE5120A6C1211DE94E8BC9155D89593 #define UUID_FEE5120A6C1211DE94E8BC9155D89593 #include namespace boost { template class error_info; //Usage hint: //FILE * f=fopen(name,mode); //if( !f ) // BOOST_THROW_EXCEPTION( // file_open_error() << // errinfo_file_name(name) << // errinfo_file_open_mode(mode) ); typedef error_info errinfo_file_name; } #endif KWStyle-master/Utilities/boost/exception/errinfo_file_open_mode.hpp000066400000000000000000000013351265471724600262310ustar00rootroot00000000000000//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 UUID_056F1F266C1311DE8E74299255D89593 #define UUID_056F1F266C1311DE8E74299255D89593 #include namespace boost { template class error_info; //Usage hint: //FILE * f=fopen(name,mode); //if( !f ) // BOOST_THROW_EXCEPTION( // file_open_error() << // errinfo_file_name(name) << // errinfo_file_open_mode(mode) ); typedef error_info errinfo_file_open_mode; } #endif KWStyle-master/Utilities/boost/exception/errinfo_nested_exception.hpp000066400000000000000000000011001265471724600266130ustar00rootroot00000000000000//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 UUID_45CC9A82B77511DEB330FC4956D89593 #define UUID_45CC9A82B77511DEB330FC4956D89593 namespace boost { namespace exception_detail { class clone_base; } template class error_info; class exception_ptr; typedef error_info errinfo_nested_exception; } #endif KWStyle-master/Utilities/boost/exception/errinfo_type_info_name.hpp000066400000000000000000000011751265471724600262630ustar00rootroot00000000000000//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 UUID_0E11109E6C1311DEB7EA649255D89593 #define UUID_0E11109E6C1311DEB7EA649255D89593 #include namespace boost { template class error_info; //Usage hint: //BOOST_THROW_EXCEPTION( // bad_type() << // errinfo_type_info_name(typeid(x).name()) ); typedef error_info errinfo_type_info_name; } #endif KWStyle-master/Utilities/boost/exception/error_info.hpp000066400000000000000000000006031265471724600237020ustar00rootroot00000000000000//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 UUID_EE7ECCA0433B11E1923E37064924019B #define UUID_EE7ECCA0433B11E1923E37064924019B namespace boost { template class error_info; } #endif KWStyle-master/Utilities/boost/exception/exception.hpp000066400000000000000000000300431265471724600235350ustar00rootroot00000000000000//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 UUID_274DA366004E11DCB1DDFE2E56D89593 #define UUID_274DA366004E11DCB1DDFE2E56D89593 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #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) { } }; #if defined(__GNUC__) # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) # pragma GCC visibility push (default) # endif #endif class exception; #if defined(__GNUC__) # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) # pragma GCC visibility pop # endif #endif template class shared_ptr; 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() throw() { } }; template struct get_info; template <> struct get_info; template <> struct get_info; template <> struct get_info; 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 & ); } #if defined(__GNUC__) # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) # pragma GCC visibility push (default) # endif #endif class 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 ) throw(): data_(x.data_), throw_function_(x.throw_function_), throw_file_(x.throw_file_), throw_line_(x.throw_line_) { } #endif virtual ~exception() throw() #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; 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_; }; #if defined(__GNUC__) # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) # pragma GCC visibility pop # endif #endif inline exception:: ~exception() throw() { } 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 { #if defined(__GNUC__) # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) # pragma GCC visibility push (default) # endif #endif template struct error_info_injector: public T, public exception { explicit error_info_injector( T const & x ): T(x) { } ~error_info_injector() throw() { } }; #if defined(__GNUC__) # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) # pragma GCC visibility pop # endif #endif 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 { #if defined(__GNUC__) # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) # pragma GCC visibility push (default) # endif #endif class clone_base { public: virtual clone_base const * clone() const = 0; virtual void rethrow() const = 0; virtual ~clone_base() throw() { } }; #if defined(__GNUC__) # if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) # pragma GCC visibility pop # endif #endif 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 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() throw() { } 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 KWStyle-master/Utilities/boost/exception/get_error_info.hpp000066400000000000000000000070531265471724600245470ustar00rootroot00000000000000//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 UUID_1A590226753311DD9E4CCF6156D89593 #define UUID_1A590226753311DD9E4CCF6156D89593 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #endif #include #include #include #include namespace boost { namespace exception_detail { template struct get_info { static typename ErrorInfo::value_type * get( exception const & x ) { if( exception_detail::error_info_container * c=x.data_.get() ) if( shared_ptr eib = c->get(BOOST_EXCEPTION_STATIC_TYPEID(ErrorInfo)) ) { #ifndef BOOST_NO_RTTI BOOST_ASSERT( 0!=dynamic_cast(eib.get()) ); #endif ErrorInfo * w = static_cast(eib.get()); return &w->value(); } return 0; } }; template <> struct get_info { static char const * * get( exception const & x ) { return x.throw_function_ ? &x.throw_function_ : 0; } }; template <> struct get_info { static char const * * get( exception const & x ) { return x.throw_file_ ? &x.throw_file_ : 0; } }; template <> struct get_info { static int * get( exception const & x ) { return x.throw_line_!=-1 ? &x.throw_line_ : 0; } }; template struct get_error_info_return_type { typedef R * type; }; template struct get_error_info_return_type { typedef R const * type; }; } #ifdef BOOST_NO_RTTI template inline typename ErrorInfo::value_type const * get_error_info( boost::exception const & x ) { return exception_detail::get_info::get(x); } template inline typename ErrorInfo::value_type * get_error_info( boost::exception & x ) { return exception_detail::get_info::get(x); } #else template inline typename exception_detail::get_error_info_return_type::type get_error_info( E & some_exception ) { if( exception const * x = dynamic_cast(&some_exception) ) return exception_detail::get_info::get(*x); else return 0; } #endif } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/exception/info.hpp000066400000000000000000000131241265471724600224730ustar00rootroot00000000000000//Copyright (c) 2006-2010 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 UUID_8D22C4CA9CC811DCAA9133D256D89593 #define UUID_8D22C4CA9CC811DCAA9133D256D89593 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #endif #include #include #include #include #include #include namespace boost { template inline std::string error_info_name( error_info const & x ) { return tag_type_name(); } template inline std::string to_string( error_info const & x ) { return '[' + error_info_name(x) + "] = " + to_string_stub(x.value()) + '\n'; } template inline error_info:: error_info( value_type const & value ): value_(value) { } template inline error_info:: ~error_info() throw() { } template inline std::string error_info:: name_value_string() const { return to_string_stub(*this); } namespace exception_detail { class error_info_container_impl: public error_info_container { public: error_info_container_impl(): count_(0) { } ~error_info_container_impl() throw() { } void set( shared_ptr const & x, type_info_ const & typeid_ ) { BOOST_ASSERT(x); info_[typeid_] = x; diagnostic_info_str_.clear(); } shared_ptr get( type_info_ const & ti ) const { error_info_map::const_iterator i=info_.find(ti); if( info_.end()!=i ) { shared_ptr const & p = i->second; #ifndef BOOST_NO_RTTI BOOST_ASSERT( *BOOST_EXCEPTION_DYNAMIC_TYPEID(*p).type_==*ti.type_ ); #endif return p; } return shared_ptr(); } char const * diagnostic_information( char const * header ) const { if( header ) { std::ostringstream tmp; tmp << header; for( error_info_map::const_iterator i=info_.begin(),end=info_.end(); i!=end; ++i ) { error_info_base const & x = *i->second; tmp << x.name_value_string(); } tmp.str().swap(diagnostic_info_str_); } return diagnostic_info_str_.c_str(); } private: friend class boost::exception; typedef std::map< type_info_, shared_ptr > error_info_map; error_info_map info_; mutable std::string diagnostic_info_str_; mutable int count_; error_info_container_impl( error_info_container_impl const & ); error_info_container_impl & operator=( error_info_container const & ); void add_ref() const { ++count_; } bool release() const { if( --count_ ) return false; else { delete this; return true; } } refcount_ptr clone() const { refcount_ptr p; error_info_container_impl * c=new error_info_container_impl; p.adopt(c); c->info_ = info_; return p; } }; template inline E const & set_info( E const & x, error_info const & v ) { typedef error_info error_info_tag_t; shared_ptr p( new error_info_tag_t(v) ); exception_detail::error_info_container * c=x.data_.get(); if( !c ) x.data_.adopt(c=new exception_detail::error_info_container_impl); c->set(p,BOOST_EXCEPTION_STATIC_TYPEID(error_info_tag_t)); return x; } template struct derives_boost_exception { enum e { value = (sizeof(dispatch_boost_exception((T*)0))==sizeof(large_size)) }; }; } template inline typename enable_if,E const &>::type operator<<( E const & x, error_info const & v ) { return exception_detail::set_info(x,v); } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/exception/info_tuple.hpp000066400000000000000000000045251265471724600237110ustar00rootroot00000000000000//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 UUID_63EE924290FB11DC87BB856555D89593 #define UUID_63EE924290FB11DC87BB856555D89593 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #endif #include #include namespace boost { template < class E > inline E const & operator<<( E const & x, tuple< > const & v ) { return x; } template < class E, class Tag1,class T1 > inline E const & operator<<( E const & x, tuple< error_info > const & v ) { return x << v.template get<0>(); } template < class E, class Tag1,class T1, class Tag2,class T2 > inline E const & operator<<( E const & x, tuple< error_info, error_info > const & v ) { return x << v.template get<0>() << v.template get<1>(); } template < class E, class Tag1,class T1, class Tag2,class T2, class Tag3,class T3 > inline E const & operator<<( E const & x, tuple< error_info, error_info, error_info > const & v ) { return x << v.template get<0>() << v.template get<1>() << v.template get<2>(); } template < class E, class Tag1,class T1, class Tag2,class T2, class Tag3,class T3, class Tag4,class T4 > inline E const & operator<<( E const & x, tuple< error_info, error_info, error_info, error_info > const & v ) { return x << v.template get<0>() << v.template get<1>() << v.template get<2>() << v.template get<3>(); } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/exception/to_string.hpp000066400000000000000000000043331265471724600235520ustar00rootroot00000000000000//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 UUID_7E48761AD92811DC9011477D56D89593 #define UUID_7E48761AD92811DC9011477D56D89593 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #endif #include #include #include namespace boost { template std::string to_string( std::pair const & ); std::string to_string( std::exception const & ); namespace to_string_detail { template typename disable_if,char>::type to_string( T const & ); using boost::to_string; template struct has_to_string_impl; template struct has_to_string_impl { enum e { value=1 }; }; template struct has_to_string_impl { static T const & f(); enum e { value=1!=sizeof(to_string(f())) }; }; } template inline typename enable_if,std::string>::type to_string( T const & x ) { std::ostringstream out; out << x; return out.str(); } template struct has_to_string { enum e { value=to_string_detail::has_to_string_impl::value>::value }; }; template inline std::string to_string( std::pair const & x ) { return std::string("(") + to_string(x.first) + ',' + to_string(x.second) + ')'; } inline std::string to_string( std::exception const & x ) { return x.what(); } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/exception/to_string_stub.hpp000066400000000000000000000057271265471724600246170ustar00rootroot00000000000000//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 UUID_E788439ED9F011DCB181F25B55D89593 #define UUID_E788439ED9F011DCB181F25B55D89593 #if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma GCC system_header #endif #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(push,1) #endif #include #include #include namespace boost { namespace exception_detail { template struct to_string_dispatcher { template static std::string convert( T const & x, Stub ) { return to_string(x); } }; template <> struct to_string_dispatcher { template static std::string convert( T const & x, Stub s ) { return s(x); } template static std::string convert( T const & x, std::string s ) { return s; } template static std::string convert( T const & x, char const * s ) { BOOST_ASSERT(s!=0); return s; } }; namespace to_string_dispatch { template inline std::string dispatch( T const & x, Stub s ) { return to_string_dispatcher::value>::convert(x,s); } } template inline std::string string_stub_dump( T const & x ) { return "[ " + exception_detail::object_hex_dump(x) + " ]"; } } template inline std::string to_string_stub( T const & x ) { return exception_detail::to_string_dispatch::dispatch(x,&exception_detail::string_stub_dump); } template inline std::string to_string_stub( T const & x, Stub s ) { return exception_detail::to_string_dispatch::dispatch(x,s); } template inline std::string to_string_stub( std::pair const & x, Stub s ) { return std::string("(") + to_string_stub(x.first,s) + ',' + to_string_stub(x.second,s) + ')'; } } #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) #pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/exception_ptr.hpp000066400000000000000000000005661265471724600224330ustar00rootroot00000000000000//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 UUID_FA5836A2CADA11DC8CD47C8555D89593 #define UUID_FA5836A2CADA11DC8CD47C8555D89593 #include #endif KWStyle-master/Utilities/boost/filesystem.hpp000066400000000000000000000012541265471724600217270ustar00rootroot00000000000000// boost/filesystem.hpp --------------------------------------------------------------// // Copyright Beman Dawes 2010 // Distributed under the Boost Software License, Version 1.0. // See http://www.boost.org/LICENSE_1_0.txt // Library home page: http://www.boost.org/libs/filesystem //--------------------------------------------------------------------------------------// #ifndef BOOST_FILESYSTEM_FILESYSTEM_HPP #define BOOST_FILESYSTEM_FILESYSTEM_HPP # include # include # include # include #endif // BOOST_FILESYSTEM_FILESYSTEM_HPP KWStyle-master/Utilities/boost/flyweight.hpp000066400000000000000000000011341265471724600215420ustar00rootroot00000000000000/* Copyright 2006-2008 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/flyweight for library home page. */ #ifndef BOOST_FLYWEIGHT_HPP #define BOOST_FLYWEIGHT_HPP #if defined(_MSC_VER) #pragma once #endif #include #include #include #include #include #endif KWStyle-master/Utilities/boost/foreach.hpp000066400000000000000000001303551265471724600211570ustar00rootroot00000000000000/////////////////////////////////////////////////////////////////////////////// // 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 // 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(__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(__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 #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(__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 ? 0 : 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 ? 0 : 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 ? 0 : 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 ? 0 : 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 ? 0 : 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 ? 0 : 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 KWStyle-master/Utilities/boost/foreach_fwd.hpp000066400000000000000000000032461265471724600220150ustar00rootroot00000000000000/////////////////////////////////////////////////////////////////////////////// // 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 KWStyle-master/Utilities/boost/format.hpp000066400000000000000000000042031265471724600210300ustar00rootroot00000000000000// ---------------------------------------------------------------------------- // format.hpp : primary header // ---------------------------------------------------------------------------- // Copyright Samuel Krempp 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/format for library home page // ---------------------------------------------------------------------------- #ifndef BOOST_FORMAT_HPP #define BOOST_FORMAT_HPP #include #include #include #include #ifndef BOOST_NO_STD_LOCALE #include #endif // *** Compatibility framework #include #ifdef BOOST_NO_LOCALE_ISIDIGIT #include // we'll use the non-locale 's std::isdigit(int) #endif // **** Forward declarations ---------------------------------- #include // basic_format, and other frontends #include // misc forward declarations for internal use // **** Auxiliary structs (stream_format_state , and format_item ) #include // **** Format class interface -------------------------------- #include // **** Exceptions ----------------------------------------------- #include // **** Implementation ------------------------------------------- #include // member functions #include // class for grouping arguments #include // argument-feeding functions #include // format-string parsing (member-)functions // **** Implementation of the free functions ---------------------- #include // *** Undefine 'local' macros : #include #endif // BOOST_FORMAT_HPP KWStyle-master/Utilities/boost/function.hpp000066400000000000000000000042301265471724600213650ustar00rootroot00000000000000// 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. #include // unary_function, binary_function #include #include #ifndef BOOST_FUNCTION_MAX_ARGS # define BOOST_FUNCTION_MAX_ARGS 10 #endif // BOOST_FUNCTION_MAX_ARGS // 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 KWStyle-master/Utilities/boost/function_equal.hpp000066400000000000000000000014271265471724600225610ustar00rootroot00000000000000// 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 KWStyle-master/Utilities/boost/function_output_iterator.hpp000066400000000000000000000032571265471724600247260ustar00rootroot00000000000000// (C) Copyright Jeremy Siek 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) // Revision History: // 27 Feb 2001 Jeremy Siek // Initial checkin. #ifndef BOOST_FUNCTION_OUTPUT_ITERATOR_HPP #define BOOST_FUNCTION_OUTPUT_ITERATOR_HPP #include namespace boost { namespace iterators { template class function_output_iterator { typedef function_output_iterator self; public: typedef std::output_iterator_tag iterator_category; typedef void value_type; typedef void difference_type; typedef void pointer; typedef void reference; explicit function_output_iterator() {} explicit function_output_iterator(const UnaryFunction& f) : m_f(f) {} struct output_proxy { output_proxy(UnaryFunction& f) : m_f(f) { } template output_proxy& operator=(const T& value) { m_f(value); return *this; } UnaryFunction& m_f; }; output_proxy operator*() { return output_proxy(m_f); } self& operator++() { return *this; } self& operator++(int) { return *this; } private: UnaryFunction m_f; }; template inline function_output_iterator make_function_output_iterator(const UnaryFunction& f = UnaryFunction()) { return function_output_iterator(f); } } // namespace iterators using iterators::function_output_iterator; using iterators::make_function_output_iterator; } // namespace boost #endif // BOOST_FUNCTION_OUTPUT_ITERATOR_HPP KWStyle-master/Utilities/boost/functional.hpp000066400000000000000000000446211265471724600217120ustar00rootroot00000000000000// ------------------------------------------------------------------------------ // Copyright (c) 2000 Cadenza New Zealand Ltd // Distributed under the Boost Software License, Version 1.0. (See accompany- // ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // ------------------------------------------------------------------------------ // Boost functional.hpp header file // See http://www.boost.org/libs/functional for documentation. // ------------------------------------------------------------------------------ // $Id$ // ------------------------------------------------------------------------------ #ifndef BOOST_FUNCTIONAL_HPP #define BOOST_FUNCTIONAL_HPP #include #include #include namespace boost { #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION // -------------------------------------------------------------------------- // The following traits classes allow us to avoid the need for ptr_fun // because the types of arguments and the result of a function can be // deduced. // // In addition to the standard types defined in unary_function and // binary_function, we add // // - function_type, the type of the function or function object itself. // // - param_type, the type that should be used for passing the function or // function object as an argument. // -------------------------------------------------------------------------- namespace detail { template struct unary_traits_imp; template struct unary_traits_imp { typedef Operation function_type; typedef const function_type & param_type; typedef typename Operation::result_type result_type; typedef typename Operation::argument_type argument_type; }; template struct unary_traits_imp { typedef R (*function_type)(A); typedef R (*param_type)(A); typedef R result_type; typedef A argument_type; }; template struct binary_traits_imp; template struct binary_traits_imp { typedef Operation function_type; typedef const function_type & param_type; typedef typename Operation::result_type result_type; typedef typename Operation::first_argument_type first_argument_type; typedef typename Operation::second_argument_type second_argument_type; }; template struct binary_traits_imp { typedef R (*function_type)(A1,A2); typedef R (*param_type)(A1,A2); typedef R result_type; typedef A1 first_argument_type; typedef A2 second_argument_type; }; } // namespace detail template struct unary_traits { typedef typename detail::unary_traits_imp::function_type function_type; typedef typename detail::unary_traits_imp::param_type param_type; typedef typename detail::unary_traits_imp::result_type result_type; typedef typename detail::unary_traits_imp::argument_type argument_type; }; template struct unary_traits { typedef R (*function_type)(A); typedef R (*param_type)(A); typedef R result_type; typedef A argument_type; }; template struct binary_traits { typedef typename detail::binary_traits_imp::function_type function_type; typedef typename detail::binary_traits_imp::param_type param_type; typedef typename detail::binary_traits_imp::result_type result_type; typedef typename detail::binary_traits_imp::first_argument_type first_argument_type; typedef typename detail::binary_traits_imp::second_argument_type second_argument_type; }; template struct binary_traits { typedef R (*function_type)(A1,A2); typedef R (*param_type)(A1,A2); typedef R result_type; typedef A1 first_argument_type; typedef A2 second_argument_type; }; #else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION // -------------------------------------------------------------------------- // If we have no partial specialisation available, decay to a situation // that is no worse than in the Standard, i.e., ptr_fun will be required. // -------------------------------------------------------------------------- template struct unary_traits { typedef Operation function_type; typedef const Operation& param_type; typedef typename Operation::result_type result_type; typedef typename Operation::argument_type argument_type; }; template struct binary_traits { typedef Operation function_type; typedef const Operation & param_type; typedef typename Operation::result_type result_type; typedef typename Operation::first_argument_type first_argument_type; typedef typename Operation::second_argument_type second_argument_type; }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION // -------------------------------------------------------------------------- // unary_negate, not1 // -------------------------------------------------------------------------- template class unary_negate : public std::unary_function::argument_type,bool> { public: explicit unary_negate(typename unary_traits::param_type x) : pred(x) {} bool operator()(typename call_traits::argument_type>::param_type x) const { return !pred(x); } private: typename unary_traits::function_type pred; }; template unary_negate not1(const Predicate &pred) { // The cast is to placate Borland C++Builder in certain circumstances. // I don't think it should be necessary. return unary_negate((typename unary_traits::param_type)pred); } template unary_negate not1(Predicate &pred) { return unary_negate(pred); } // -------------------------------------------------------------------------- // binary_negate, not2 // -------------------------------------------------------------------------- template class binary_negate : public std::binary_function::first_argument_type, typename binary_traits::second_argument_type, bool> { public: explicit binary_negate(typename binary_traits::param_type x) : pred(x) {} bool operator()(typename call_traits::first_argument_type>::param_type x, typename call_traits::second_argument_type>::param_type y) const { return !pred(x,y); } private: typename binary_traits::function_type pred; }; template binary_negate not2(const Predicate &pred) { // The cast is to placate Borland C++Builder in certain circumstances. // I don't think it should be necessary. return binary_negate((typename binary_traits::param_type)pred); } template binary_negate not2(Predicate &pred) { return binary_negate(pred); } // -------------------------------------------------------------------------- // binder1st, bind1st // -------------------------------------------------------------------------- template class binder1st : public std::unary_function::second_argument_type, typename binary_traits::result_type> { public: binder1st(typename binary_traits::param_type x, typename call_traits::first_argument_type>::param_type y) : op(x), value(y) {} typename binary_traits::result_type operator()(typename call_traits::second_argument_type>::param_type x) const { return op(value, x); } protected: typename binary_traits::function_type op; typename binary_traits::first_argument_type value; }; template inline binder1st bind1st(const Operation &op, typename call_traits< typename binary_traits::first_argument_type >::param_type x) { // The cast is to placate Borland C++Builder in certain circumstances. // I don't think it should be necessary. return binder1st((typename binary_traits::param_type)op, x); } template inline binder1st bind1st(Operation &op, typename call_traits< typename binary_traits::first_argument_type >::param_type x) { return binder1st(op, x); } // -------------------------------------------------------------------------- // binder2nd, bind2nd // -------------------------------------------------------------------------- template class binder2nd : public std::unary_function::first_argument_type, typename binary_traits::result_type> { public: binder2nd(typename binary_traits::param_type x, typename call_traits::second_argument_type>::param_type y) : op(x), value(y) {} typename binary_traits::result_type operator()(typename call_traits::first_argument_type>::param_type x) const { return op(x, value); } protected: typename binary_traits::function_type op; typename binary_traits::second_argument_type value; }; template inline binder2nd bind2nd(const Operation &op, typename call_traits< typename binary_traits::second_argument_type >::param_type x) { // The cast is to placate Borland C++Builder in certain circumstances. // I don't think it should be necessary. return binder2nd((typename binary_traits::param_type)op, x); } template inline binder2nd bind2nd(Operation &op, typename call_traits< typename binary_traits::second_argument_type >::param_type x) { return binder2nd(op, x); } // -------------------------------------------------------------------------- // mem_fun, etc // -------------------------------------------------------------------------- template class mem_fun_t : public std::unary_function { public: explicit mem_fun_t(S (T::*p)()) : ptr(p) {} S operator()(T* p) const { return (p->*ptr)(); } private: S (T::*ptr)(); }; template class mem_fun1_t : public std::binary_function { public: explicit mem_fun1_t(S (T::*p)(A)) : ptr(p) {} S operator()(T* p, typename call_traits::param_type x) const { return (p->*ptr)(x); } private: S (T::*ptr)(A); }; template class const_mem_fun_t : public std::unary_function { public: explicit const_mem_fun_t(S (T::*p)() const) : ptr(p) {} S operator()(const T* p) const { return (p->*ptr)(); } private: S (T::*ptr)() const; }; template class const_mem_fun1_t : public std::binary_function { public: explicit const_mem_fun1_t(S (T::*p)(A) const) : ptr(p) {} S operator()(const T* p, typename call_traits::param_type x) const { return (p->*ptr)(x); } private: S (T::*ptr)(A) const; }; template inline mem_fun_t mem_fun(S (T::*f)()) { return mem_fun_t(f); } template inline mem_fun1_t mem_fun(S (T::*f)(A)) { return mem_fun1_t(f); } #ifndef BOOST_NO_POINTER_TO_MEMBER_CONST template inline const_mem_fun_t mem_fun(S (T::*f)() const) { return const_mem_fun_t(f); } template inline const_mem_fun1_t mem_fun(S (T::*f)(A) const) { return const_mem_fun1_t(f); } #endif // BOOST_NO_POINTER_TO_MEMBER_CONST // -------------------------------------------------------------------------- // mem_fun_ref, etc // -------------------------------------------------------------------------- template class mem_fun_ref_t : public std::unary_function { public: explicit mem_fun_ref_t(S (T::*p)()) : ptr(p) {} S operator()(T& p) const { return (p.*ptr)(); } private: S (T::*ptr)(); }; template class mem_fun1_ref_t : public std::binary_function { public: explicit mem_fun1_ref_t(S (T::*p)(A)) : ptr(p) {} S operator()(T& p, typename call_traits::param_type x) const { return (p.*ptr)(x); } private: S (T::*ptr)(A); }; template class const_mem_fun_ref_t : public std::unary_function { public: explicit const_mem_fun_ref_t(S (T::*p)() const) : ptr(p) {} S operator()(const T &p) const { return (p.*ptr)(); } private: S (T::*ptr)() const; }; template class const_mem_fun1_ref_t : public std::binary_function { public: explicit const_mem_fun1_ref_t(S (T::*p)(A) const) : ptr(p) {} S operator()(const T& p, typename call_traits::param_type x) const { return (p.*ptr)(x); } private: S (T::*ptr)(A) const; }; template inline mem_fun_ref_t mem_fun_ref(S (T::*f)()) { return mem_fun_ref_t(f); } template inline mem_fun1_ref_t mem_fun_ref(S (T::*f)(A)) { return mem_fun1_ref_t(f); } #ifndef BOOST_NO_POINTER_TO_MEMBER_CONST template inline const_mem_fun_ref_t mem_fun_ref(S (T::*f)() const) { return const_mem_fun_ref_t(f); } template inline const_mem_fun1_ref_t mem_fun_ref(S (T::*f)(A) const) { return const_mem_fun1_ref_t(f); } #endif // BOOST_NO_POINTER_TO_MEMBER_CONST // -------------------------------------------------------------------------- // ptr_fun // -------------------------------------------------------------------------- template class pointer_to_unary_function : public std::unary_function { public: explicit pointer_to_unary_function(Result (*f)(Arg)) : func(f) {} Result operator()(typename call_traits::param_type x) const { return func(x); } private: Result (*func)(Arg); }; template inline pointer_to_unary_function ptr_fun(Result (*f)(Arg)) { return pointer_to_unary_function(f); } template class pointer_to_binary_function : public std::binary_function { public: explicit pointer_to_binary_function(Result (*f)(Arg1, Arg2)) : func(f) {} Result operator()(typename call_traits::param_type x, typename call_traits::param_type y) const { return func(x,y); } private: Result (*func)(Arg1, Arg2); }; template inline pointer_to_binary_function ptr_fun(Result (*f)(Arg1, Arg2)) { return pointer_to_binary_function(f); } } // namespace boost #endif KWStyle-master/Utilities/boost/fusion/000077500000000000000000000000001265471724600203335ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted.hpp000066400000000000000000000020241265471724600224440ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_ADAPTED_30122005_1420) #define BOOST_FUSION_ADAPTED_30122005_1420 #include #include #include #include #include #include #include #include // The std_tuple_iterator adaptor only supports implementations // using variadic templates #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) #include #endif #endif KWStyle-master/Utilities/boost/fusion/adapted/000077500000000000000000000000001265471724600217355ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/adt.hpp000066400000000000000000000014321265471724600232160ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_ADT_HPP #define BOOST_FUSION_ADAPTED_ADT_HPP #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/adapted/adt/000077500000000000000000000000001265471724600225055ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/adt/adapt_adt.hpp000066400000000000000000000114111265471724600251350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2009 Joel de Guzman Copyright (c) 2009-2010 Hartmut Kaiser Copyright (c) 2010-2011 Christopher Schmidt Copyright (c) 2013-2014 Damien Buhl Distributed under the 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_FUSION_ADAPTED_ADT_ADAPT_ADT_HPP #define BOOST_FUSION_ADAPTED_ADT_ADAPT_ADT_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 #define BOOST_FUSION_ADAPT_ADT_C( \ TEMPLATE_PARAMS_SEQ, NAME_SEQ, IS_VIEW, I, ATTRIBUTE) \ BOOST_FUSION_ADAPT_ADT_C_BASE( \ TEMPLATE_PARAMS_SEQ, \ NAME_SEQ, \ I, \ BOOST_PP_IF(IS_VIEW, BOOST_FUSION_PROXY_PREFIX, BOOST_PP_EMPTY), \ BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR(ATTRIBUTE), \ BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ BOOST_PP_IF( \ BOOST_PP_LESS( \ BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), 4) \ , 1, 0)) #define BOOST_FUSION_ADAPT_TPL_ADT(TEMPLATE_PARAMS_SEQ, NAME_SEQ , ATTRIBUTES) \ BOOST_FUSION_ADAPT_STRUCT_BASE( \ (1)TEMPLATE_PARAMS_SEQ, \ (1)NAME_SEQ, \ struct_tag, \ 0, \ BOOST_PP_CAT(BOOST_FUSION_ADAPT_ADT_FILLER_0(0,0,0,0)ATTRIBUTES,_END), \ BOOST_FUSION_ADAPT_ADT_C) #define BOOST_FUSION_ADAPT_ADT(NAME, ATTRIBUTES) \ BOOST_FUSION_ADAPT_STRUCT_BASE( \ (0), \ (0)(NAME), \ struct_tag, \ 0, \ BOOST_PP_CAT(BOOST_FUSION_ADAPT_ADT_FILLER_0(0,0,0,0)ATTRIBUTES,_END), \ BOOST_FUSION_ADAPT_ADT_C) #define BOOST_FUSION_ADAPT_ADT_AS_VIEW(NAME, ATTRIBUTES) \ BOOST_FUSION_ADAPT_STRUCT_BASE( \ (0), \ (0)(NAME), \ struct_tag, \ 1, \ BOOST_PP_CAT(BOOST_FUSION_ADAPT_ADT_FILLER_0(0,0,0,0)ATTRIBUTES,_END), \ BOOST_FUSION_ADAPT_ADT_C) #endif KWStyle-master/Utilities/boost/fusion/adapted/adt/adapt_adt_named.hpp000066400000000000000000000031251265471724600263040ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2009 Joel de Guzman Copyright (c) 2009-2010 Hartmut Kaiser Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_ADT_ADAPT_ADT_NAMED_HPP #define BOOST_FUSION_ADAPTED_ADT_ADAPT_ADT_NAMED_HPP #include #include #include #define BOOST_FUSION_ADAPT_ADT_NAMED_NS( \ WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ \ BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ \ BOOST_FUSION_ADAPT_ADT_AS_VIEW( \ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \ ATTRIBUTES) #define BOOST_FUSION_ADAPT_ADT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ BOOST_FUSION_ADAPT_ADT_NAMED_NS( \ WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES) #endif KWStyle-master/Utilities/boost/fusion/adapted/adt/adapt_assoc_adt.hpp000066400000000000000000000137011265471724600263310ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2009 Joel de Guzman Copyright (c) 2007 Dan Marsden Copyright (c) 2010-2011 Christopher Schmidt Copyright (c) 2013-2014 Damien Buhl Distributed under the 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_FUSION_ADAPTED_ADT_ADAPT_ASSOC_ADT_HPP #define BOOST_FUSION_ADAPTED_ADT_ADAPT_ASSOC_ADT_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 #define BOOST_FUSION_ADAPT_ASSOC_ADT_C( \ TEMPLATE_PARAMS_SEQ, NAME_SEQ, IS_VIEW, I, ATTRIBUTE) \ \ BOOST_FUSION_ADAPT_ADT_C_BASE( \ TEMPLATE_PARAMS_SEQ, \ NAME_SEQ, \ I, \ BOOST_PP_IF(IS_VIEW, BOOST_FUSION_PROXY_PREFIX, BOOST_PP_EMPTY), \ BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR(ATTRIBUTE), \ BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ BOOST_PP_IF( \ BOOST_PP_LESS( \ BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), 5) \ , 1, 0)) \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ > \ struct struct_assoc_key \ { \ typedef BOOST_FUSION_ADAPT_ASSOC_ADT_WRAPPEDATTR_GET_KEY(ATTRIBUTE) type;\ }; #define BOOST_FUSION_ADAPT_ASSOC_TPL_ADT( \ TEMPLATE_PARAMS_SEQ, NAME_SEQ, ATTRIBUTES) \ \ BOOST_FUSION_ADAPT_STRUCT_BASE( \ (1)TEMPLATE_PARAMS_SEQ, \ (1)NAME_SEQ, \ assoc_struct_tag, \ 0, \ BOOST_PP_CAT( \ BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(0,0,0,0,0)ATTRIBUTES,_END), \ BOOST_FUSION_ADAPT_ASSOC_ADT_C) #define BOOST_FUSION_ADAPT_ASSOC_ADT(NAME, ATTRIBUTES) \ BOOST_FUSION_ADAPT_STRUCT_BASE( \ (0), \ (0)(NAME), \ assoc_struct_tag, \ 0, \ BOOST_PP_CAT( \ BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(0,0,0,0,0)ATTRIBUTES,_END), \ BOOST_FUSION_ADAPT_ASSOC_ADT_C) #define BOOST_FUSION_ADAPT_ASSOC_ADT_AS_VIEW(NAME, ATTRIBUTES) \ BOOST_FUSION_ADAPT_STRUCT_BASE( \ (0), \ (0)(NAME), \ assoc_struct_tag, \ 1, \ BOOST_PP_CAT( \ BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(0,0,0,0,0)ATTRIBUTES,_END), \ BOOST_FUSION_ADAPT_ASSOC_ADT_C) #endif KWStyle-master/Utilities/boost/fusion/adapted/adt/adapt_assoc_adt_named.hpp000066400000000000000000000030211265471724600274670ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_ADT_ADAPT_ASSOC_ADT_NAMED_HPP #define BOOST_FUSION_ADAPTED_ADT_ADAPT_ASSOC_ADT_NAMED_HPP #include #include #include #define BOOST_FUSION_ADAPT_ASSOC_ADT_NAMED_NS( \ WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ \ BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ \ BOOST_FUSION_ADAPT_ASSOC_ADT_AS_VIEW( \ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \ ATTRIBUTES) #define BOOST_FUSION_ADAPT_ASSOC_ADT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ BOOST_FUSION_ADAPT_ASSOC_ADT_NAMED_NS( \ WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES) #endif KWStyle-master/Utilities/boost/fusion/adapted/adt/detail/000077500000000000000000000000001265471724600237475ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/adt/detail/adapt_base.hpp000066400000000000000000000515241265471724600265520ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2009 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_HPP #define BOOST_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_HPP #include #include #include #include #include #include #include #include #include #include #include #define BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_TEMPLATE_IMPL(TEMPLATE_PARAMS_SEQ) \ typename detail::get_identity< \ lvalue \ , BOOST_PP_SEQ_ELEM(1,TEMPLATE_PARAMS_SEQ) \ >::type #define BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_NON_TEMPLATE_IMPL( \ TEMPLATE_PARAMS_SEQ) \ \ boost::remove_const::type>::type #define BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR(ATTRIBUTE, \ ATTRIBUTE_TUPEL_SIZE, DEDUCE_TYPE) \ BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, \ BOOST_PP_IF(DEDUCE_TYPE, 0, 2), ATTRIBUTE) #define BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_SETEXPR(ATTRIBUTE, \ ATTRIBUTE_TUPEL_SIZE, DEDUCE_TYPE) \ BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, \ BOOST_PP_IF(DEDUCE_TYPE, 1, 3), ATTRIBUTE) #ifdef BOOST_MSVC # define BOOST_FUSION_DEDUCED_ATTR_TYPE(NAME_SEQ, ATTRIBUTE, \ ATTRIBUTE_TUPEL_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ \ BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ TEMPLATE_PARAMS_SEQ) \ \ struct deduced_attr_type { \ static const BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj; \ typedef \ BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ),typename,) \ BOOST_TYPEOF( PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR( \ ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, 1)) type; \ }; #else # define BOOST_FUSION_DEDUCED_ATTR_TYPE(NAME_SEQ, ATTRIBUTE, \ ATTRIBUTE_TUPEL_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ struct deduced_attr_type { \ static const BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj; \ typedef BOOST_TYPEOF( PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR( \ ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, 1)) type; \ }; #endif #define BOOST_FUSION_ADT_ATTRIBUTE_TYPEOF( \ NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ \ BOOST_FUSION_DEDUCED_ATTR_TYPE( \ NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ \ typedef \ BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ),typename,) \ boost::remove_const< \ BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ),typename,) \ deduced_attr_type::type \ >::type type; \ \ typedef \ BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ),typename,) \ boost::add_const< \ BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ),typename,) \ deduced_attr_type::type \ >::type const_type; #define BOOST_FUSION_ADT_ATTRIBUTE_GIVENTYPE( \ NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ \ typedef BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE) type; \ typedef BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 1, ATTRIBUTE) const_type; #define BOOST_FUSION_ADAPT_ADT_C_BASE( \ TEMPLATE_PARAMS_SEQ,NAME_SEQ,I,PREFIX, \ ATTRIBUTE,ATTRIBUTE_TUPEL_SIZE, DEDUCE_TYPE) \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ > \ struct access::adt_attribute_access< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ , I \ > \ { \ \ BOOST_PP_IF(DEDUCE_TYPE, \ BOOST_FUSION_ADT_ATTRIBUTE_TYPEOF, \ BOOST_FUSION_ADT_ATTRIBUTE_GIVENTYPE)( \ NAME_SEQ, \ ATTRIBUTE, \ ATTRIBUTE_TUPEL_SIZE, \ PREFIX, \ TEMPLATE_PARAMS_SEQ) \ \ template \ BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static void \ boost_fusion_adapt_adt_impl_set( \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj, \ Val const& val) \ { \ PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_SETEXPR(ATTRIBUTE, \ ATTRIBUTE_TUPEL_SIZE, DEDUCE_TYPE); \ } \ \ BOOST_FUSION_GPU_ENABLED \ static type \ boost_fusion_adapt_adt_impl_get( \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj) \ { \ return PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR(ATTRIBUTE, \ ATTRIBUTE_TUPEL_SIZE, DEDUCE_TYPE); \ } \ \ BOOST_FUSION_GPU_ENABLED \ static const_type \ boost_fusion_adapt_adt_impl_get( \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const& obj) \ { \ return PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR(ATTRIBUTE, \ ATTRIBUTE_TUPEL_SIZE, DEDUCE_TYPE); \ } \ }; \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ > \ struct adt_attribute_proxy< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ , I \ , true \ > \ { \ typedef \ BOOST_PP_IF(BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ), typename, ) \ access::adt_attribute_access< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ , I \ >::const_type type; \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ explicit \ adt_attribute_proxy( \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const& o) \ : obj(&o) \ {} \ \ BOOST_FUSION_GPU_ENABLED \ type get() const \ { \ return access::adt_attribute_access< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ , I \ >::boost_fusion_adapt_adt_impl_get(*obj); \ } \ \ BOOST_FUSION_GPU_ENABLED \ operator type() const \ { \ return get(); \ } \ \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const* obj; \ }; \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ > \ struct adt_attribute_proxy< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ , I \ , false \ > \ { \ typedef \ BOOST_PP_IF(BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ), typename, ) \ access::adt_attribute_access< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ , I \ >::type type; \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ explicit \ adt_attribute_proxy( \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& o) \ : obj(&o) \ {} \ \ template \ BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ adt_attribute_proxy& \ operator=(Val const& val) \ { \ access::adt_attribute_access< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ , I \ >::boost_fusion_adapt_adt_impl_set(*obj, val); \ return *this; \ } \ \ BOOST_FUSION_GPU_ENABLED \ type get() const \ { \ return access::adt_attribute_access< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ , I \ >::boost_fusion_adapt_adt_impl_get(*obj); \ } \ \ BOOST_FUSION_GPU_ENABLED \ operator type() const \ { \ return get(); \ } \ \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)* obj; \ }; \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ > \ struct access::struct_member< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ , I \ > \ { \ typedef BOOST_PP_IF(BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ), typename, ) \ adt_attribute_proxy< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ , I \ , false \ >::type lvalue; \ \ BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ TEMPLATE_PARAMS_SEQ) \ \ typedef \ BOOST_PP_IF( \ BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ), \ BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_TEMPLATE_IMPL, \ BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_NON_TEMPLATE_IMPL)( \ TEMPLATE_PARAMS_SEQ) \ type; \ \ template \ struct apply \ { \ typedef \ adt_attribute_proxy< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ , I \ , is_const::value \ > \ type; \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type \ call(Seq& obj) \ { \ return type(obj); \ } \ }; \ }; #endif KWStyle-master/Utilities/boost/fusion/adapted/adt/detail/adapt_base_assoc_attr_filler.hpp000066400000000000000000000051621265471724600323260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2013-2014 Damien Buhl Distributed under the 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_FUSION_ADAPTER_ADT_DETAIL_ADAPT_BASE_ASSOC_ATTR_FILLER_HPP #define BOOST_FUSION_ADAPTER_ADT_DETAIL_ADAPT_BASE_ASSOC_ATTR_FILLER_HPP #include #include #include #include #include #include #if BOOST_PP_VARIADICS #define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(...) \ BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(__VA_ARGS__) \ BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1 #define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1(...) \ BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(__VA_ARGS__) \ BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0 #define BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(...) \ ((BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), (__VA_ARGS__))) #else // BOOST_PP_VARIADICS #define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(A, B, C, D, E) \ BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(A, B, C, D, E) \ BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1 #define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1(A, B, C, D, E) \ BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(A, B, C, D, E) \ BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0 #define BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(A, B, C, D, E) \ BOOST_PP_IF(BOOST_PP_IS_EMPTY(A), \ ((3, (C,D,E))), \ ((5, (A,B,C,D,E))) \ ) #endif // BOOST_PP_VARIADICS #define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0_END #define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1_END #define BOOST_FUSION_ADAPT_ASSOC_ADT_WRAPPEDATTR_GET_KEY(ATTRIBUTE) \ BOOST_PP_TUPLE_ELEM( \ BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ BOOST_PP_SUB(BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), 1), \ BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR(ATTRIBUTE)) #endif KWStyle-master/Utilities/boost/fusion/adapted/adt/detail/adapt_base_attr_filler.hpp000066400000000000000000000101011265471724600311230ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2013-2014 Damien Buhl Distributed under the 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_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_ATTR_FILLER_HPP #define BOOST_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_ATTR_FILLER_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE) \ BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) #define BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR(ATTRIBUTE) \ BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE) #if BOOST_PP_VARIADICS # define BOOST_FUSION_ADAPT_ADT_FILLER_0(...) \ BOOST_FUSION_ADAPT_ADT_FILLER(__VA_ARGS__) \ BOOST_FUSION_ADAPT_ADT_FILLER_1 # define BOOST_FUSION_ADAPT_ADT_FILLER_1(...) \ BOOST_FUSION_ADAPT_ADT_FILLER(__VA_ARGS__) \ BOOST_FUSION_ADAPT_ADT_FILLER_0 # define BOOST_FUSION_ADAPT_ADT_FILLER_0_END # define BOOST_FUSION_ADAPT_ADT_FILLER_1_END # define BOOST_FUSION_ADAPT_ADT_FILLER(...) \ BOOST_PP_IF( \ BOOST_PP_OR( \ BOOST_PP_IS_EMPTY(BOOST_PP_VARIADIC_ELEM(0, __VA_ARGS__)), \ BOOST_PP_IS_EMPTY(BOOST_PP_VARIADIC_ELEM(1, __VA_ARGS__))), \ BOOST_FUSION_ADAPT_ADT_WRAP_ATTR( \ BOOST_PP_VARIADIC_ELEM(2, __VA_ARGS__), \ BOOST_FUSION_WORKAROUND_VARIADIC_EMPTINESS_LAST_ELEM(__VA_ARGS__) \ ), \ BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(__VA_ARGS__)) # define BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(...) \ ((BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), (__VA_ARGS__))) # define BOOST_FUSION_WORKAROUND_VARIADIC_EMPTINESS_LAST_ELEM(...) \ BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REST_N( \ BOOST_PP_SUB(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), 1), \ BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))) #else // BOOST_PP_VARIADICS # define BOOST_FUSION_ADAPT_ADT_FILLER_0(A, B, C, D) \ BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(A,B,C,D) \ BOOST_FUSION_ADAPT_ADT_FILLER_1 # define BOOST_FUSION_ADAPT_ADT_FILLER_1(A, B, C, D) \ BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(A,B,C,D) \ BOOST_FUSION_ADAPT_ADT_FILLER_0 # define BOOST_FUSION_ADAPT_ADT_FILLER_0_END # define BOOST_FUSION_ADAPT_ADT_FILLER_1_END # define BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(A, B, C, D) \ BOOST_PP_IF(BOOST_PP_IS_EMPTY(A), \ ((2, (C,D))), \ ((4, (A,B,C,D))) \ ) #endif // BOOST_PP_VARIADICS #endif KWStyle-master/Utilities/boost/fusion/adapted/adt/detail/extension.hpp000066400000000000000000000025531265471724600265010ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2009 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_ADT_DETAIL_EXTENSION_HPP #define BOOST_FUSION_ADAPTED_ADT_DETAIL_EXTENSION_HPP #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct get_identity : remove_const::type> {}; } namespace extension { // Overload as_const() to unwrap adt_attribute_proxy. template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename adt_attribute_proxy::type as_const(const adt_attribute_proxy& proxy) { return proxy.get(); } } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/array.hpp000066400000000000000000000022751265471724600235720ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ARRAY_27122005_1035) #define BOOST_FUSION_ARRAY_27122005_1035 //For backwards compatibility #include #include #include #include #include #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/adapted/array/000077500000000000000000000000001265471724600230535ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/array/at_impl.hpp000066400000000000000000000021711265471724600252120ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_ARRAY_AT_IMPL_HPP #define BOOST_FUSION_ADAPTED_ARRAY_AT_IMPL_HPP #include #include #include namespace boost { namespace fusion { namespace extension { template struct at_impl; template<> struct at_impl { template struct apply { typedef typename add_reference::type>::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return seq[N::value]; } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/array/begin_impl.hpp000066400000000000000000000022711265471724600256730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_ARRAY_BEGIN_IMPL_HPP #define BOOST_FUSION_ADAPTED_ARRAY_BEGIN_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct begin_impl; template <> struct begin_impl { template struct apply { typedef basic_iterator< po_array_iterator_tag , random_access_traversal_tag , Seq , 0 > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return type(seq,0); } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/array/category_of_impl.hpp000066400000000000000000000015761265471724600271170ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_ARRAY_CATEGORY_OF_IMPL_HPP #define BOOST_FUSION_ADAPTED_ARRAY_CATEGORY_OF_IMPL_HPP namespace boost { namespace fusion { struct random_access_traversal_tag; namespace extension { template struct category_of_impl; template<> struct category_of_impl { template struct apply { typedef random_access_traversal_tag type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/array/deref_impl.hpp000066400000000000000000000023151265471724600256730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_ARRAY_DEREF_IMPL_HPP #define BOOST_FUSION_ADAPTED_ARRAY_DEREF_IMPL_HPP #include #include #include namespace boost { namespace fusion { namespace extension { template struct deref_impl; template <> struct deref_impl { template struct apply { typedef typename add_reference< typename remove_extent::type >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return (*it.seq)[It::index::value]; } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/array/end_impl.hpp000066400000000000000000000024441265471724600253570ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_ARRAY_END_IMPL_HPP #define BOOST_FUSION_ADAPTED_ARRAY_END_IMPL_HPP #include #include #include #include namespace boost { namespace fusion { namespace extension { template struct end_impl; template <> struct end_impl { template struct apply { typedef basic_iterator< po_array_iterator_tag , random_access_traversal_tag , Seq , extent::value-1>::value > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return type(seq,0); } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/array/is_sequence_impl.hpp000066400000000000000000000014761265471724600271200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_ARRAY_IS_SEQUENCE_IMPL_HPP #define BOOST_FUSION_ADAPTED_ARRAY_IS_SEQUENCE_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct is_sequence_impl; template<> struct is_sequence_impl { template struct apply : mpl::true_ {}; }; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/array/is_view_impl.hpp000066400000000000000000000014571265471724600262610ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_ARRAY_IS_VIEW_IMPL_HPP #define BOOST_FUSION_ADAPTED_ARRAY_IS_VIEW_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct is_view_impl; template<> struct is_view_impl { template struct apply : mpl::false_ {}; }; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/array/size_impl.hpp000066400000000000000000000015451265471724600255640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_ARRAY_SIZE_IMPL_HPP #define BOOST_FUSION_ADAPTED_ARRAY_SIZE_IMPL_HPP #include #include #include namespace boost { namespace fusion { namespace extension { template struct size_impl; template<> struct size_impl { template struct apply : extent::value-1> {}; }; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/array/tag_of.hpp000066400000000000000000000036071265471724600250310ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_ARRAY_TAG_OF_HPP #define BOOST_FUSION_ADAPTED_ARRAY_TAG_OF_HPP #include #include #include namespace boost { namespace fusion { struct po_array_tag; struct po_array_iterator_tag; struct random_access_traversal_tag; struct fusion_sequence_tag; namespace traits { #ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS template struct tag_of { typedef po_array_tag type; }; template struct tag_of { typedef po_array_tag type; }; #else template struct tag_of { typedef po_array_tag type; }; template struct tag_of { typedef po_array_tag type; }; #endif } } namespace mpl { template struct sequence_tag; template struct sequence_tag { typedef fusion::po_array_tag type; }; template struct sequence_tag { typedef fusion::po_array_tag type; }; } } #endif KWStyle-master/Utilities/boost/fusion/adapted/array/value_at_impl.hpp000066400000000000000000000015311265471724600264050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_ARRAY_VALUE_AT_IMPL_HPP #define BOOST_FUSION_ADAPTED_ARRAY_VALUE_AT_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct value_at_impl; template <> struct value_at_impl { template struct apply : remove_extent {}; }; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/array/value_of_impl.hpp000066400000000000000000000015471265471724600264140ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_ARRAY_VALUE_OF_IMPL_HPP #define BOOST_FUSION_ADAPTED_ARRAY_VALUE_OF_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct value_of_impl; template <> struct value_of_impl { template struct apply : remove_extent {}; }; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_array.hpp000066400000000000000000000022721265471724600247750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_BOOST_ARRAY_27122005_1035) #define BOOST_FUSION_BOOST_ARRAY_27122005_1035 #include #include #include #include #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_array/000077500000000000000000000000001265471724600242615ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/boost_array/array_iterator.hpp000066400000000000000000000070451265471724600300270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_ARRAY_ITERATOR_26122005_2250) #define BOOST_FUSION_ARRAY_ITERATOR_26122005_2250 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct random_access_traversal_tag; template struct array_iterator : iterator_facade, random_access_traversal_tag> { BOOST_MPL_ASSERT_RELATION(Pos, >=, 0); BOOST_MPL_ASSERT_RELATION(Pos, <=, static_cast(Array::static_size)); typedef mpl::int_ index; typedef Array array_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED array_iterator(Array& a) : array(a) {} Array& array; template struct value_of { typedef typename Iterator::array_type array_type; typedef typename array_type::value_type type; }; template struct deref { typedef typename Iterator::array_type array_type; typedef typename mpl::if_< is_const , typename array_type::const_reference , typename array_type::reference >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const & it) { return it.array[Iterator::index::value]; } }; template struct advance { typedef typename Iterator::index index; typedef typename Iterator::array_type array_type; typedef array_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.array); } }; template struct next : advance > {}; template struct prior : advance > {}; template struct distance : mpl::minus { typedef typename mpl::minus< typename I2::index, typename I1::index >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(I1 const&, I2 const&) { return type(); } }; private: array_iterator& operator=(array_iterator const&); }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::array_iterator > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_array/detail/000077500000000000000000000000001265471724600255235ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/boost_array/detail/at_impl.hpp000066400000000000000000000025261265471724600276660ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_AT_IMPL_27122005_1241) #define BOOST_FUSION_AT_IMPL_27122005_1241 #include #include #include namespace boost { namespace fusion { struct boost_array_tag; namespace extension { template struct at_impl; template<> struct at_impl { template struct apply { typedef typename mpl::if_< is_const, typename Sequence::const_reference, typename Sequence::reference>::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return seq[N::value]; } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_array/detail/begin_impl.hpp000066400000000000000000000022671265471724600303500ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_BEGIN_IMPL_27122005_1117) #define BOOST_FUSION_BEGIN_IMPL_27122005_1117 #include #include namespace boost { namespace fusion { struct boost_array_tag; namespace extension { template struct begin_impl; template <> struct begin_impl { template struct apply { typedef array_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& v) { return type(v); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp000066400000000000000000000020331265471724600315540ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_CATEGORY_OF_IMPL_27122005_1044) #define BOOST_FUSION_CATEGORY_OF_IMPL_27122005_1044 #include #include namespace boost { namespace fusion { struct boost_array_tag; struct random_access_traversal_tag; namespace extension { template struct category_of_impl; template<> struct category_of_impl { template struct apply { typedef random_access_traversal_tag type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_array/detail/end_impl.hpp000066400000000000000000000023061265471724600300240ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_END_IMPL_27122005_1120) #define BOOST_FUSION_END_IMPL_27122005_1120 #include #include namespace boost { namespace fusion { struct boost_array_tag; namespace extension { template struct end_impl; template <> struct end_impl { template struct apply { typedef array_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& v) { return type(v); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp000066400000000000000000000016501265471724600315620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_IS_SEQUENCE_IMPL_27122005_1648) #define BOOST_FUSION_IS_SEQUENCE_IMPL_27122005_1648 #include #include namespace boost { namespace fusion { struct boost_array_tag; namespace extension { template struct is_sequence_impl; template<> struct is_sequence_impl { template struct apply : mpl::true_ {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp000066400000000000000000000016361265471724600307300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_IS_VIEW_IMPL_27042006_2221) #define BOOST_FUSION_IS_VIEW_IMPL_27042006_2221 #include #include namespace boost { namespace fusion { struct boost_array_tag; namespace extension { template struct is_view_impl; template<> struct is_view_impl { template struct apply : mpl::false_ {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_array/detail/size_impl.hpp000066400000000000000000000015261265471724600302330ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_SIZE_IMPL_27122005_1251) #define BOOST_FUSION_SIZE_IMPL_27122005_1251 namespace boost { namespace fusion { struct boost_array_tag; namespace extension { template struct size_impl; template<> struct size_impl { template struct apply : mpl::int_ {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp000066400000000000000000000016531265471724600310620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_VALUE_AT_IMPL_27122005_1256) #define BOOST_FUSION_VALUE_AT_IMPL_27122005_1256 namespace boost { namespace fusion { struct boost_array_tag; namespace extension { template struct value_at_impl; template <> struct value_at_impl { template struct apply { typedef typename Sequence::value_type type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_array/tag_of.hpp000066400000000000000000000027121265471724600262330ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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(FUSION_SEQUENCE_TAG_OF_27122005_1030) #define FUSION_SEQUENCE_TAG_OF_27122005_1030 #include #include #include namespace boost { template class array; } namespace boost { namespace fusion { struct boost_array_tag; struct fusion_sequence_tag; namespace traits { template #if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) struct tag_of, void > #else struct tag_of > #endif { typedef boost_array_tag type; }; } }} namespace boost { namespace mpl { template struct sequence_tag; template struct sequence_tag > { typedef fusion::fusion_sequence_tag type; }; template struct sequence_tag const> { typedef fusion::fusion_sequence_tag type; }; }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple.hpp000066400000000000000000000023211265471724600250030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_BOOST_TUPLE_09272006_0732) #define BOOST_FUSION_BOOST_TUPLE_09272006_0732 #include #include #include #include #include #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple/000077500000000000000000000000001265471724600242745ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp000066400000000000000000000144321265471724600312610ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_BOOST_TUPLE_ITERATOR_09262006_1851) #define FUSION_BOOST_TUPLE_ITERATOR_09262006_1851 #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct forward_traversal_tag; namespace detail { template struct boost_tuple_is_empty : mpl::false_ {}; template <> struct boost_tuple_is_empty : mpl::true_ {}; template <> struct boost_tuple_is_empty : mpl::true_ {}; template <> struct boost_tuple_is_empty > : mpl::true_ {}; template <> struct boost_tuple_is_empty const> : mpl::true_ {}; } template struct boost_tuple_iterator_identity; template struct boost_tuple_iterator : iterator_facade, forward_traversal_tag> { typedef Cons cons_type; typedef boost_tuple_iterator_identity< typename add_const::type> identity; BOOST_FUSION_GPU_ENABLED explicit boost_tuple_iterator(Cons& in_cons) : cons(in_cons) {} Cons& cons; template struct value_of : mpl::identity {}; template struct deref { typedef typename value_of::type element; typedef typename mpl::if_< is_const , typename tuples::access_traits::const_type , typename tuples::access_traits::non_const_type >::type type; BOOST_FUSION_GPU_ENABLED static type call(Iterator const& iter) { return iter.cons.get_head(); } }; template struct next { typedef typename Iterator::cons_type cons_type; typedef typename cons_type::tail_type tail_type; typedef boost_tuple_iterator< typename mpl::eval_if< is_const , add_const , mpl::identity >::type> type; BOOST_FUSION_GPU_ENABLED static type call(Iterator const& iter) { return type(iter.cons.get_tail()); } }; template struct distance; // detail template struct lazy_next_distance { typedef typename mpl::plus< mpl::int_<1>, typename distance< typename next::type, I2 >::type >::type type; }; template struct distance { typedef typename mpl::eval_if< boost::is_same, mpl::int_<0>, lazy_next_distance >::type type; BOOST_FUSION_GPU_ENABLED static type call(I1 const&, I2 const&) { return type(); } }; template struct equal_to : is_same {}; private: // silence MSVC warning C4512: assignment operator could not be generated boost_tuple_iterator& operator= (boost_tuple_iterator const&); }; template struct boost_tuple_null_iterator : iterator_facade, forward_traversal_tag> { typedef Null cons_type; typedef boost_tuple_iterator_identity< typename add_const::type> identity; template struct equal_to : mpl::or_< is_same , mpl::and_< detail::boost_tuple_is_empty , detail::boost_tuple_is_empty > > {}; }; template <> struct boost_tuple_iterator : boost_tuple_null_iterator { template BOOST_FUSION_GPU_ENABLED explicit boost_tuple_iterator(Cons const&) {} }; template <> struct boost_tuple_iterator : boost_tuple_null_iterator { template BOOST_FUSION_GPU_ENABLED explicit boost_tuple_iterator(Cons const&) {} }; template <> struct boost_tuple_iterator > : boost_tuple_null_iterator > { template BOOST_FUSION_GPU_ENABLED explicit boost_tuple_iterator(Cons const&) {} }; template <> struct boost_tuple_iterator const> : boost_tuple_null_iterator const> { template BOOST_FUSION_GPU_ENABLED explicit boost_tuple_iterator(Cons const&) {} }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::boost_tuple_iterator > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple/detail/000077500000000000000000000000001265471724600255365ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple/detail/at_impl.hpp000066400000000000000000000030251265471724600276740ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_AT_IMPL_09262006_1920) #define BOOST_FUSION_AT_IMPL_09262006_1920 #include #include #include namespace boost { namespace fusion { struct boost_tuple_tag; namespace extension { template struct at_impl; template <> struct at_impl { template struct apply { typedef typename tuples::element::type element; typedef typename mpl::if_< is_const , typename tuples::access_traits::const_type , typename tuples::access_traits::non_const_type >::type type; BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return tuples::get(seq); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp000066400000000000000000000022151265471724600303540ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_BEGIN_IMPL_09272006_0719) #define BOOST_FUSION_BEGIN_IMPL_09272006_0719 #include #include namespace boost { namespace fusion { struct boost_tuple_tag; namespace extension { template struct begin_impl; template <> struct begin_impl { template struct apply { typedef boost_tuple_iterator type; BOOST_FUSION_GPU_ENABLED static type call(Sequence& v) { return type(v); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp000066400000000000000000000034441265471724600303750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2012-2014 Kohei Takahashi Distributed under the 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_FUSION_BUILD_CONS_10172012_0130) #define BOOST_FUSION_BUILD_CONS_10172012_0130 #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template < typename First , typename Last , bool is_empty = result_of::equal_to::value> struct build_tuple_cons; template struct build_tuple_cons { typedef boost::tuples::null_type type; BOOST_FUSION_GPU_ENABLED static type call(First const&, Last const&) { return type(); } }; template struct build_tuple_cons { typedef build_tuple_cons::type, Last> next_build_tuple_cons; typedef boost::tuples::cons< typename result_of::value_of::type , typename next_build_tuple_cons::type> type; BOOST_FUSION_GPU_ENABLED static type call(First const& f, Last const& l) { typename result_of::value_of::type v = *f; return type(v, next_build_tuple_cons::call(fusion::next(f), l)); } }; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp000066400000000000000000000016201265471724600315700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_CATEGORY_OF_IMPL_09272006_0726) #define BOOST_FUSION_CATEGORY_OF_IMPL_09272006_0726 namespace boost { namespace fusion { struct boost_tuple_tag; struct forward_traversal_tag; namespace extension { template struct category_of_impl; template<> struct category_of_impl { template struct apply { typedef forward_traversal_tag type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp000066400000000000000000000030551265471724600307530ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2012-2014 Kohei Takahashi Distributed under the 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_FUSION_CONVERT_IMPL_10172012_0120) #define BOOST_FUSION_CONVERT_IMPL_10172012_0120 #include #include #include #include namespace boost { namespace fusion { struct boost_tuple_tag; namespace extension { template struct convert_impl; template <> struct convert_impl { template struct apply { typedef typename detail::build_tuple_cons< typename result_of::begin::type , typename result_of::end::type > build_tuple_cons; typedef typename build_tuple_cons::type type; BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return build_tuple_cons::call(fusion::begin(seq), fusion::end(seq)); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp000066400000000000000000000030371265471724600300410ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_END_IMPL_09272006_0721) #define BOOST_FUSION_END_IMPL_09272006_0721 #include #include #include #include namespace boost { namespace tuples { struct null_type; }} namespace boost { namespace fusion { struct boost_tuple_tag; namespace extension { template struct end_impl; template <> struct end_impl { template struct apply { typedef boost_tuple_iterator< typename mpl::if_< is_const , tuples::null_type const , tuples::null_type >::type > type; BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return type(seq); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp000066400000000000000000000016001265471724600315700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_IS_SEQUENCE_IMPL_09272006_0726) #define BOOST_FUSION_IS_SEQUENCE_IMPL_09272006_0726 #include #include namespace boost { namespace fusion { struct boost_tuple_tag; namespace extension { template struct is_sequence_impl; template<> struct is_sequence_impl { template struct apply : mpl::true_ {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp000066400000000000000000000015521265471724600307400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_IS_VIEW_IMPL_09272006_0725) #define BOOST_FUSION_IS_VIEW_IMPL_09272006_0725 #include #include namespace boost { namespace fusion { struct boost_tuple_tag; namespace extension { template struct is_view_impl; template<> struct is_view_impl { template struct apply : mpl::false_ {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple/detail/size_impl.hpp000066400000000000000000000016441265471724600302470ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_SIZE_IMPL_09272006_0724) #define BOOST_FUSION_SIZE_IMPL_09272006_0724 #include #include #include namespace boost { namespace fusion { struct boost_tuple_tag; namespace extension { template struct size_impl; template <> struct size_impl { template struct apply : mpl::int_::value> {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp000066400000000000000000000016331265471724600310730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_VALUE_AT_IMPL_09262006_1926) #define BOOST_FUSION_VALUE_AT_IMPL_09262006_1926 #include #include namespace boost { namespace fusion { struct boost_tuple_tag; namespace extension { template struct value_at_impl; template <> struct value_at_impl { template struct apply : tuples::element {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple/mpl/000077500000000000000000000000001265471724600250645ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple/mpl/clear.hpp000066400000000000000000000013331265471724600266630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2012 Kohei Takahashi Distributed under the 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_FUSION_CLEAR_10172012_0100) #define BOOST_FUSION_CLEAR_10172012_0100 #include #include namespace boost { namespace fusion { namespace detail { template struct clear; template <> struct clear : mpl::identity > {}; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/boost_tuple/tag_of.hpp000066400000000000000000000060001265471724600262400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_TAG_OF_09262006_1900) #define BOOST_FUSION_TAG_OF_09262006_1900 #include #include namespace boost { namespace tuples { struct null_type; template < class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9 > class tuple; template struct cons; }} namespace boost { namespace fusion { struct boost_tuple_tag; struct fusion_sequence_tag; namespace traits { template < class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9 > #if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) struct tag_of, void > #else struct tag_of > #endif { typedef boost_tuple_tag type; }; template #if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) struct tag_of, void > #else struct tag_of > #endif { typedef boost_tuple_tag type; }; template <> struct tag_of { typedef boost_tuple_tag type; }; } }} namespace boost { namespace mpl { template struct sequence_tag; template < class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9 > struct sequence_tag > { typedef fusion::fusion_sequence_tag type; }; template < class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9 > struct sequence_tag< tuples::tuple const > { typedef fusion::fusion_sequence_tag type; }; template struct sequence_tag > { typedef fusion::fusion_sequence_tag type; }; template struct sequence_tag const> { typedef fusion::fusion_sequence_tag type; }; template <> struct sequence_tag { typedef fusion::fusion_sequence_tag type; }; template <> struct sequence_tag { typedef fusion::fusion_sequence_tag type; }; }} #endif KWStyle-master/Utilities/boost/fusion/adapted/mpl.hpp000066400000000000000000000021511265471724600232350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_MPL_31122005_1152) #define BOOST_FUSION_MPL_31122005_1152 #include #include #include #include #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/adapted/mpl/000077500000000000000000000000001265471724600225255ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/mpl/detail/000077500000000000000000000000001265471724600237675ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/mpl/detail/at_impl.hpp000066400000000000000000000022541265471724600261300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_AT_IMPL_31122005_1642) #define BOOST_FUSION_AT_IMPL_31122005_1642 #include #include namespace boost { namespace fusion { struct mpl_sequence_tag; namespace extension { template struct at_impl; template <> struct at_impl { template struct apply { typedef typename mpl::at::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence) { return type(); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/mpl/detail/begin_impl.hpp000066400000000000000000000026241265471724600266110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_BEGIN_IMPL_31122005_1209) #define BOOST_FUSION_BEGIN_IMPL_31122005_1209 #include #include #include #include namespace boost { namespace fusion { struct mpl_sequence_tag; namespace extension { template struct begin_impl; template <> struct begin_impl { template struct apply { typedef typename mpl::begin< typename remove_const::type >::type iterator; typedef mpl_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence) { return type(); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/mpl/detail/category_of_impl.hpp000066400000000000000000000031501265471724600300210ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_CATEGORY_OF_IMPL_20060217_2141) #define BOOST_FUSION_CATEGORY_OF_IMPL_20060217_2141 #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct mpl_sequence_category_of { // assumes T is an mpl sequence // there should be no way this will ever be // called where T is an mpl iterator BOOST_STATIC_ASSERT(mpl::is_sequence::value); typedef typename mpl_iterator_category< typename mpl::begin::type::category >::type type; }; } struct mpl_sequence_tag; namespace extension { template struct category_of_impl; template<> struct category_of_impl { template struct apply : detail::mpl_sequence_category_of {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/mpl/detail/empty_impl.hpp000066400000000000000000000016431265471724600266630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_EMPTY_IMPL_31122005_1554) #define BOOST_FUSION_EMPTY_IMPL_31122005_1554 #include #include namespace boost { namespace fusion { struct mpl_sequence_tag; namespace extension { template struct empty_impl; template <> struct empty_impl { template struct apply : mpl::empty {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/mpl/detail/end_impl.hpp000066400000000000000000000025771265471724600263020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_END_IMPL_31122005_1237) #define BOOST_FUSION_END_IMPL_31122005_1237 #include #include #include #include namespace boost { namespace fusion { struct mpl_sequence_tag; namespace extension { template struct end_impl; template <> struct end_impl { template struct apply { typedef typename mpl::end< typename remove_const::type >::type iterator; typedef mpl_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence) { return type(); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/mpl/detail/has_key_impl.hpp000066400000000000000000000016771265471724600271570ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_HAS_KEY_IMPL_31122005_1647) #define BOOST_FUSION_HAS_KEY_IMPL_31122005_1647 #include #include namespace boost { namespace fusion { struct mpl_sequence_tag; namespace extension { template struct has_key_impl; template <> struct has_key_impl { template struct apply : mpl::has_key {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp000066400000000000000000000016421265471724600300270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_IS_SEQUENCE_IMPL_31122005_1505) #define BOOST_FUSION_IS_SEQUENCE_IMPL_31122005_1505 #include #include namespace boost { namespace fusion { struct mpl_sequence_tag; namespace extension { template struct is_sequence_impl; template<> struct is_sequence_impl { template struct apply : mpl::true_ {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/mpl/detail/is_view_impl.hpp000066400000000000000000000016371265471724600271750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_IS_VIEW_IMPL_03202006_0048) #define BOOST_FUSION_IS_VIEW_IMPL_03202006_0048 #include #include namespace boost { namespace fusion { struct mpl_sequence_tag; namespace extension { template struct is_view_impl; template<> struct is_view_impl { template struct apply : mpl::true_ {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/mpl/detail/size_impl.hpp000066400000000000000000000016311265471724600264740ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_SIZE_IMPL_31122005_1508) #define BOOST_FUSION_SIZE_IMPL_31122005_1508 #include #include namespace boost { namespace fusion { struct mpl_sequence_tag; namespace extension { template struct size_impl; template <> struct size_impl { template struct apply : mpl::size {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/mpl/detail/value_at_impl.hpp000066400000000000000000000016651265471724600273310ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_VALUE_AT_IMPL_31122005_1621) #define BOOST_FUSION_VALUE_AT_IMPL_31122005_1621 #include #include namespace boost { namespace fusion { struct mpl_sequence_tag; namespace extension { template struct value_at_impl; template <> struct value_at_impl { template struct apply : mpl::at {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/mpl/mpl_iterator.hpp000066400000000000000000000067571265471724600257560ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_MPL_ITERATOR_05052005_0731) #define FUSION_MPL_ITERATOR_05052005_0731 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { template struct mpl_iterator : iterator_facade< mpl_iterator , typename detail::mpl_iterator_category::type > { typedef typename remove_const::type iterator_type; template struct value_of : mpl::deref {}; template struct deref { typedef typename mpl::deref< typename Iterator::iterator_type>::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator) { return type(); } }; template struct next { typedef mpl_iterator< typename mpl::next::type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator) { return type(); } }; template struct prior { typedef mpl_iterator< typename mpl::prior::type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator) { return type(); } }; template struct advance { typedef mpl_iterator< typename mpl::advance::type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& /*i*/) { return type(); } }; template struct distance : mpl::distance< typename I1::iterator_type , typename I2::iterator_type> { typedef typename mpl::distance< typename I1::iterator_type , typename I2::iterator_type >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(I1 const&, I2 const&) { return type(); } }; }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::mpl_iterator > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/adapted/std_pair.hpp000066400000000000000000000013561265471724600242600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STD_PAIR_HPP #define BOOST_FUSION_ADAPTED_STD_PAIR_HPP #include #include #include BOOST_FUSION_ADAPT_TPL_STRUCT( (T1)(T2),(std::pair)(T1)(T2),(T1, first)(T2, second)) #endif KWStyle-master/Utilities/boost/fusion/adapted/std_tuple.hpp000066400000000000000000000023731265471724600244560ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_BOOST_TUPLE_09242011_1744) #define BOOST_FUSION_BOOST_TUPLE_09242011_1744 #include #include #include #include #include #include #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/adapted/std_tuple/000077500000000000000000000000001265471724600237405ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/std_tuple/detail/000077500000000000000000000000001265471724600252025ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/std_tuple/detail/at_impl.hpp000066400000000000000000000032251265471724600273420ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_AT_IMPL_09242011_1744) #define BOOST_FUSION_AT_IMPL_09242011_1744 #include #include #include #include #include #include namespace boost { namespace fusion { struct std_tuple_tag; namespace extension { template struct at_impl; template <> struct at_impl { template struct apply { typedef typename remove_const::type seq_type; typedef typename std::tuple_element::type element; typedef typename mpl::if_< is_const , typename fusion::detail::cref_result::type , typename fusion::detail::ref_result::type >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return std::get(seq); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp000066400000000000000000000022171265471724600300220ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_BEGIN_IMPL_09242011_1744) #define BOOST_FUSION_BEGIN_IMPL_09242011_1744 #include #include namespace boost { namespace fusion { struct std_tuple_tag; namespace extension { template struct begin_impl; template <> struct begin_impl { template struct apply { typedef std_tuple_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& v) { return type(v); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/std_tuple/detail/build_std_tuple.hpp000066400000000000000000000063451265471724600311050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2014 Kohei Takahashi Distributed under the 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_FUSION_BUILD_STD_TUPLE_05292014_0100) #define BOOST_FUSION_BUILD_STD_TUPLE_05292014_0100 #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template ::value > struct build_std_tuple; template struct build_std_tuple { typedef std::tuple<> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const&, Last const&) { return type(); } }; template struct indexed_tuple { }; template > struct make_indexed_tuple; template struct make_indexed_tuple> { typedef typename boost::mpl::eval_if_c< (Head == 0), boost::mpl::identity>, make_indexed_tuple> >::type type; }; template struct push_front_std_tuple; template struct push_front_std_tuple> { typedef std::tuple type; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type indexed_call(T const& first, std::tuple const& rest, indexed_tuple) { return type(first, std::get(rest)...); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(T const& first, std::tuple const& rest) { typedef typename make_indexed_tuple::type gen; return indexed_call(first, rest, gen()); } }; template struct build_std_tuple { typedef build_std_tuple::type, Last> next_build_std_tuple; typedef push_front_std_tuple< typename result_of::value_of::type , typename next_build_std_tuple::type> push_front; typedef typename push_front::type type; BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& f, Last const& l) { typename result_of::value_of::type v = *f; return push_front::call( v, next_build_std_tuple::call(fusion::next(f), l)); } }; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/std_tuple/detail/category_of_impl.hpp000066400000000000000000000016251265471724600312410ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_CATEGORY_OF_IMPL_04202013_0940) #define BOOST_FUSION_CATEGORY_OF_IMPL_04202013_0940 namespace boost { namespace fusion { struct std_tuple_tag; struct random_access_traversal_tag; namespace extension { template struct category_of_impl; template<> struct category_of_impl { template struct apply { typedef random_access_traversal_tag type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/std_tuple/detail/convert_impl.hpp000066400000000000000000000027251265471724600304220ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2012-2014 Kohei Takahashi Distributed under the 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_FUSION_CONVERT_IMPL_10172012_0940) #define BOOST_FUSION_CONVERT_IMPL_10172012_0940 #include #include #include #include namespace boost { namespace fusion { struct std_tuple_tag; namespace extension { template struct convert_impl; template <> struct convert_impl { template struct apply { typedef detail::build_std_tuple< typename result_of::begin::type , typename result_of::end::type > gen; typedef typename gen::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return gen::call(begin(seq), end(seq)); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/std_tuple/detail/end_impl.hpp000066400000000000000000000025331265471724600275050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_END_IMPL_09242011_1744) #define BOOST_FUSION_END_IMPL_09242011_1744 #include #include #include #include namespace boost { namespace fusion { struct std_tuple_tag; namespace extension { template struct end_impl; template <> struct end_impl { template struct apply { typedef typename remove_const::type seq_type; static int const size = std::tuple_size::value; typedef std_tuple_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& v) { return type(v); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/std_tuple/detail/is_sequence_impl.hpp000066400000000000000000000015721265471724600312440ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_IS_SEQUENCE_IMPL_09242011_1744) #define BOOST_FUSION_IS_SEQUENCE_IMPL_09242011_1744 #include #include namespace boost { namespace fusion { struct std_tuple_tag; namespace extension { template struct is_sequence_impl; template<> struct is_sequence_impl { template struct apply : mpl::true_ {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/std_tuple/detail/is_view_impl.hpp000066400000000000000000000015441265471724600304050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_IS_VIEW_IMPL_09242011_1744) #define BOOST_FUSION_IS_VIEW_IMPL_09242011_1744 #include #include namespace boost { namespace fusion { struct std_tuple_tag; namespace extension { template struct is_view_impl; template<> struct is_view_impl { template struct apply : mpl::false_ {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/std_tuple/detail/size_impl.hpp000066400000000000000000000020341265471724600277050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_SIZE_IMPL_09242011_1744) #define BOOST_FUSION_SIZE_IMPL_09242011_1744 #include #include #include #include namespace boost { namespace fusion { struct std_tuple_tag; namespace extension { template struct size_impl; template <> struct size_impl { template struct apply : mpl::int_::type>::value > {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/std_tuple/detail/value_at_impl.hpp000066400000000000000000000016111265471724600305330ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_VALUE_AT_IMPL_09242011_1744) #define BOOST_FUSION_VALUE_AT_IMPL_09242011_1744 #include #include namespace boost { namespace fusion { struct std_tuple_tag; namespace extension { template struct value_at_impl; template <> struct value_at_impl { template struct apply : std::tuple_element {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/std_tuple/mpl/000077500000000000000000000000001265471724600245305ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/std_tuple/mpl/clear.hpp000066400000000000000000000013241265471724600263270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2012 Kohei Takahashi Distributed under the 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_FUSION_CLEAR_10172012_0940) #define BOOST_FUSION_CLEAR_10172012_0940 #include #include namespace boost { namespace fusion { namespace detail { template struct clear; template <> struct clear : mpl::identity > {}; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp000066400000000000000000000071251265471724600303720ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_STD_TUPLE_ITERATOR_09112011_1905) #define FUSION_STD_TUPLE_ITERATOR_09112011_1905 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct random_access_traversal_tag; template struct std_tuple_iterator_identity; template struct std_tuple_iterator : iterator_facade< std_tuple_iterator , random_access_traversal_tag> { typedef Tuple tuple_type; static int const index = Index; typedef std_tuple_iterator_identity< typename add_const::type, Index> identity; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit std_tuple_iterator(Tuple& tuple) : tuple(tuple) {} Tuple& tuple; template struct value_of : std::tuple_element::type> {}; template struct deref { typedef typename value_of::type element; typedef typename mpl::if_< is_const , typename fusion::detail::cref_result::type , typename fusion::detail::ref_result::type >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& iter) { return std::get(iter.tuple); } }; template struct advance { static int const index = Iterator::index; typedef typename Iterator::tuple_type tuple_type; typedef std_tuple_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.tuple); } }; template struct next : advance> {}; template struct prior : advance> {}; template struct equal_to : is_same {}; template struct distance { typedef mpl::int_ type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const&, Last const&) { return type(); } }; }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::std_tuple_iterator > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/adapted/std_tuple/tag_of.hpp000066400000000000000000000023261265471724600257130ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_TAG_OF_09112011_1842) #define BOOST_FUSION_TAG_OF_09112011_1842 #include #include #include namespace boost { namespace fusion { struct std_tuple_tag; struct fusion_sequence_tag; namespace traits { template struct tag_of> { typedef std_tuple_tag type; }; } }} namespace boost { namespace mpl { template struct sequence_tag; template struct sequence_tag> { typedef fusion::fusion_sequence_tag type; }; template struct sequence_tag const> { typedef fusion::fusion_sequence_tag type; }; }} #endif KWStyle-master/Utilities/boost/fusion/adapted/struct.hpp000066400000000000000000000017651265471724600240030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_HPP #define BOOST_FUSION_ADAPTED_STRUCT_HPP #include #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/000077500000000000000000000000001265471724600232615ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/struct/adapt_assoc_struct.hpp000066400000000000000000000142761265471724600276710ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Copyright (c) 2007 Dan Marsden Copyright (c) 2009-2011 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_HPP #define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_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 #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_C_BASE( \ TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW,I,PREFIX,ATTRIBUTE) \ \ BOOST_FUSION_ADAPT_STRUCT_C_BASE( \ TEMPLATE_PARAMS_SEQ, \ NAME_SEQ, \ IS_VIEW, \ I, \ PREFIX, \ BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE), \ BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ BOOST_PP_IF(BOOST_PP_LESS( \ BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE),3), 1, 0)) \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ > \ struct struct_assoc_key \ { \ typedef \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAPPEDATTR_GET_KEY(ATTRIBUTE) type; \ }; #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_C( \ TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW, I, ATTRIBUTE) \ \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_C_BASE( \ TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW,I,BOOST_PP_EMPTY,ATTRIBUTE) #define BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT( \ TEMPLATE_PARAMS_SEQ, NAME_SEQ, ATTRIBUTES) \ \ BOOST_FUSION_ADAPT_STRUCT_BASE( \ (1)TEMPLATE_PARAMS_SEQ, \ (1)NAME_SEQ, \ assoc_struct_tag, \ 0, \ BOOST_PP_CAT( \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_C) #define BOOST_FUSION_ADAPT_ASSOC_STRUCT(NAME, ATTRIBUTES) \ BOOST_FUSION_ADAPT_STRUCT_BASE( \ (0), \ (0)(NAME), \ assoc_struct_tag, \ 0, \ BOOST_PP_CAT( \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_C) #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_AS_VIEW(NAME, ATTRIBUTES) \ BOOST_FUSION_ADAPT_STRUCT_BASE( \ (0), \ (0)(NAME), \ assoc_struct_tag, \ 1, \ BOOST_PP_CAT( \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_C) #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp000066400000000000000000000041501265471724600310230ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010-2011 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_NAMED_HPP #define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_NAMED_HPP #include #include #include #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_0(X, Y, Z) \ (X, obj.Y, Z) BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_1 #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_1(X, Y, Z) \ (X, obj.Y, Z) BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_0 #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_0_END #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_1_END #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS( \ WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ \ BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_AS_VIEW( \ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \ BOOST_PP_CAT( \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_FILLER_0 ATTRIBUTES, \ _END)) #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS( \ WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES) #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/adapt_struct.hpp000066400000000000000000000161221265471724600264710ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Copyright (c) 2009-2011 Christopher Schmidt Copyright (c) 2013-2014 Damien Buhl Distributed under the 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_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_HPP #define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_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 #define BOOST_FUSION_ADAPT_STRUCT_C( \ TEMPLATE_PARAMS_SEQ, NAME_SEQ, IS_VIEW, I, ATTRIBUTE) \ BOOST_FUSION_ADAPT_STRUCT_C_BASE( \ TEMPLATE_PARAMS_SEQ, \ NAME_SEQ, \ IS_VIEW, \ I, \ BOOST_PP_IF(IS_VIEW, BOOST_FUSION_PROXY_PREFIX, BOOST_PP_EMPTY), \ BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE), \ BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ BOOST_PP_IF( \ BOOST_PP_LESS( \ BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), 2) \ , 1, 0)) #if BOOST_PP_VARIADICS # define BOOST_FUSION_ADAPT_TPL_STRUCT(TEMPLATE_PARAMS_SEQ,NAME_SEQ, ...) \ BOOST_FUSION_ADAPT_STRUCT_BASE( \ (1)TEMPLATE_PARAMS_SEQ, \ (1)NAME_SEQ, \ struct_tag, \ 0, \ BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER(__VA_ARGS__), \ BOOST_FUSION_ADAPT_STRUCT_C) # define BOOST_FUSION_ADAPT_STRUCT(NAME, ...) \ BOOST_FUSION_ADAPT_STRUCT_BASE( \ (0), \ (0)(NAME), \ struct_tag, \ 0, \ BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER(__VA_ARGS__), \ BOOST_FUSION_ADAPT_STRUCT_C) # define BOOST_FUSION_ADAPT_STRUCT_AS_VIEW(NAME, ...) \ BOOST_FUSION_ADAPT_STRUCT_BASE( \ (0), \ (0)(NAME), \ struct_tag, \ 1, \ BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER(__VA_ARGS__), \ BOOST_FUSION_ADAPT_STRUCT_C) #else // BOOST_PP_VARIADICS # define BOOST_FUSION_ADAPT_TPL_STRUCT( \ TEMPLATE_PARAMS_SEQ,NAME_SEQ, ATTRIBUTES) \ BOOST_FUSION_ADAPT_STRUCT_BASE( \ (1)TEMPLATE_PARAMS_SEQ, \ (1)NAME_SEQ, \ struct_tag, \ 0, \ BOOST_PP_CAT( \ BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ BOOST_FUSION_ADAPT_STRUCT_C) # define BOOST_FUSION_ADAPT_STRUCT(NAME, ATTRIBUTES) \ BOOST_FUSION_ADAPT_STRUCT_BASE( \ (0), \ (0)(NAME), \ struct_tag, \ 0, \ BOOST_PP_CAT( \ BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES, \ _END), \ BOOST_FUSION_ADAPT_STRUCT_C) # define BOOST_FUSION_ADAPT_STRUCT_AS_VIEW(NAME, ATTRIBUTES) \ BOOST_FUSION_ADAPT_STRUCT_BASE( \ (0), \ (0)(NAME), \ struct_tag, \ 1, \ BOOST_PP_CAT( \ BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES, \ _END), \ BOOST_FUSION_ADAPT_STRUCT_C) #endif // BOOST_PP_VARIADICS #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/adapt_struct_named.hpp000066400000000000000000000054241265471724600276400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Copyright (c) 2009-2010 Hartmut Kaiser Copyright (c) 2010-2011 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_NAMED_HPP #define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_NAMED_HPP #include #include #include #include #ifdef BOOST_PP_VARIADICS # define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ...) \ \ BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ \ BOOST_FUSION_ADAPT_STRUCT_AS_VIEW( \ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION( \ (0)NAMESPACE_SEQ)NAME, \ __VA_ARGS__) # define BOOST_FUSION_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ...) \ BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,__VA_ARGS__) #else // BOOST_PP_VARIADICS # define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ \ BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ \ BOOST_FUSION_ADAPT_STRUCT_AS_VIEW( \ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION( \ (0)NAMESPACE_SEQ)NAME, \ ATTRIBUTES) # define BOOST_FUSION_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES) #endif #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/define_assoc_struct.hpp000066400000000000000000000061111265471724600300170ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010-2011 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_DEFINE_ASSOC_STRUCT_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DEFINE_ASSOC_STRUCT_HPP #include #include #include #define BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0(X, Y, Z) \ ((X, Y, Z)) BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_1 #define BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_1(X, Y, Z) \ ((X, Y, Z)) BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0 #define BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0_END #define BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_1_END #define BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT( \ TEMPLATE_PARAMS_SEQ, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ \ BOOST_FUSION_DEFINE_TPL_STRUCT_IMPL( \ TEMPLATE_PARAMS_SEQ, \ (0)NAMESPACE_SEQ, \ NAME, \ BOOST_PP_CAT( \ BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ 3) \ \ BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT( \ TEMPLATE_PARAMS_SEQ, \ (BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ) NAME)\ TEMPLATE_PARAMS_SEQ, \ ATTRIBUTES) #define BOOST_FUSION_DEFINE_ASSOC_STRUCT(NAMESPACE_SEQ, NAME, ATTRIBUTES) \ BOOST_FUSION_DEFINE_STRUCT_IMPL( \ (0)NAMESPACE_SEQ, \ NAME, \ BOOST_PP_CAT( \ BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ 3) \ \ BOOST_FUSION_ADAPT_ASSOC_STRUCT( \ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ) NAME, \ ATTRIBUTES) #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/define_struct.hpp000066400000000000000000000050161265471724600266320ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010-2011 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_HPP #include #include #include #define BOOST_FUSION_DEFINE_TPL_STRUCT( \ TEMPLATE_PARAMS_SEQ, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ \ BOOST_FUSION_DEFINE_TPL_STRUCT_IMPL( \ TEMPLATE_PARAMS_SEQ, \ (0)NAMESPACE_SEQ, \ NAME, \ BOOST_PP_CAT(BOOST_FUSION_DEFINE_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ 2) \ \ BOOST_FUSION_ADAPT_TPL_STRUCT( \ TEMPLATE_PARAMS_SEQ, \ (BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ) NAME)\ TEMPLATE_PARAMS_SEQ, \ ATTRIBUTES) #define BOOST_FUSION_DEFINE_STRUCT(NAMESPACE_SEQ, NAME, ATTRIBUTES) \ BOOST_FUSION_DEFINE_STRUCT_IMPL( \ (0)NAMESPACE_SEQ, \ NAME, \ BOOST_PP_CAT(BOOST_FUSION_DEFINE_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ 2) \ \ BOOST_FUSION_ADAPT_STRUCT( \ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ) NAME, \ ATTRIBUTES) #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/define_struct_inline.hpp000066400000000000000000000024651265471724600301750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2012 Nathan Ridge Distributed under the 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_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_INLINE_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_INLINE_HPP #include #include #include #define BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE( \ TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES) \ \ BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE_IMPL( \ TEMPLATE_PARAMS_SEQ, \ NAME, \ ATTRIBUTES) #define BOOST_FUSION_DEFINE_STRUCT_INLINE(NAME, ATTRIBUTES) \ BOOST_FUSION_DEFINE_STRUCT_INLINE_IMPL(NAME, ATTRIBUTES) \ #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/000077500000000000000000000000001265471724600245235ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/adapt_auto.hpp000066400000000000000000000010751265471724600273600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2013-2014 Damien Buhl Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_AUTO_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_AUTO_HPP #include #define BOOST_FUSION_ADAPT_AUTO BOOST_PP_EMPTY() #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/adapt_base.hpp000066400000000000000000000511451265471724600273250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2009 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2009-2011 Christopher Schmidt Copyright (c) 2013-2014 Damien Buhl Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME_TEMPLATE_PARAMS(SEQ) \ BOOST_PP_SEQ_HEAD(SEQ) \ BOOST_PP_EMPTY() #define BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(SEQ) \ BOOST_PP_IF( \ BOOST_PP_SEQ_HEAD(SEQ), \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME_TEMPLATE_PARAMS, \ BOOST_PP_SEQ_HEAD)(BOOST_PP_SEQ_TAIL(SEQ)) #define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL_C(R, _, ELEM) \ (typename ELEM) #define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL(SEQ) \ BOOST_PP_SEQ_ENUM( \ BOOST_PP_SEQ_FOR_EACH( \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL_C, \ _, \ BOOST_PP_SEQ_TAIL(SEQ))) #define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(SEQ) \ BOOST_PP_IF( \ BOOST_PP_SEQ_HEAD(SEQ), \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL, \ BOOST_PP_TUPLE_EAT(1))(SEQ) #ifdef BOOST_MSVC # define BOOST_FUSION_ATTRIBUTE_TYPEOF( \ NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ \ BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ TEMPLATE_PARAMS_SEQ) \ \ struct deduced_attr_type { \ static const BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj; \ typedef \ BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), typename, ) \ BOOST_TYPEOF( PREFIX() obj.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, \ 0, ATTRIBUTE)) \ type; \ }; \ \ typedef \ BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), typename, ) \ deduced_attr_type::type attribute_type; #else # define BOOST_FUSION_ATTRIBUTE_TYPEOF( \ NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ \ struct deduced_attr_type { \ static const BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj; \ typedef BOOST_TYPEOF( \ PREFIX() obj.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE)) \ type; \ }; \ \ typedef \ BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), typename, ) \ deduced_attr_type::type attribute_type; #endif #define BOOST_FUSION_ATTRIBUTE_GIVENTYPE( \ NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ typedef \ BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE) attribute_type; #ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS # define BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \ MODIFIER, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ > \ struct tag_of< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) MODIFIER \ , void \ > \ { \ typedef TAG type; \ }; #else # define BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \ MODIFIER, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ > \ struct tag_of \ { \ typedef TAG type; \ }; #endif #define BOOST_FUSION_ADAPT_STRUCT_BASE_UNPACK_AND_CALL(R,DATA,I,ATTRIBUTE) \ BOOST_PP_TUPLE_ELEM(4,0,DATA)( \ BOOST_PP_TUPLE_ELEM(4,1,DATA), \ BOOST_PP_TUPLE_ELEM(4,2,DATA), \ BOOST_PP_TUPLE_ELEM(4,3,DATA), \ I, \ ATTRIBUTE) #ifdef BOOST_MSVC # define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAM(R,_,ELEM) \ typedef ELEM ELEM; # define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS_IMPL(SEQ) \ BOOST_PP_SEQ_FOR_EACH( \ BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAM, \ _, \ BOOST_PP_SEQ_TAIL(SEQ)) # define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS(SEQ) \ BOOST_PP_IF( \ BOOST_PP_SEQ_HEAD(SEQ), \ BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS_IMPL, \ BOOST_PP_TUPLE_EAT(1))(SEQ) #else # define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS(SEQ) #endif #define BOOST_FUSION_ADAPT_STRUCT_C_BASE( \ TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW, \ I,PREFIX,ATTRIBUTE,ATTRIBUTE_TUPEL_SIZE, \ DEDUCE_TYPE) \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ > \ struct access::struct_member< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ , I \ > \ { \ BOOST_PP_IF(DEDUCE_TYPE, \ BOOST_FUSION_ATTRIBUTE_TYPEOF, BOOST_FUSION_ATTRIBUTE_GIVENTYPE)( \ NAME_SEQ, \ ATTRIBUTE, \ ATTRIBUTE_TUPEL_SIZE, \ PREFIX, \ TEMPLATE_PARAMS_SEQ) \ \ BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ TEMPLATE_PARAMS_SEQ) \ \ typedef attribute_type type; \ \ template \ struct apply \ { \ typedef typename \ add_reference< \ typename mpl::eval_if< \ is_const \ , add_const \ , mpl::identity \ >::type \ >::type \ type; \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type \ call(Seq& seq) \ { \ return seq.PREFIX() \ BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, \ BOOST_PP_IF(DEDUCE_TYPE, 0, 1), ATTRIBUTE); \ } \ }; \ }; \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ > \ struct struct_member_name< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ , I \ > \ { \ typedef char const* type; \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type \ call() \ { \ return BOOST_PP_STRINGIZE( \ BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, \ BOOST_PP_IF(DEDUCE_TYPE, 0, 1), \ ATTRIBUTE)); \ } \ }; #define BOOST_FUSION_ADAPT_STRUCT_BASE( \ TEMPLATE_PARAMS_SEQ, \ NAME_SEQ, \ TAG, \ IS_VIEW, \ ATTRIBUTES_SEQ, \ ATTRIBUTES_CALLBACK) \ \ namespace boost \ { \ namespace fusion \ { \ namespace traits \ { \ BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \ BOOST_PP_EMPTY(), TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \ BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \ const, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \ } \ \ namespace extension \ { \ BOOST_PP_IF( \ BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ BOOST_PP_SEQ_FOR_EACH_I_R, \ BOOST_PP_TUPLE_EAT(4))( \ 1, \ BOOST_FUSION_ADAPT_STRUCT_BASE_UNPACK_AND_CALL, \ (ATTRIBUTES_CALLBACK,TEMPLATE_PARAMS_SEQ,NAME_SEQ, IS_VIEW),\ BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ)) \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \ TEMPLATE_PARAMS_SEQ) \ > \ struct struct_size \ : mpl::int_ \ {}; \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \ TEMPLATE_PARAMS_SEQ) \ > \ struct struct_is_view< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ > \ : mpl::BOOST_PP_IF(IS_VIEW,true_,false_) \ {}; \ } \ } \ \ namespace mpl \ { \ template \ struct sequence_tag; \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \ TEMPLATE_PARAMS_SEQ) \ > \ struct sequence_tag \ { \ typedef fusion::fusion_sequence_tag type; \ }; \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \ TEMPLATE_PARAMS_SEQ) \ > \ struct sequence_tag< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const \ > \ { \ typedef fusion::fusion_sequence_tag type; \ }; \ } \ } #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/adapt_base_assoc_attr_filler.hpp000066400000000000000000000053041265471724600331000ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2013-2014 Damien Buhl Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_ASSOC_ATTR_FILLER_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_ASSOC_ATTR_FILLER_HPP #include #include #include #include #include #include #include #if BOOST_PP_VARIADICS #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(...) \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(__VA_ARGS__) \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1 #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1(...) \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(__VA_ARGS__) \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(...) \ ((BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), (__VA_ARGS__))) #else // BOOST_PP_VARIADICS #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(X, Y, Z) \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(X, Y, Z) \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1 #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1(X, Y, Z) \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(X, Y, Z) \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(X, Y, Z) \ BOOST_PP_IF(BOOST_PP_IS_EMPTY(X), \ ((2, (Y,Z))), \ ((3, (X,Y,Z))) \ ) #endif // BOOST_PP_VARIADICS #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0_END #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1_END #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAPPEDATTR_GET_KEY(ATTRIBUTE) \ BOOST_PP_TUPLE_ELEM( \ BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ BOOST_PP_SUB(BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), 1), \ BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE)) #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp000066400000000000000000000054501265471724600317120ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2013-2014 Damien Buhl Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_ATTR_FILLER_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_ATTR_FILLER_HPP #include #include #include #include #include #include #include #include #include #define BOOST_FUSION_ADAPT_STRUCT_FILLER_0(X, Y) \ BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(X,Y) \ BOOST_FUSION_ADAPT_STRUCT_FILLER_1 #define BOOST_FUSION_ADAPT_STRUCT_FILLER_1(X, Y) \ BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(X,Y) \ BOOST_FUSION_ADAPT_STRUCT_FILLER_0 #define BOOST_FUSION_ADAPT_STRUCT_FILLER_0_END #define BOOST_FUSION_ADAPT_STRUCT_FILLER_1_END #define BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(X, Y) \ BOOST_PP_IF(BOOST_PP_IS_EMPTY(X), \ ((1, (Y))), \ ((2, (X,Y))) \ ) #define BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE) \ BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) #define BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE) \ BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE) #if BOOST_PP_VARIADICS # define BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER_OP(r, unused, elem) \ BOOST_PP_IF(BOOST_FUSION_PP_IS_SEQ(elem), \ BOOST_PP_CAT( BOOST_FUSION_ADAPT_STRUCT_FILLER_0 elem ,_END), \ BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(BOOST_FUSION_ADAPT_AUTO, \ elem)) # define BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER(...) \ BOOST_PP_SEQ_PUSH_FRONT( \ BOOST_PP_SEQ_FOR_EACH( \ BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER_OP, \ unused, BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__)), \ (0,0)) #endif // BOOST_PP_VARIADICS #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp000066400000000000000000000011441265471724600276770ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2013-2014 Damien Buhl Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_IS_TPL_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_IS_TPL_HPP #define BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ) \ BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ) #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/at_impl.hpp000066400000000000000000000021371265471724600266640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_AT_IMPL_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_AT_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct at_impl; template <> struct at_impl { template struct apply : access::struct_member< typename remove_const::type , N::value >::template apply {}; }; template <> struct at_impl : at_impl {}; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/begin_impl.hpp000066400000000000000000000034551265471724600273500ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_BEGIN_IMPL_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_BEGIN_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct begin_impl; template <> struct begin_impl { template struct apply { typedef basic_iterator< struct_iterator_tag , random_access_traversal_tag , Seq , 0 > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return type(seq,0); } }; }; template <> struct begin_impl { template struct apply { typedef basic_iterator< struct_iterator_tag , assoc_struct_category , Seq , 0 > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return type(seq,0); } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/category_of_impl.hpp000066400000000000000000000022421265471724600305560ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_CATEGORY_OF_IMPL_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_CATEGORY_OF_IMPL_HPP namespace boost { namespace fusion { namespace extension { template struct category_of_impl; template<> struct category_of_impl { template struct apply { typedef random_access_traversal_tag type; }; }; template<> struct category_of_impl { template struct apply { typedef assoc_struct_category type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/define_struct.hpp000066400000000000000000000616061265471724600301030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010-2011 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_DETAIL_STRUCT_DEFINE_STRUCT_HPP #define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_DEFINE_STRUCT_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 #define BOOST_FUSION_DEFINE_STRUCT_FILLER_0(X, Y) \ ((X, Y)) BOOST_FUSION_DEFINE_STRUCT_FILLER_1 #define BOOST_FUSION_DEFINE_STRUCT_FILLER_1(X, Y) \ ((X, Y)) BOOST_FUSION_DEFINE_STRUCT_FILLER_0 #define BOOST_FUSION_DEFINE_STRUCT_FILLER_0_END #define BOOST_FUSION_DEFINE_STRUCT_FILLER_1_END #define BOOST_FUSION_DEFINE_STRUCT_COPY_CTOR_FILLER_I( \ R, ATTRIBUTE_TUPEL_SIZE, I, ATTRIBUTE) \ \ BOOST_PP_COMMA_IF(I) \ BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,ATTRIBUTE)( \ other_self.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,ATTRIBUTE)) #define BOOST_FUSION_DEFINE_STRUCT_ASSIGN_FILLER_I( \ R, ATTRIBUTE_TUPEL_SIZE, I_, ATTRIBUTE) \ \ BOOST_PP_EXPR_IF( \ I_, \ typedef typename \ boost::fusion::result_of::next< \ BOOST_PP_CAT(I,BOOST_PP_DEC(I_)) \ >::type \ BOOST_PP_CAT(I,I_); \ BOOST_PP_CAT(I,I_) BOOST_PP_CAT(i,I_)= \ boost::fusion::next(BOOST_PP_CAT(i,BOOST_PP_DEC(I_))); \ ) \ \ BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,ATTRIBUTE)= \ boost::fusion::deref(BOOST_PP_CAT(i,I_)); #define BOOST_FUSION_DEFINE_STRUCT_ASSIGN_OP( \ ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ \ template \ BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ self_type& \ operator=(Seq const& seq) \ { \ typedef typename \ boost::fusion::result_of::begin::type \ I0; \ I0 i0=boost::fusion::begin(seq); \ \ BOOST_PP_SEQ_FOR_EACH_I_R( \ 1, \ BOOST_FUSION_DEFINE_STRUCT_ASSIGN_FILLER_I, \ ATTRIBUTE_TUPEL_SIZE, \ ATTRIBUTES_SEQ) \ \ return *this; \ } #define BOOST_FUSION_DEFINE_STRUCT_ATTR_I(R, ATTRIBUTE_TUPEL_SIZE, ATTRIBUTE) \ \ BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,0,ATTRIBUTE) \ BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,ATTRIBUTE); #define BOOST_FUSION_DEFINE_STRUCT_SEQ_CTOR_FILLER_I( \ R, ATTRIBUTE_TUPEL_SIZE, I, ATTRIBUTE) \ \ BOOST_PP_COMMA_IF(I) \ BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,ATTRIBUTE)( \ boost::fusion::deref(boost::fusion::advance_c(boost::fusion::begin( \ seq)))) #define BOOST_FUSION_DEFINE_STRUCT_SEQ_CTOR_DISABLER( \ ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ \ , typename boost::disable_if< \ boost::is_convertible< \ Seq const& \ , BOOST_PP_TUPLE_ELEM( \ ATTRIBUTE_TUPEL_SIZE, \ 0, \ BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ)) \ > \ >::type* =0 #define BOOST_FUSION_DEFINE_STRUCT_SEQ_DEFAULT_CTOR_FILLER_I( \ R, ATTRIBUTE_TUPEL_SIZE, I, ATTRIBUTE) \ \ BOOST_PP_COMMA_IF(I) \ BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,ATTRIBUTE)() #define BOOST_FUSION_DEFINE_STRUCT_IMPL_IMPL( \ NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ \ BOOST_PP_SEQ_FOR_EACH_R( \ 1, \ BOOST_FUSION_DEFINE_STRUCT_ATTR_I, \ ATTRIBUTE_TUPEL_SIZE, \ ATTRIBUTES_SEQ) \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ NAME() \ : BOOST_PP_SEQ_FOR_EACH_I_R( \ 1, \ BOOST_FUSION_DEFINE_STRUCT_SEQ_DEFAULT_CTOR_FILLER_I, \ ATTRIBUTE_TUPEL_SIZE, \ ATTRIBUTES_SEQ) \ {} \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ NAME(self_type const& other_self) \ : BOOST_PP_SEQ_FOR_EACH_I_R( \ 1, \ BOOST_FUSION_DEFINE_STRUCT_COPY_CTOR_FILLER_I, \ ATTRIBUTE_TUPEL_SIZE, \ ATTRIBUTES_SEQ) \ {} \ \ template \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ NAME(Seq const& seq \ BOOST_PP_IF( \ BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ BOOST_PP_TUPLE_EAT(2), \ BOOST_FUSION_DEFINE_STRUCT_SEQ_CTOR_DISABLER)( \ ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ ) \ : BOOST_PP_SEQ_FOR_EACH_I_R( \ 1, \ BOOST_FUSION_DEFINE_STRUCT_SEQ_CTOR_FILLER_I, \ ATTRIBUTE_TUPEL_SIZE, \ ATTRIBUTES_SEQ) \ {} \ \ BOOST_FUSION_DEFINE_STRUCT_ASSIGN_OP(ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) #define BOOST_FUSION_DEFINE_STRUCT_CTOR_1( \ NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ explicit \ NAME(boost::call_traits< \ BOOST_PP_TUPLE_ELEM( \ ATTRIBUTE_TUPEL_SIZE,0,BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ)) \ >::param_type arg) \ : BOOST_PP_TUPLE_ELEM( \ ATTRIBUTE_TUPEL_SIZE,1,BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ))(arg) \ {} #define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_1( \ TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ explicit \ NAME(typename boost::call_traits< \ typename boost::fusion::detail::get_first_arg< \ BOOST_PP_TUPLE_ELEM( \ ATTRIBUTE_TUPEL_SIZE, \ 0, \ BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ)) \ , BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ) \ >::type \ >::param_type arg) \ : BOOST_PP_TUPLE_ELEM( \ ATTRIBUTE_TUPEL_SIZE,1,BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ))(arg) \ {} #define BOOST_FUSION_DEFINE_STRUCT_CTOR_FILLER_I( \ R, ATTRIBUTE_TUPEL_SIZE, I, ATTRIBUTE) \ \ BOOST_PP_COMMA_IF(I) \ BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,ATTRIBUTE)(BOOST_PP_CAT(_,I)) #define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_ARG_I(R, DATA, I, ATTRIBUTE) \ \ BOOST_PP_COMMA_IF(I) \ typename boost::call_traits< \ typename boost::fusion::detail::get_first_arg< \ BOOST_PP_TUPLE_ELEM( \ BOOST_PP_TUPLE_ELEM(3,0,DATA), \ 0, \ ATTRIBUTE) \ , BOOST_PP_TUPLE_ELEM(3,2,DATA) \ >::type \ >::param_type BOOST_PP_CAT(_,I) #define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_N( \ TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \ 1, \ BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_ARG_I, \ ( \ ATTRIBUTE_TUPEL_SIZE, \ BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ), \ BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ) \ ), \ ATTRIBUTES_SEQ)) \ : BOOST_PP_SEQ_FOR_EACH_I_R( \ 1, \ BOOST_FUSION_DEFINE_STRUCT_CTOR_FILLER_I, \ ATTRIBUTE_TUPEL_SIZE, \ ATTRIBUTES_SEQ) \ {} #define BOOST_FUSION_DEFINE_STRUCT_CTOR_ARG_I( \ R, ATTRIBUTE_TUPEL_SIZE, I, ATTRIBUTE) \ \ BOOST_PP_COMMA_IF(I) \ boost::call_traits< \ BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,0,ATTRIBUTE) \ >::param_type BOOST_PP_CAT(_,I) #define BOOST_FUSION_DEFINE_STRUCT_CTOR_N( \ NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \ 1, \ BOOST_FUSION_DEFINE_STRUCT_CTOR_ARG_I, \ ATTRIBUTE_TUPEL_SIZE, \ ATTRIBUTES_SEQ)) \ : BOOST_PP_SEQ_FOR_EACH_I_R( \ 1, \ BOOST_FUSION_DEFINE_STRUCT_CTOR_FILLER_I, \ ATTRIBUTE_TUPEL_SIZE, \ ATTRIBUTES_SEQ) \ {} #define BOOST_FUSION_DEFINE_STRUCT_CTOR( \ NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ \ BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ BOOST_FUSION_DEFINE_STRUCT_CTOR_N, \ BOOST_FUSION_DEFINE_STRUCT_CTOR_1)( \ NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) #define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR( \ TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ \ BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_N, \ BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_1)( \ TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) #define BOOST_FUSION_DEFINE_NONEMPTY_STRUCT_IMPL( \ NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ \ BOOST_FUSION_DEFINE_STRUCT_IMPL_IMPL( \ NAME, BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), ATTRIBUTE_TUPEL_SIZE) \ \ BOOST_FUSION_DEFINE_STRUCT_CTOR( \ NAME, BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), ATTRIBUTE_TUPEL_SIZE) #define BOOST_FUSION_DEFINE_EMPTY_STRUCT_IMPL( \ NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ \ template \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ NAME(Seq const&) \ {} \ \ template \ BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ self_type& \ operator=(Seq const& seq) \ { \ return *this; \ } #define BOOST_FUSION_DEFINE_STRUCT_IMPL( \ NAMESPACE_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ \ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_BEGIN(NAMESPACE_SEQ) \ \ struct NAME \ { \ typedef NAME self_type; \ \ BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ BOOST_FUSION_DEFINE_NONEMPTY_STRUCT_IMPL, \ BOOST_FUSION_DEFINE_EMPTY_STRUCT_IMPL)( \ NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ }; \ \ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_END(NAMESPACE_SEQ) #define BOOST_FUSION_DEFINE_NONEMPTY_TPL_STRUCT_IMPL( \ TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ \ BOOST_FUSION_DEFINE_STRUCT_IMPL_IMPL( \ NAME, BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), ATTRIBUTE_TUPEL_SIZE) \ \ BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR( \ TEMPLATE_PARAMS_SEQ, \ NAME, \ BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), \ ATTRIBUTE_TUPEL_SIZE) #define BOOST_FUSION_DEFINE_EMPTY_TPL_STRUCT_IMPL( \ TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ \ BOOST_FUSION_DEFINE_EMPTY_STRUCT_IMPL( \ NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) #define BOOST_FUSION_DEFINE_TPL_STRUCT_IMPL( \ TEMPLATE_PARAMS_SEQ, \ NAMESPACE_SEQ, \ NAME, \ ATTRIBUTES_SEQ, \ ATTRIBUTE_TUPEL_SIZE) \ \ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_BEGIN(NAMESPACE_SEQ) \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL( \ (0)TEMPLATE_PARAMS_SEQ) \ > \ struct NAME \ { \ typedef NAME self_type; \ \ BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ BOOST_FUSION_DEFINE_NONEMPTY_TPL_STRUCT_IMPL, \ BOOST_FUSION_DEFINE_EMPTY_TPL_STRUCT_IMPL)( \ TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE)\ }; \ \ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_END(NAMESPACE_SEQ) namespace boost { namespace fusion { namespace detail { template struct get_first_arg { typedef A1 type; }; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/define_struct_inline.hpp000066400000000000000000001110671265471724600314360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2012 Nathan Ridge Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_DEFINE_STRUCT_INLINE_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEFINE_STRUCT_INLINE_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // MSVC and GCC <= 4.4 have a bug that affects partial specializations of // nested templates under some circumstances. This affects the implementation // of BOOST_FUSION_DEFINE_STRUCT_INLINE, which uses such specializations for // the iterator class's 'deref' and 'value_of' metafunctions. On these compilers // an alternate implementation for these metafunctions is used that does not // require such specializations. The alternate implementation takes longer // to compile so its use is restricted to the offending compilers. // For MSVC, the bug was reported at https://connect.microsoft.com/VisualStudio/feedback/details/757891/c-compiler-error-involving-partial-specializations-of-nested-templates // For GCC, 4.4 and earlier are no longer maintained so there is no need // to report a bug. #if defined(BOOST_MSVC) || (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 4))) #define BOOST_FUSION_NEED_NESTED_TEMPLATE_PARTIAL_SPEC_WKND #endif #ifdef BOOST_FUSION_NEED_NESTED_TEMPLATE_PARTIAL_SPEC_WKND #include #include #include #include #include #endif #define BOOST_FUSION_MAKE_DEFAULT_INIT_LIST_ENTRY(R, DATA, N, ATTRIBUTE) \ BOOST_PP_COMMA_IF(N) BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE)() #define BOOST_FUSION_MAKE_DEFAULT_INIT_LIST(ATTRIBUTES_SEQ) \ : BOOST_PP_SEQ_FOR_EACH_I( \ BOOST_FUSION_MAKE_DEFAULT_INIT_LIST_ENTRY, \ ~, \ ATTRIBUTES_SEQ) \ #define BOOST_FUSION_IGNORE_1(ARG1) #define BOOST_FUSION_IGNORE_2(ARG1, ARG2) #define BOOST_FUSION_MAKE_COPY_CONSTRUCTOR(NAME, ATTRIBUTES_SEQ) \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ NAME(BOOST_PP_SEQ_FOR_EACH_I( \ BOOST_FUSION_MAKE_CONST_REF_PARAM, \ ~, \ ATTRIBUTES_SEQ)) \ : BOOST_PP_SEQ_FOR_EACH_I( \ BOOST_FUSION_MAKE_INIT_LIST_ENTRY, \ ~, \ ATTRIBUTES_SEQ) \ { \ } \ #define BOOST_FUSION_MAKE_CONST_REF_PARAM(R, DATA, N, ATTRIBUTE) \ BOOST_PP_COMMA_IF(N) \ BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) const& \ BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE) #define BOOST_FUSION_MAKE_INIT_LIST_ENTRY_I(NAME) NAME(NAME) #define BOOST_FUSION_MAKE_INIT_LIST_ENTRY(R, DATA, N, ATTRIBUTE) \ BOOST_PP_COMMA_IF(N) \ BOOST_FUSION_MAKE_INIT_LIST_ENTRY_I(BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE)) #define BOOST_FUSION_ITERATOR_NAME(NAME) \ BOOST_PP_CAT(boost_fusion_detail_, BOOST_PP_CAT(NAME, _iterator)) // Note: all template parameter names need to be uglified, otherwise they might // shadow a template parameter of the struct when used with // BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE #define BOOST_FUSION_MAKE_ITERATOR_VALUE_OF_SPECS(Z, N, NAME) \ template \ struct value_of< \ BOOST_FUSION_ITERATOR_NAME(NAME) \ > \ : boost::mpl::identity< \ typename boost_fusion_detail_Sq::t##N##_type \ > \ { \ }; #define BOOST_FUSION_MAKE_ITERATOR_DEREF_SPEC( \ SPEC_TYPE, CALL_ARG_TYPE, TYPE_QUAL, ATTRIBUTE, N) \ \ template \ struct deref > \ { \ typedef typename boost_fusion_detail_Sq::t##N##_type TYPE_QUAL& type; \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(CALL_ARG_TYPE, N> const& iter) \ { \ return iter.seq_.BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE); \ } \ }; #define BOOST_FUSION_MAKE_ITERATOR_DEREF_SPECS(R, NAME, N, ATTRIBUTE) \ BOOST_FUSION_MAKE_ITERATOR_DEREF_SPEC( \ BOOST_FUSION_ITERATOR_NAME(NAME) \ struct value_at > \ { \ typedef typename boost_fusion_detail_Sq::t##N##_type type; \ }; #define BOOST_FUSION_MAKE_AT_SPECS(R, DATA, N, ATTRIBUTE) \ template \ struct at > \ { \ typedef typename boost::mpl::if_< \ boost::is_const, \ typename boost_fusion_detail_Sq::t##N##_type const&, \ typename boost_fusion_detail_Sq::t##N##_type& \ >::type type; \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(boost_fusion_detail_Sq& sq) \ { \ return sq. BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE); \ } \ }; #define BOOST_FUSION_MAKE_TYPEDEF(R, DATA, N, ATTRIBUTE) \ typedef BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) t##N##_type; #define BOOST_FUSION_MAKE_DATA_MEMBER(R, DATA, N, ATTRIBUTE) \ BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE); #ifdef BOOST_FUSION_NEED_NESTED_TEMPLATE_PARTIAL_SPEC_WKND #define BOOST_FUSION_DEFINE_ITERATOR_VALUE_OF(NAME, ATTRIBUTE_SEQ_SIZE) \ template \ struct value_of : boost::fusion::result_of::at_c< \ ref_vec_t, \ boost_fusion_detail_Iterator::index::value \ > \ { \ }; #define BOOST_FUSION_DEFINE_ITERATOR_DEREF(NAME, ATTRIBUTES_SEQ) \ template \ struct deref \ { \ typedef typename boost::remove_const< \ boost_fusion_detail_Iterator \ >::type iterator_raw_type; \ \ static const int index = iterator_raw_type::index::value; \ \ typedef typename boost::fusion::result_of::at_c< \ ref_vec_t, \ index \ >::type result_raw_type; \ \ typedef typename boost::mpl::if_< \ boost::is_const, \ typename boost::add_const::type, \ result_raw_type \ >::type type; \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(iterator_raw_type const& iter) \ { \ return boost::fusion::at_c(iter.ref_vec); \ } \ }; #define BOOST_FUSION_MAKE_ITERATOR_WKND_FIELD_NAME(R, DATA, N, ATTRIBUTE) \ BOOST_PP_COMMA_IF(N) seq.BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE) #define BOOST_FUSION_DEFINE_ITERATOR_WKND_INIT_LIST_ENTRIES(ATTRIBUTES_SEQ) \ , ref_vec(BOOST_PP_SEQ_FOR_EACH_I( \ BOOST_FUSION_MAKE_ITERATOR_WKND_FIELD_NAME, \ ~, \ BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ))) #define BOOST_FUSION_MAKE_ITERATOR_WKND_REF(Z, N, DATA) \ BOOST_PP_COMMA_IF(N) \ typename boost::mpl::if_< \ boost::is_const, \ typename boost::add_const< \ typename boost_fusion_detail_Seq::t##N##_type \ >::type, \ typename boost_fusion_detail_Seq::t##N##_type \ >::type& #define BOOST_FUSION_DEFINE_ITERATOR_WKND_MEMBERS(ATTRIBUTES_SEQ_SIZE) \ typedef boost::fusion::vector< \ BOOST_PP_REPEAT( \ ATTRIBUTES_SEQ_SIZE, \ BOOST_FUSION_MAKE_ITERATOR_WKND_REF, \ ~) \ > ref_vec_t; \ \ ref_vec_t ref_vec; #else #define BOOST_FUSION_DEFINE_ITERATOR_VALUE_OF(NAME, ATTRIBUTES_SEQ_SIZE) \ template struct value_of; \ BOOST_PP_REPEAT( \ ATTRIBUTES_SEQ_SIZE, \ BOOST_FUSION_MAKE_ITERATOR_VALUE_OF_SPECS, \ NAME) #define BOOST_FUSION_DEFINE_ITERATOR_DEREF(NAME, ATTRIBUTES_SEQ) \ template struct deref; \ BOOST_PP_SEQ_FOR_EACH_I( \ BOOST_FUSION_MAKE_ITERATOR_DEREF_SPECS, \ NAME, \ ATTRIBUTES_SEQ) #define BOOST_FUSION_DEFINE_ITERATOR_WKND_INIT_LIST_ENTRIES(ATTRIBUTES_SEQ) #define BOOST_FUSION_DEFINE_ITERATOR_WKND_MEMBERS(ATTRIBUTES_SEQ_SIZE) #endif // BOOST_FUSION_NEED_NESTED_TEMPLATE_PARTIAL_SPEC_WKND // Note: We can't nest the iterator inside the struct because we run into // a MSVC10 bug involving partial specializations of nested templates. #define BOOST_FUSION_DEFINE_STRUCT_INLINE_IMPL(NAME, ATTRIBUTES) \ BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR(NAME, ATTRIBUTES) \ struct NAME : boost::fusion::sequence_facade< \ NAME, \ boost::fusion::random_access_traversal_tag \ > \ { \ BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS(NAME, ATTRIBUTES) \ }; #define BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE_IMPL( \ TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES) \ \ BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR(NAME, ATTRIBUTES) \ \ template < \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL( \ (0)TEMPLATE_PARAMS_SEQ) \ > \ struct NAME : boost::fusion::sequence_facade< \ NAME< \ BOOST_PP_SEQ_ENUM(TEMPLATE_PARAMS_SEQ) \ >, \ boost::fusion::random_access_traversal_tag \ > \ { \ BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS(NAME, ATTRIBUTES) \ }; #define BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS(NAME, ATTRIBUTES) \ BOOST_FUSION_DEFINE_STRUCT_MEMBERS_IMPL( \ NAME, \ BOOST_PP_CAT(BOOST_FUSION_DEFINE_STRUCT_FILLER_0 ATTRIBUTES,_END)) // Note: can't compute BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ) directly because // ATTRIBUTES_SEQ may be empty and calling BOOST_PP_SEQ_SIZE on an empty // sequence produces warnings on MSVC. #define BOOST_FUSION_DEFINE_STRUCT_MEMBERS_IMPL(NAME, ATTRIBUTES_SEQ) \ BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS_IMPL_IMPL( \ NAME, \ ATTRIBUTES_SEQ, \ BOOST_PP_DEC(BOOST_PP_SEQ_SIZE((0)ATTRIBUTES_SEQ))) #define BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR(NAME, ATTRIBUTES) \ BOOST_FUSION_DEFINE_STRUCT_ITERATOR_IMPL( \ NAME, \ BOOST_PP_CAT(BOOST_FUSION_DEFINE_STRUCT_FILLER_0 ATTRIBUTES,_END)) #define BOOST_FUSION_DEFINE_STRUCT_ITERATOR_IMPL(NAME, ATTRIBUTES_SEQ) \ BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR_IMPL_IMPL( \ NAME, \ ATTRIBUTES_SEQ, \ BOOST_PP_DEC(BOOST_PP_SEQ_SIZE((0)ATTRIBUTES_SEQ))) #define BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR_IMPL_IMPL( \ NAME, ATTRIBUTES_SEQ, ATTRIBUTES_SEQ_SIZE) \ \ template \ struct BOOST_FUSION_ITERATOR_NAME(NAME) \ : boost::fusion::iterator_facade< \ BOOST_FUSION_ITERATOR_NAME(NAME), \ boost::fusion::random_access_traversal_tag \ > \ { \ typedef boost::mpl::int_ index; \ typedef boost_fusion_detail_Seq sequence_type; \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ BOOST_FUSION_ITERATOR_NAME(NAME)(boost_fusion_detail_Seq& seq) \ : seq_(seq) \ BOOST_FUSION_DEFINE_ITERATOR_WKND_INIT_LIST_ENTRIES( \ (0)ATTRIBUTES_SEQ) \ {} \ \ boost_fusion_detail_Seq& seq_; \ \ BOOST_FUSION_DEFINE_ITERATOR_WKND_MEMBERS(ATTRIBUTES_SEQ_SIZE) \ \ BOOST_FUSION_DEFINE_ITERATOR_VALUE_OF(NAME, ATTRIBUTES_SEQ_SIZE) \ \ BOOST_FUSION_DEFINE_ITERATOR_DEREF(NAME, ATTRIBUTES_SEQ) \ \ template \ struct next \ { \ typedef BOOST_FUSION_ITERATOR_NAME(NAME)< \ typename boost_fusion_detail_It::sequence_type, \ boost_fusion_detail_It::index::value + 1 \ > type; \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(boost_fusion_detail_It const& it) \ { \ return type(it.seq_); \ } \ }; \ \ template \ struct prior \ { \ typedef BOOST_FUSION_ITERATOR_NAME(NAME)< \ typename boost_fusion_detail_It::sequence_type, \ boost_fusion_detail_It::index::value - 1 \ > type; \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(boost_fusion_detail_It const& it) \ { \ return type(it.seq_); \ } \ }; \ \ template < \ typename boost_fusion_detail_It1, \ typename boost_fusion_detail_It2 \ > \ struct distance \ { \ typedef typename boost::mpl::minus< \ typename boost_fusion_detail_It2::index, \ typename boost_fusion_detail_It1::index \ >::type type; \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(boost_fusion_detail_It1 const& /* it1 */, \ boost_fusion_detail_It2 const& /* it2 */) \ { \ return type(); \ } \ }; \ \ template < \ typename boost_fusion_detail_It, \ typename boost_fusion_detail_M \ > \ struct advance \ { \ typedef BOOST_FUSION_ITERATOR_NAME(NAME)< \ typename boost_fusion_detail_It::sequence_type, \ boost_fusion_detail_It::index::value \ + boost_fusion_detail_M::value \ > type; \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(boost_fusion_detail_It const& it) \ { \ return type(it.seq_); \ } \ }; \ }; #define BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS_IMPL_IMPL( \ NAME, ATTRIBUTES_SEQ, ATTRIBUTES_SEQ_SIZE) \ \ /* Note: second BOOST_PP_IF is necessary to avoid MSVC warning when */ \ /* calling BOOST_FUSION_IGNORE_1 with no arguments. */ \ NAME() \ BOOST_PP_IF( \ ATTRIBUTES_SEQ_SIZE, \ BOOST_FUSION_MAKE_DEFAULT_INIT_LIST, \ BOOST_FUSION_IGNORE_1) \ (BOOST_PP_IF( \ ATTRIBUTES_SEQ_SIZE, \ ATTRIBUTES_SEQ, \ 0)) \ { \ } \ \ BOOST_PP_IF( \ ATTRIBUTES_SEQ_SIZE, \ BOOST_FUSION_MAKE_COPY_CONSTRUCTOR, \ BOOST_FUSION_IGNORE_2) \ (NAME, ATTRIBUTES_SEQ) \ \ template \ BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ NAME(const boost_fusion_detail_Seq& rhs) \ { \ boost::fusion::copy(rhs, *this); \ } \ \ template \ BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ NAME& operator=(const boost_fusion_detail_Seq& rhs) \ { \ boost::fusion::copy(rhs, *this); \ return *this; \ } \ \ template \ struct begin \ { \ typedef BOOST_FUSION_ITERATOR_NAME(NAME) \ type; \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(boost_fusion_detail_Sq& sq) \ { \ return type(sq); \ } \ }; \ \ template \ struct end \ { \ typedef BOOST_FUSION_ITERATOR_NAME(NAME)< \ boost_fusion_detail_Sq, \ ATTRIBUTES_SEQ_SIZE \ > type; \ \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(boost_fusion_detail_Sq& sq) \ { \ return type(sq); \ } \ }; \ \ template \ struct size : boost::mpl::int_ \ { \ }; \ \ template \ struct empty : boost::mpl::bool_ \ { \ }; \ \ template < \ typename boost_fusion_detail_Sq, \ typename boost_fusion_detail_N \ > \ struct value_at : value_at< \ boost_fusion_detail_Sq, \ boost::mpl::int_ \ > \ { \ }; \ \ BOOST_PP_REPEAT( \ ATTRIBUTES_SEQ_SIZE, \ BOOST_FUSION_MAKE_VALUE_AT_SPECS, \ ~) \ \ template < \ typename boost_fusion_detail_Sq, \ typename boost_fusion_detail_N \ > \ struct at : at< \ boost_fusion_detail_Sq, \ boost::mpl::int_ \ > \ { \ }; \ \ BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_MAKE_AT_SPECS, ~, ATTRIBUTES_SEQ) \ \ BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_MAKE_TYPEDEF, ~, ATTRIBUTES_SEQ) \ \ BOOST_PP_SEQ_FOR_EACH_I( \ BOOST_FUSION_MAKE_DATA_MEMBER, \ ~, \ ATTRIBUTES_SEQ) #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/deref_data_impl.hpp000066400000000000000000000013311265471724600303310ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_DATA_IMPL_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_DATA_IMPL_HPP namespace boost { namespace fusion { namespace extension { template struct deref_data_impl; template <> struct deref_data_impl : deref_impl {}; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/deref_impl.hpp000066400000000000000000000022751265471724600273500ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_IMPL_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_IMPL_HPP namespace boost { namespace fusion { namespace extension { template struct deref_impl; template <> struct deref_impl { template struct apply { typedef typename access::struct_member< typename remove_const::type , It::index::value >::template apply impl; typedef typename impl::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return impl::call(*it.seq); } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/end_impl.hpp000066400000000000000000000036121265471724600270250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_END_IMPL_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_END_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct end_impl; template <> struct end_impl { template struct apply { typedef basic_iterator< struct_iterator_tag , random_access_traversal_tag , Seq , struct_size::type>::value > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return type(seq,0); } }; }; template <> struct end_impl { template struct apply { typedef basic_iterator< struct_iterator_tag , assoc_struct_category , Seq , struct_size::type>::value > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return type(seq,0); } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/extension.hpp000066400000000000000000000030071265471724600272500ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_EXTENSION_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_EXTENSION_HPP #include #include namespace boost { namespace fusion { struct struct_tag; struct struct_iterator_tag; struct assoc_struct_tag; struct fusion_sequence_tag; struct assoc_struct_category : random_access_traversal_tag, associative_tag {}; namespace extension { struct no_such_member; struct access { template struct struct_member; template struct adt_attribute_access; }; template struct adt_attribute_proxy; template struct struct_member_name; template struct struct_size; template struct struct_is_view; template struct struct_assoc_key; } }} #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp000066400000000000000000000020171265471724600305600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_IS_SEQUENCE_IMPL_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_SEQUENCE_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct is_sequence_impl; template<> struct is_sequence_impl { template struct apply : mpl::true_ {}; }; template <> struct is_sequence_impl : is_sequence_impl {}; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/is_view_impl.hpp000066400000000000000000000017231265471724600277250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_IS_VIEW_IMPL_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_VIEW_IMPL_HPP namespace boost { namespace fusion { namespace extension { template struct is_view_impl; template<> struct is_view_impl { template struct apply : struct_is_view::type> {}; }; template <> struct is_view_impl : is_view_impl {}; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/key_of_impl.hpp000066400000000000000000000016011265471724600275270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_KEY_OF_IMPL_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_KEY_OF_IMPL_HPP namespace boost { namespace fusion { namespace extension { template struct key_of_impl; template <> struct key_of_impl { template struct apply : extension::struct_assoc_key< typename remove_const::type , It::index::value > {}; }; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/namespace.hpp000066400000000000000000000054641265471724600272010ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009-2010 Hartmut Kaiser Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_DETAIL_STRUCT_NAMESPACE_HPP #define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_NAMESPACE_HPP #include #include #include #include #include #include #include #include #define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_BEGIN_I(R,DATA,ELEM) \ namespace ELEM { #define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_END_I(Z,I,DATA) } #define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION_I(Z,I,ELEM) ELEM:: #define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_BEGIN(NAMESPACE_SEQ) \ BOOST_PP_IF( \ BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(NAMESPACE_SEQ)), \ BOOST_PP_SEQ_FOR_EACH_R, \ BOOST_PP_TUPLE_EAT(4))( \ 1, \ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_BEGIN_I, \ _, \ BOOST_PP_SEQ_TAIL(NAMESPACE_SEQ)) #define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_END(NAMESPACE_SEQ) \ BOOST_PP_REPEAT_1( \ BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(NAMESPACE_SEQ)), \ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_END_I, \ _) #define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION(NAMESPACE_SEQ) \ BOOST_PP_IF( \ BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(NAMESPACE_SEQ)), \ BOOST_PP_SEQ_FOR_EACH_R, \ BOOST_PP_TUPLE_EAT(4))( \ 1, \ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION_I, \ _, \ BOOST_PP_SEQ_TAIL(NAMESPACE_SEQ)) #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/preprocessor/000077500000000000000000000000001265471724600272515ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp000066400000000000000000000027571265471724600312600ustar00rootroot00000000000000/*============================================================================= BOOST_PP_VARIADICS version of BOOST_PP_IS_SEQ inspired from boost/mpl/aux_/preprocessor/is_seq.hpp, original copyrights goes to : Copyright Paul Mensonides 2003 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) ==============================================================================*/ #ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_PREPROCESSOR_IS_SEQ_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_PREPROCESSOR_IS_SEQ_HPP #include #include #include #include #include #if BOOST_PP_VARIADICS #define BOOST_FUSION_PP_IS_SEQ(seq) BOOST_PP_CAT(BOOST_FUSION_PP_IS_SEQ_, \ BOOST_FUSION_PP_IS_SEQ_0 seq BOOST_PP_RPAREN()) #define BOOST_FUSION_PP_IS_SEQ_0(...) \ BOOST_FUSION_PP_IS_SEQ_1(__VA_ARGS__ #define BOOST_FUSION_PP_IS_SEQ_ALWAYS_0(...) \ 0 #define BOOST_FUSION_PP_IS_SEQ_BOOST_FUSION_PP_IS_SEQ_0 \ BOOST_FUSION_PP_IS_SEQ_ALWAYS_0( #define BOOST_FUSION_PP_IS_SEQ_BOOST_FUSION_PP_IS_SEQ_1(...) \ 1 #endif // BOOST_PP_VARIADICS #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/proxy_type.hpp000066400000000000000000000050441265471724600274610ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009-2010 Hartmut Kaiser Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_DETAIL_STRUCT_PROXY_TYPE_HPP #define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_PROXY_TYPE_HPP #include #include #define BOOST_FUSION_PROXY_PREFIX() obj. #define BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ WRAPPED_TYPE,NAMESPACE_SEQ,NAME) \ \ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_BEGIN(NAMESPACE_SEQ) \ \ struct NAME \ { \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ NAME(WRAPPED_TYPE& in_obj) \ : obj(in_obj) \ {} \ \ WRAPPED_TYPE& obj; \ \ private: \ NAME& operator= (NAME const&); \ }; \ \ BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_END(NAMESPACE_SEQ) #define BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE( \ WRAPPED_TYPE, NAMESPACE_SEQ, NAME) \ \ BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ WRAPPED_TYPE, (0)NAMESPACE_SEQ, NAME) #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/size_impl.hpp000066400000000000000000000017001265471724600272250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_SIZE_IMPL_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_SIZE_IMPL_HPP namespace boost { namespace fusion { namespace extension { template struct size_impl; template <> struct size_impl { template struct apply : struct_size::type> {}; }; template <> struct size_impl : size_impl {}; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/value_at_impl.hpp000066400000000000000000000017701265471724600300620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_AT_IMPL_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_AT_IMPL_HPP namespace boost { namespace fusion { namespace extension { template struct value_at_impl; template <> struct value_at_impl { template struct apply : access::struct_member::type, N::value> {}; }; template <> struct value_at_impl : value_at_impl {}; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/value_of_data_impl.hpp000066400000000000000000000013501265471724600310450ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_OF_DATA_IMPL_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_OF_DATA_IMPL_HPP namespace boost { namespace fusion { namespace extension { template struct value_of_data_impl; template <> struct value_of_data_impl : value_of_impl {}; }}} #endif KWStyle-master/Utilities/boost/fusion/adapted/struct/detail/value_of_impl.hpp000066400000000000000000000016031265471724600300550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_OF_IMPL_HPP #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_OF_IMPL_HPP namespace boost { namespace fusion { namespace extension { template struct value_of_impl; template <> struct value_of_impl { template struct apply : access::struct_member< typename remove_const::type , It::index::value > {}; }; }}} #endif KWStyle-master/Utilities/boost/fusion/algorithm.hpp000066400000000000000000000012021265471724600230250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ALGORITHM_10022005_0549) #define FUSION_ALGORITHM_10022005_0549 #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/algorithm/000077500000000000000000000000001265471724600223215ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/algorithm/auxiliary.hpp000066400000000000000000000012361265471724600250430ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ALGORITHM_AUXILIARY_02192011_0907) #define FUSION_ALGORITHM_AUXILIARY_02192011_0907 #include #include #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES #include #endif #endif KWStyle-master/Utilities/boost/fusion/algorithm/auxiliary/000077500000000000000000000000001265471724600243305ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/algorithm/auxiliary/copy.hpp000066400000000000000000000055241265471724600260210ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_COPY_02162011_2308) #define FUSION_COPY_02162011_2308 #include #include #include #include #include #include #include #include #include #include #if defined (BOOST_MSVC) # pragma warning(push) # pragma warning (disable: 4100) // unreferenced formal parameter #endif namespace boost { namespace fusion { namespace detail { template struct sequence_copy { typedef typename result_of::end::type end1_type; typedef typename result_of::end::type end2_type; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I1 const&, I2 const&, mpl::true_) { } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I1 const& src, I2 const& dest, mpl::false_) { *dest = *src; call(fusion::next(src), fusion::next(dest)); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I1 const& src, I2 const& dest) { typename result_of::equal_to::type eq; return call(src, dest, eq); } }; } namespace result_of { template struct copy : enable_if, traits::is_sequence > > {}; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::copy::type copy(Seq1 const& src, Seq2& dest) { BOOST_STATIC_ASSERT( result_of::size::value <= result_of::size::value); detail::sequence_copy< Seq1 const, Seq2>:: call(fusion::begin(src), fusion::begin(dest)); } }} #if defined (BOOST_MSVC) # pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/fusion/algorithm/auxiliary/move.hpp000066400000000000000000000055631265471724600260200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2013 Joel de Guzman Distributed under the 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(FUSION_MOVE_01192013_2225) #define FUSION_MOVE_01192013_2225 #include #include #include #include #include #include #include #include #include #include #include // for std::move #if defined (BOOST_MSVC) # pragma warning(push) # pragma warning (disable: 4100) // unreferenced formal parameter #endif namespace boost { namespace fusion { namespace detail { template struct sequence_move { typedef typename result_of::end::type end1_type; typedef typename result_of::end::type end2_type; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I1 const&, I2 const&, mpl::true_) { } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I1 const& src, I2 const& dest, mpl::false_) { *dest = std::move(*src); call(fusion::next(src), fusion::next(dest)); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I1 const& src, I2 const& dest) { typename result_of::equal_to::type eq; return call(src, dest, eq); } }; } namespace result_of { template struct move : enable_if, traits::is_sequence > > {}; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::move::type move(Seq1&& src, Seq2& dest) { BOOST_STATIC_ASSERT( result_of::size::value <= result_of::size::value); detail::sequence_move< Seq1, Seq2>:: call(fusion::begin(src), fusion::begin(dest)); } }} #if defined (BOOST_MSVC) # pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/fusion/algorithm/iteration.hpp000066400000000000000000000015471265471724600250370ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ALGORITHM_ITERATION_10022005_0549) #define FUSION_ALGORITHM_ITERATION_10022005_0549 #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/algorithm/iteration/000077500000000000000000000000001265471724600243175ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/algorithm/iteration/accumulate.hpp000066400000000000000000000032741265471724600271610ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ACCUMULATE_09172005_1032) #define FUSION_ACCUMULATE_09172005_1032 #include #include #include #include #include namespace boost { namespace fusion { struct void_; namespace result_of { template struct accumulate : result_of::fold {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence , result_of::accumulate >::type accumulate(Sequence& seq, State const& state, F f) { return fusion::fold(seq, state, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence , result_of::accumulate >::type accumulate(Sequence const& seq, State const& state, F f) { return fusion::fold(seq, state, f); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/iteration/accumulate_fwd.hpp000066400000000000000000000026251265471724600300200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_ACCUMULATE_FWD_HPP_INCLUDED) #define BOOST_FUSION_ACCUMULATE_FWD_HPP_INCLUDED #include #include #include namespace boost { namespace fusion { namespace result_of { template struct accumulate; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence , result_of::accumulate >::type accumulate(Sequence& seq, State const& state, F f); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence , result_of::accumulate >::type accumulate(Sequence const& seq, State const& state, F f); }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/iteration/detail/000077500000000000000000000000001265471724600255615ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/algorithm/iteration/detail/fold.hpp000066400000000000000000000404001265471724600272140ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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 #ifdef BOOST_FUSION_REVERSE_FOLD # ifdef BOOST_FUSION_ITER_FOLD # define BOOST_FUSION_FOLD_NAME reverse_iter_fold # else # define BOOST_FUSION_FOLD_NAME reverse_fold # endif # define BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION end # define BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION prior # define BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM(IT) \ typename fusion::result_of::prior::type # define BOOST_FUSION_FOLD_IMPL_FIRST_IT_TRANSFORM(IT) fusion::prior(IT) #else # ifdef BOOST_FUSION_ITER_FOLD # define BOOST_FUSION_FOLD_NAME iter_fold # else # define BOOST_FUSION_FOLD_NAME fold # endif # define BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION begin # define BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION next # define BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM(IT) IT # define BOOST_FUSION_FOLD_IMPL_FIRST_IT_TRANSFORM(IT) IT #endif #ifdef BOOST_FUSION_ITER_FOLD # define BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(IT) IT& # define BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(IT) IT #else # define BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(IT) \ typename fusion::result_of::deref::type # define BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(IT) fusion::deref(IT) #endif namespace boost { namespace fusion { namespace detail { template struct BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state) : fusion::detail::result_of_with_decltype< F( typename add_reference::type>::type, BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(It)) > {}; template struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME) { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_3(State3 const& state3,It3 const& it3,F& f) { return BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME)< Result , N-4 >::call( f(state3,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it3)), fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it3), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_2(State2 const& state2,It2 const& it2,F& f) { return call_3( f(state2,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it2)), fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it2), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_1(State1 const& state1,It1 const& it1,F& f) { return call_2( f(state1,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it1)), fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it1), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return call_1( f(state,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it0)), fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it0), f); } }; template struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME) { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_2(State2 const& state2,It2 const& it2,F& f) { return f(state2,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it2)); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_1(State1 const& state1,It1 const& it1,F& f) { return call_2( f(state1,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it1)), fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it1), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return call_1( f(state,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it0)), fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it0), f); } }; template struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME) { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_1(State1 const& state1,It1 const& it1,F& f) { return f(state1,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it1)); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return call_1( f(state,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it0)), fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it0), f); } }; template struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME) { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return f(state, BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it0)); } }; template struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME) { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const&, F) { return static_cast(state); } }; template struct BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME) { typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)< StateRef , It0 const , F >::type rest1; typedef typename result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< It0 const >::type it1; typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)< rest1 , it1 , F >::type rest2; typedef typename result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION::type it2; typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)< rest2 , it2 , F >::type rest3; typedef typename result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION::type it3; typedef typename BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME)< typename BOOST_PP_CAT( BOOST_FUSION_FOLD_NAME, _lvalue_state)< rest3 , it3 , F >::type , typename result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< it3 >::type , F , N-4 >::type type; }; template struct BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME)< StateRef , It0 , F , 3 > { typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)< StateRef , It0 const , F >::type rest1; typedef typename result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< It0 const >::type it1; typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)< typename BOOST_PP_CAT( BOOST_FUSION_FOLD_NAME, _lvalue_state)< rest1 , it1 , F >::type , typename result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< it1 const >::type const , F >::type type; }; template struct BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME)< StateRef , It0 , F , 2 > : BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)< typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)< StateRef , It0 const , F >::type , typename result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< It0 const >::type const , F > {}; template struct BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME)< StateRef , It0 , F , 1 > : BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)< StateRef , It0 const , F > {}; template struct BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME)< StateRef , It0 , F , 0 > { typedef StateRef type; }; template struct BOOST_PP_CAT(result_of_first_unrolled,BOOST_FUSION_FOLD_NAME) { typedef typename BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME)< typename fusion::detail::result_of_with_decltype< F( StateRef, BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM( It0 const) ) >::type , typename result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< It0 const >::type , F , SeqSize-1 >::type type; }; template struct BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME,_impl) { typedef typename BOOST_PP_CAT( result_of_first_unrolled,BOOST_FUSION_FOLD_NAME)< StateRef , BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM( typename result_of::BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION::type ) , F , SeqSize >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(StateRef state, Seq& seq, F f) { typedef BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME)< type , SeqSize > unrolled_impl; return unrolled_impl::call( state, BOOST_FUSION_FOLD_IMPL_FIRST_IT_TRANSFORM( fusion::BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION(seq)), f); } }; template struct BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME,_impl)<0,StateRef,Seq,F> { typedef StateRef type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static StateRef call(StateRef state, Seq&, F) { return static_cast(state); } }; template struct BOOST_PP_CAT(result_of_, BOOST_FUSION_FOLD_NAME) : BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME,_impl)< result_of::size::value , typename add_reference< typename add_const::type >::type , Seq , F > {}; } namespace result_of { template struct BOOST_FUSION_FOLD_NAME : detail::BOOST_PP_CAT(result_of_, BOOST_FUSION_FOLD_NAME)< Seq , State , F , traits::is_segmented::type::value > {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::BOOST_FUSION_FOLD_NAME< Seq , State const , F >::type BOOST_FUSION_FOLD_NAME(Seq& seq, State const& state, F f) { return result_of::BOOST_FUSION_FOLD_NAME::call( state, seq, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::BOOST_FUSION_FOLD_NAME< Seq const , State const , F >::type BOOST_FUSION_FOLD_NAME(Seq const& seq, State const& state, F f) { return result_of::BOOST_FUSION_FOLD_NAME::call( state, seq, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::BOOST_FUSION_FOLD_NAME< Seq , State const , F >::type BOOST_FUSION_FOLD_NAME(Seq& seq, State& state, F f) { return result_of::BOOST_FUSION_FOLD_NAME::call( state, seq, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::BOOST_FUSION_FOLD_NAME< Seq const , State const , F >::type BOOST_FUSION_FOLD_NAME(Seq const& seq, State& state, F f) { return result_of::BOOST_FUSION_FOLD_NAME::call( state, seq, f); } }} #undef BOOST_FUSION_FOLD_NAME #undef BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION #undef BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION #undef BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM #undef BOOST_FUSION_FOLD_IMPL_FIRST_IT_TRANSFORM #undef BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM #undef BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM KWStyle-master/Utilities/boost/fusion/algorithm/iteration/detail/for_each.hpp000066400000000000000000000113111265471724600300350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_FOR_EACH_05052005_1028) #define FUSION_FOR_EACH_05052005_1028 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void for_each_linear(First const&, Last const&, F const&, mpl::true_) { } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void for_each_linear(First const& first, Last const& last, F const& f, mpl::false_) { f(*first); detail::for_each_linear(fusion::next(first), last, f, result_of::equal_to::type, Last>()); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void for_each_dispatch(Sequence& seq, F const& f, Tag) { detail::for_each_linear( fusion::begin(seq) , fusion::end(seq) , f , result_of::equal_to< typename result_of::begin::type , typename result_of::end::type>()); } template struct for_each_unrolled { template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I0 const& i0, F const& f) { f(*i0); typedef typename result_of::next::type I1; I1 i1(fusion::next(i0)); f(*i1); typedef typename result_of::next::type I2; I2 i2(fusion::next(i1)); f(*i2); typedef typename result_of::next::type I3; I3 i3(fusion::next(i2)); f(*i3); for_each_unrolled::call(fusion::next(i3), f); } }; template<> struct for_each_unrolled<3> { template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I0 const& i0, F const& f) { f(*i0); typedef typename result_of::next::type I1; I1 i1(fusion::next(i0)); f(*i1); typedef typename result_of::next::type I2; I2 i2(fusion::next(i1)); f(*i2); } }; template<> struct for_each_unrolled<2> { template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I0 const& i0, F const& f) { f(*i0); typedef typename result_of::next::type I1; I1 i1(fusion::next(i0)); f(*i1); } }; template<> struct for_each_unrolled<1> { template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I0 const& i0, F const& f) { f(*i0); } }; template<> struct for_each_unrolled<0> { template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(It const&, F const&) { } }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void for_each_dispatch(Sequence& seq, F const& f, random_access_traversal_tag) { typedef typename result_of::begin::type begin; typedef typename result_of::end::type end; for_each_unrolled::type::value>::call(fusion::begin(seq), f); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void for_each(Sequence& seq, F const& f, mpl::false_) // unsegmented implementation { detail::for_each_dispatch(seq, f, typename traits::category_of::type()); } }}} #endif KWStyle-master/Utilities/boost/fusion/algorithm/iteration/detail/preprocessed/000077500000000000000000000000001265471724600302575ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp000066400000000000000000000303551265471724600317220ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2007 Dan Marsden Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct fold_lvalue_state : fusion::detail::result_of_with_decltype< F( typename add_reference::type>::type, typename fusion::result_of::deref::type) > {}; template struct unrolled_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_3(State3 const& state3,It3 const& it3,F& f) { return unrolled_fold< Result , N-4 >::call( f(state3,fusion::deref(it3)), fusion::next(it3), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_2(State2 const& state2,It2 const& it2,F& f) { return call_3( f(state2,fusion::deref(it2)), fusion::next(it2), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_1(State1 const& state1,It1 const& it1,F& f) { return call_2( f(state1,fusion::deref(it1)), fusion::next(it1), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return call_1( f(state,fusion::deref(it0)), fusion::next(it0), f); } }; template struct unrolled_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_2(State2 const& state2,It2 const& it2,F& f) { return f(state2,fusion::deref(it2)); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_1(State1 const& state1,It1 const& it1,F& f) { return call_2( f(state1,fusion::deref(it1)), fusion::next(it1), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return call_1( f(state,fusion::deref(it0)), fusion::next(it0), f); } }; template struct unrolled_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_1(State1 const& state1,It1 const& it1,F& f) { return f(state1,fusion::deref(it1)); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return call_1( f(state,fusion::deref(it0)), fusion::next(it0), f); } }; template struct unrolled_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return f(state, fusion::deref(it0)); } }; template struct unrolled_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const&, F) { return static_cast(state); } }; template struct result_of_unrolled_fold { typedef typename fold_lvalue_state< StateRef , It0 const , F >::type rest1; typedef typename result_of::next< It0 const >::type it1; typedef typename fold_lvalue_state< rest1 , it1 , F >::type rest2; typedef typename result_of::next::type it2; typedef typename fold_lvalue_state< rest2 , it2 , F >::type rest3; typedef typename result_of::next::type it3; typedef typename result_of_unrolled_fold< typename fold_lvalue_state< rest3 , it3 , F >::type , typename result_of::next< it3 >::type , F , N-4 >::type type; }; template struct result_of_unrolled_fold< StateRef , It0 , F , 3 > { typedef typename fold_lvalue_state< StateRef , It0 const , F >::type rest1; typedef typename result_of::next< It0 const >::type it1; typedef typename fold_lvalue_state< typename fold_lvalue_state< rest1 , it1 , F >::type , typename result_of::next< it1 const >::type const , F >::type type; }; template struct result_of_unrolled_fold< StateRef , It0 , F , 2 > : fold_lvalue_state< typename fold_lvalue_state< StateRef , It0 const , F >::type , typename result_of::next< It0 const >::type const , F > {}; template struct result_of_unrolled_fold< StateRef , It0 , F , 1 > : fold_lvalue_state< StateRef , It0 const , F > {}; template struct result_of_unrolled_fold< StateRef , It0 , F , 0 > { typedef StateRef type; }; template struct result_of_first_unrolledfold { typedef typename result_of_unrolled_fold< typename fusion::detail::result_of_with_decltype< F( StateRef, typename fusion::result_of::deref< It0 const>::type ) >::type , typename result_of::next< It0 const >::type , F , SeqSize-1 >::type type; }; template struct fold_impl { typedef typename result_of_first_unrolledfold< StateRef , typename result_of::begin::type , F , SeqSize >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(StateRef state, Seq& seq, F f) { typedef unrolled_fold< type , SeqSize > unrolled_impl; return unrolled_impl::call( state, fusion::begin(seq), f); } }; template struct fold_impl<0,StateRef,Seq,F> { typedef StateRef type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static StateRef call(StateRef state, Seq&, F) { return static_cast(state); } }; template struct result_of_fold : fold_impl< result_of::size::value , typename add_reference< typename add_const::type >::type , Seq , F > {}; } namespace result_of { template struct fold : detail::result_of_fold< Seq , State , F , traits::is_segmented::type::value > {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::fold< Seq , State const , F >::type fold(Seq& seq, State const& state, F f) { return result_of::fold::call( state, seq, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::fold< Seq const , State const , F >::type fold(Seq const& seq, State const& state, F f) { return result_of::fold::call( state, seq, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::fold< Seq , State const , F >::type fold(Seq& seq, State& state, F f) { return result_of::fold::call( state, seq, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::fold< Seq const , State const , F >::type fold(Seq const& seq, State& state, F f) { return result_of::fold::call( state, seq, f); } }} KWStyle-master/Utilities/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp000066400000000000000000000302771265471724600327500ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct iter_fold_lvalue_state : fusion::detail::result_of_with_decltype< F( typename add_reference::type>::type, It&) > {}; template struct unrolled_iter_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_3(State3 const& state3,It3 const& it3,F& f) { return unrolled_iter_fold< Result , N-4 >::call( f(state3,it3), fusion::next(it3), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_2(State2 const& state2,It2 const& it2,F& f) { return call_3( f(state2,it2), fusion::next(it2), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_1(State1 const& state1,It1 const& it1,F& f) { return call_2( f(state1,it1), fusion::next(it1), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return call_1( f(state,it0), fusion::next(it0), f); } }; template struct unrolled_iter_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_2(State2 const& state2,It2 const& it2,F& f) { return f(state2,it2); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_1(State1 const& state1,It1 const& it1,F& f) { return call_2( f(state1,it1), fusion::next(it1), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return call_1( f(state,it0), fusion::next(it0), f); } }; template struct unrolled_iter_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_1(State1 const& state1,It1 const& it1,F& f) { return f(state1,it1); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return call_1( f(state,it0), fusion::next(it0), f); } }; template struct unrolled_iter_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return f(state, it0); } }; template struct unrolled_iter_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const&, F) { return static_cast(state); } }; template struct result_of_unrolled_iter_fold { typedef typename iter_fold_lvalue_state< StateRef , It0 const , F >::type rest1; typedef typename result_of::next< It0 const >::type it1; typedef typename iter_fold_lvalue_state< rest1 , it1 , F >::type rest2; typedef typename result_of::next::type it2; typedef typename iter_fold_lvalue_state< rest2 , it2 , F >::type rest3; typedef typename result_of::next::type it3; typedef typename result_of_unrolled_iter_fold< typename iter_fold_lvalue_state< rest3 , it3 , F >::type , typename result_of::next< it3 >::type , F , N-4 >::type type; }; template struct result_of_unrolled_iter_fold< StateRef , It0 , F , 3 > { typedef typename iter_fold_lvalue_state< StateRef , It0 const , F >::type rest1; typedef typename result_of::next< It0 const >::type it1; typedef typename iter_fold_lvalue_state< typename iter_fold_lvalue_state< rest1 , it1 , F >::type , typename result_of::next< it1 const >::type const , F >::type type; }; template struct result_of_unrolled_iter_fold< StateRef , It0 , F , 2 > : iter_fold_lvalue_state< typename iter_fold_lvalue_state< StateRef , It0 const , F >::type , typename result_of::next< It0 const >::type const , F > {}; template struct result_of_unrolled_iter_fold< StateRef , It0 , F , 1 > : iter_fold_lvalue_state< StateRef , It0 const , F > {}; template struct result_of_unrolled_iter_fold< StateRef , It0 , F , 0 > { typedef StateRef type; }; template struct result_of_first_unrollediter_fold { typedef typename result_of_unrolled_iter_fold< typename fusion::detail::result_of_with_decltype< F( StateRef, It0 const& ) >::type , typename result_of::next< It0 const >::type , F , SeqSize-1 >::type type; }; template struct iter_fold_impl { typedef typename result_of_first_unrollediter_fold< StateRef , typename result_of::begin::type , F , SeqSize >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(StateRef state, Seq& seq, F f) { typedef unrolled_iter_fold< type , SeqSize > unrolled_impl; return unrolled_impl::call( state, fusion::begin(seq), f); } }; template struct iter_fold_impl<0,StateRef,Seq,F> { typedef StateRef type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static StateRef call(StateRef state, Seq&, F) { return static_cast(state); } }; template struct result_of_iter_fold : iter_fold_impl< result_of::size::value , typename add_reference< typename add_const::type >::type , Seq , F > {}; } namespace result_of { template struct iter_fold : detail::result_of_iter_fold< Seq , State , F , traits::is_segmented::type::value > {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::iter_fold< Seq , State const , F >::type iter_fold(Seq& seq, State const& state, F f) { return result_of::iter_fold::call( state, seq, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::iter_fold< Seq const , State const , F >::type iter_fold(Seq const& seq, State const& state, F f) { return result_of::iter_fold::call( state, seq, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::iter_fold< Seq , State const , F >::type iter_fold(Seq& seq, State& state, F f) { return result_of::iter_fold::call( state, seq, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::iter_fold< Seq const , State const , F >::type iter_fold(Seq const& seq, State& state, F f) { return result_of::iter_fold::call( state, seq, f); } }} KWStyle-master/Utilities/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp000066400000000000000000000311701265471724600334510ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009-2010 Christopher Schmidt Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct reverse_fold_lvalue_state : fusion::detail::result_of_with_decltype< F( typename add_reference::type>::type, typename fusion::result_of::deref::type) > {}; template struct unrolled_reverse_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_3(State3 const& state3,It3 const& it3,F& f) { return unrolled_reverse_fold< Result , N-4 >::call( f(state3,fusion::deref(it3)), fusion::prior(it3), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_2(State2 const& state2,It2 const& it2,F& f) { return call_3( f(state2,fusion::deref(it2)), fusion::prior(it2), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_1(State1 const& state1,It1 const& it1,F& f) { return call_2( f(state1,fusion::deref(it1)), fusion::prior(it1), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return call_1( f(state,fusion::deref(it0)), fusion::prior(it0), f); } }; template struct unrolled_reverse_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_2(State2 const& state2,It2 const& it2,F& f) { return f(state2,fusion::deref(it2)); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_1(State1 const& state1,It1 const& it1,F& f) { return call_2( f(state1,fusion::deref(it1)), fusion::prior(it1), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return call_1( f(state,fusion::deref(it0)), fusion::prior(it0), f); } }; template struct unrolled_reverse_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_1(State1 const& state1,It1 const& it1,F& f) { return f(state1,fusion::deref(it1)); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return call_1( f(state,fusion::deref(it0)), fusion::prior(it0), f); } }; template struct unrolled_reverse_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return f(state, fusion::deref(it0)); } }; template struct unrolled_reverse_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const&, F) { return static_cast(state); } }; template struct result_of_unrolled_reverse_fold { typedef typename reverse_fold_lvalue_state< StateRef , It0 const , F >::type rest1; typedef typename result_of::prior< It0 const >::type it1; typedef typename reverse_fold_lvalue_state< rest1 , it1 , F >::type rest2; typedef typename result_of::prior::type it2; typedef typename reverse_fold_lvalue_state< rest2 , it2 , F >::type rest3; typedef typename result_of::prior::type it3; typedef typename result_of_unrolled_reverse_fold< typename reverse_fold_lvalue_state< rest3 , it3 , F >::type , typename result_of::prior< it3 >::type , F , N-4 >::type type; }; template struct result_of_unrolled_reverse_fold< StateRef , It0 , F , 3 > { typedef typename reverse_fold_lvalue_state< StateRef , It0 const , F >::type rest1; typedef typename result_of::prior< It0 const >::type it1; typedef typename reverse_fold_lvalue_state< typename reverse_fold_lvalue_state< rest1 , it1 , F >::type , typename result_of::prior< it1 const >::type const , F >::type type; }; template struct result_of_unrolled_reverse_fold< StateRef , It0 , F , 2 > : reverse_fold_lvalue_state< typename reverse_fold_lvalue_state< StateRef , It0 const , F >::type , typename result_of::prior< It0 const >::type const , F > {}; template struct result_of_unrolled_reverse_fold< StateRef , It0 , F , 1 > : reverse_fold_lvalue_state< StateRef , It0 const , F > {}; template struct result_of_unrolled_reverse_fold< StateRef , It0 , F , 0 > { typedef StateRef type; }; template struct result_of_first_unrolledreverse_fold { typedef typename result_of_unrolled_reverse_fold< typename fusion::detail::result_of_with_decltype< F( StateRef, typename fusion::result_of::deref< It0 const>::type ) >::type , typename result_of::prior< It0 const >::type , F , SeqSize-1 >::type type; }; template struct reverse_fold_impl { typedef typename result_of_first_unrolledreverse_fold< StateRef , typename fusion::result_of::prior< typename result_of::end::type >::type , F , SeqSize >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(StateRef state, Seq& seq, F f) { typedef unrolled_reverse_fold< type , SeqSize > unrolled_impl; return unrolled_impl::call( state, fusion::prior( fusion::end(seq)), f); } }; template struct reverse_fold_impl<0,StateRef,Seq,F> { typedef StateRef type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static StateRef call(StateRef state, Seq&, F) { return static_cast(state); } }; template struct result_of_reverse_fold : reverse_fold_impl< result_of::size::value , typename add_reference< typename add_const::type >::type , Seq , F > {}; } namespace result_of { template struct reverse_fold : detail::result_of_reverse_fold< Seq , State , F , traits::is_segmented::type::value > {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_fold< Seq , State const , F >::type reverse_fold(Seq& seq, State const& state, F f) { return result_of::reverse_fold::call( state, seq, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_fold< Seq const , State const , F >::type reverse_fold(Seq const& seq, State const& state, F f) { return result_of::reverse_fold::call( state, seq, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_fold< Seq , State const , F >::type reverse_fold(Seq& seq, State& state, F f) { return result_of::reverse_fold::call( state, seq, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_fold< Seq const , State const , F >::type reverse_fold(Seq const& seq, State& state, F f) { return result_of::reverse_fold::call( state, seq, f); } }} KWStyle-master/Utilities/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp000066400000000000000000000311551265471724600344770ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct reverse_iter_fold_lvalue_state : fusion::detail::result_of_with_decltype< F( typename add_reference::type>::type, It&) > {}; template struct unrolled_reverse_iter_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_3(State3 const& state3,It3 const& it3,F& f) { return unrolled_reverse_iter_fold< Result , N-4 >::call( f(state3,it3), fusion::prior(it3), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_2(State2 const& state2,It2 const& it2,F& f) { return call_3( f(state2,it2), fusion::prior(it2), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_1(State1 const& state1,It1 const& it1,F& f) { return call_2( f(state1,it1), fusion::prior(it1), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return call_1( f(state,it0), fusion::prior(it0), f); } }; template struct unrolled_reverse_iter_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_2(State2 const& state2,It2 const& it2,F& f) { return f(state2,it2); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_1(State1 const& state1,It1 const& it1,F& f) { return call_2( f(state1,it1), fusion::prior(it1), f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return call_1( f(state,it0), fusion::prior(it0), f); } }; template struct unrolled_reverse_iter_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call_1(State1 const& state1,It1 const& it1,F& f) { return f(state1,it1); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return call_1( f(state,it0), fusion::prior(it0), f); } }; template struct unrolled_reverse_iter_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { return f(state, it0); } }; template struct unrolled_reverse_iter_fold { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const&, F) { return static_cast(state); } }; template struct result_of_unrolled_reverse_iter_fold { typedef typename reverse_iter_fold_lvalue_state< StateRef , It0 const , F >::type rest1; typedef typename result_of::prior< It0 const >::type it1; typedef typename reverse_iter_fold_lvalue_state< rest1 , it1 , F >::type rest2; typedef typename result_of::prior::type it2; typedef typename reverse_iter_fold_lvalue_state< rest2 , it2 , F >::type rest3; typedef typename result_of::prior::type it3; typedef typename result_of_unrolled_reverse_iter_fold< typename reverse_iter_fold_lvalue_state< rest3 , it3 , F >::type , typename result_of::prior< it3 >::type , F , N-4 >::type type; }; template struct result_of_unrolled_reverse_iter_fold< StateRef , It0 , F , 3 > { typedef typename reverse_iter_fold_lvalue_state< StateRef , It0 const , F >::type rest1; typedef typename result_of::prior< It0 const >::type it1; typedef typename reverse_iter_fold_lvalue_state< typename reverse_iter_fold_lvalue_state< rest1 , it1 , F >::type , typename result_of::prior< it1 const >::type const , F >::type type; }; template struct result_of_unrolled_reverse_iter_fold< StateRef , It0 , F , 2 > : reverse_iter_fold_lvalue_state< typename reverse_iter_fold_lvalue_state< StateRef , It0 const , F >::type , typename result_of::prior< It0 const >::type const , F > {}; template struct result_of_unrolled_reverse_iter_fold< StateRef , It0 , F , 1 > : reverse_iter_fold_lvalue_state< StateRef , It0 const , F > {}; template struct result_of_unrolled_reverse_iter_fold< StateRef , It0 , F , 0 > { typedef StateRef type; }; template struct result_of_first_unrolledreverse_iter_fold { typedef typename result_of_unrolled_reverse_iter_fold< typename fusion::detail::result_of_with_decltype< F( StateRef, It0 const& ) >::type , typename result_of::prior< It0 const >::type , F , SeqSize-1 >::type type; }; template struct reverse_iter_fold_impl { typedef typename result_of_first_unrolledreverse_iter_fold< StateRef , typename fusion::result_of::prior< typename result_of::end::type >::type , F , SeqSize >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(StateRef state, Seq& seq, F f) { typedef unrolled_reverse_iter_fold< type , SeqSize > unrolled_impl; return unrolled_impl::call( state, fusion::prior( fusion::end(seq)), f); } }; template struct reverse_iter_fold_impl<0,StateRef,Seq,F> { typedef StateRef type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static StateRef call(StateRef state, Seq&, F) { return static_cast(state); } }; template struct result_of_reverse_iter_fold : reverse_iter_fold_impl< result_of::size::value , typename add_reference< typename add_const::type >::type , Seq , F > {}; } namespace result_of { template struct reverse_iter_fold : detail::result_of_reverse_iter_fold< Seq , State , F , traits::is_segmented::type::value > {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_iter_fold< Seq , State const , F >::type reverse_iter_fold(Seq& seq, State const& state, F f) { return result_of::reverse_iter_fold::call( state, seq, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_iter_fold< Seq const , State const , F >::type reverse_iter_fold(Seq const& seq, State const& state, F f) { return result_of::reverse_iter_fold::call( state, seq, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_iter_fold< Seq , State const , F >::type reverse_iter_fold(Seq& seq, State& state, F f) { return result_of::reverse_iter_fold::call( state, seq, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_iter_fold< Seq const , State const , F >::type reverse_iter_fold(Seq const& seq, State& state, F f) { return result_of::reverse_iter_fold::call( state, seq, f); } }} KWStyle-master/Utilities/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp000066400000000000000000000040741265471724600312560ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_FOLD_S_HPP_INCLUDED) #define BOOST_FUSION_FOLD_S_HPP_INCLUDED #include #include #include namespace boost { namespace fusion { namespace detail { template struct segmented_fold_fun { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit segmented_fold_fun(Fun const& f) : fun(f) {} Fun const& fun; template struct apply { typedef typename result_of::fold::type type; typedef mpl::true_ continue_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const& state, Context const&, segmented_fold_fun const& fun) { return fusion::fold(seq, state, fun.fun); } }; }; // The default implementation of this lives in detail/fold.hpp template struct result_of_fold; template struct result_of_fold { typedef typename result_of::segmented_fold_until< Sequence, State, segmented_fold_fun >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(State& state, Sequence& seq, Fun fun) { return fusion::segmented_fold_until(seq, state, segmented_fold_fun(fun)); } }; }}} #endif KWStyle-master/Utilities/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp000066400000000000000000000033351265471724600320770ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTED_FOR_EACH_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_FOR_EACH_HPP_INCLUDED #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct segmented_for_each_fun { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit segmented_for_each_fun(Fun const& f) : fun(f) {} Fun const& fun; template struct apply { typedef void_ type; typedef mpl::true_ continue_type; BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const&, Context const&, segmented_for_each_fun const& fun) { fusion::for_each(seq, fun.fun); return void_(); } }; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void for_each(Sequence& seq, F const& f, mpl::true_) // segmented implementation { fusion::segmented_fold_until(seq, void_(), segmented_for_each_fun(f)); } }}} #endif KWStyle-master/Utilities/boost/fusion/algorithm/iteration/fold.hpp000066400000000000000000000051131265471724600257540ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2007 Dan Marsden Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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_FUSION_ALGORITHM_ITERATION_FOLD_HPP #define BOOST_FUSION_ALGORITHM_ITERATION_FOLD_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/fold.hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2007 Dan Marsden Copyright (c) 2009-2010 Christopher Schmidt Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif #include #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #include #endif KWStyle-master/Utilities/boost/fusion/algorithm/iteration/fold_fwd.hpp000066400000000000000000000030631265471724600266160ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #ifndef BOOST_FUSION_ALGORITHM_ITERATION_FOLD_FWD_HPP #define BOOST_FUSION_ALGORITHM_ITERATION_FOLD_FWD_HPP namespace boost { namespace fusion { namespace result_of { template struct fold; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::fold< Seq , State const , F >::type fold(Seq& seq, State const& state, F f); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::fold< Seq const , State const , F >::type fold(Seq const& seq, State const& state, F f); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::fold< Seq , State const , F >::type fold(Seq& seq, State& state, F f); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::fold< Seq const , State const , F >::type fold(Seq const& seq, State& state, F f); }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/iteration/for_each.hpp000066400000000000000000000032641265471724600266030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Copyright (c) 2007 Dan Marsden Distributed under the 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_FUSION_FOR_EACH_20070527_0943) #define BOOST_FUSION_FOR_EACH_20070527_0943 #include #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct for_each { typedef void type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename enable_if< traits::is_sequence , void >::type for_each(Sequence& seq, F const& f) { detail::for_each(seq, f, typename traits::is_segmented::type()); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename enable_if< traits::is_sequence , void >::type for_each(Sequence const& seq, F const& f) { detail::for_each(seq, f, typename traits::is_segmented::type()); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/iteration/for_each_fwd.hpp000066400000000000000000000023461265471724600274430ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_FOR_EACH_FWD_HPP_INCLUDED) #define BOOST_FUSION_FOR_EACH_FWD_HPP_INCLUDED #include #include #include namespace boost { namespace fusion { namespace result_of { template struct for_each; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename enable_if< traits::is_sequence , void >::type for_each(Sequence& seq, F const& f); template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename enable_if< traits::is_sequence , void >::type for_each(Sequence const& seq, F const& f); }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/iteration/iter_fold.hpp000066400000000000000000000047461265471724600270120ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_ALGORITHM_ITERATION_ITER_FOLD_HPP #define BOOST_FUSION_ALGORITHM_ITERATION_ITER_FOLD_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define BOOST_FUSION_ITER_FOLD #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/iter_fold.hpp") #endif /*============================================================================= Copyright (c) 2010 Christopher Schmidt Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif #include #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #undef BOOST_FUSION_ITER_FOLD #endif KWStyle-master/Utilities/boost/fusion/algorithm/iteration/iter_fold_fwd.hpp000066400000000000000000000031521265471724600276400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #ifndef BOOST_FUSION_ALGORITHM_ITERATION_ITER_FOLD_FWD_HPP #define BOOST_FUSION_ALGORITHM_ITERATION_ITER_FOLD_FWD_HPP namespace boost { namespace fusion { namespace result_of { template struct iter_fold; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::iter_fold< Seq , State const , F >::type iter_fold(Seq& seq, State const& state, F f); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::iter_fold< Seq const , State const , F >::type iter_fold(Seq const& seq, State const& state, F f); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::iter_fold< Seq , State const , F >::type iter_fold(Seq& seq, State& state, F f); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::iter_fold< Seq const , State const , F >::type iter_fold(Seq const& seq, State& state, F f); }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/iteration/reverse_fold.hpp000066400000000000000000000047621265471724600275200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_HPP #define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define BOOST_FUSION_REVERSE_FOLD #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/reverse_fold.hpp") #endif /*============================================================================= Copyright (c) 2009-2010 Christopher Schmidt Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif #include #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #undef BOOST_FUSION_REVERSE_FOLD #endif KWStyle-master/Utilities/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp000066400000000000000000000032131265471724600303460ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #ifndef BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_FWD_HPP #define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_FWD_HPP namespace boost { namespace fusion { namespace result_of { template struct reverse_fold; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_fold< Seq , State const , F >::type reverse_fold(Seq& seq, State const& state, F f); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_fold< Seq const , State const , F >::type reverse_fold(Seq const& seq, State const& state, F f); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_fold< Seq , State const , F >::type reverse_fold(Seq& seq, State& state, F f); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_fold< Seq const , State const , F >::type reverse_fold(Seq const& seq, State& state, F f); }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp000066400000000000000000000051021265471724600305300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_ALGORITHM_ITERATION_REVERSE_ITER_FOLD_HPP #define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_ITER_FOLD_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define BOOST_FUSION_REVERSE_FOLD #define BOOST_FUSION_ITER_FOLD #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/reverse_iter_fold.hpp") #endif /*============================================================================= Copyright (c) 2010 Christopher Schmidt Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif #include #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #undef BOOST_FUSION_REVERSE_FOLD #undef BOOST_FUSION_ITER_FOLD #endif KWStyle-master/Utilities/boost/fusion/algorithm/iteration/reverse_iter_fold_fwd.hpp000066400000000000000000000033021265471724600313700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #ifndef BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_ITER_FOLD_FWD_HPP #define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_ITER_FOLD_FWD_HPP namespace boost { namespace fusion { namespace result_of { template struct reverse_iter_fold; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_iter_fold< Seq , State const , F >::type reverse_iter_fold(Seq& seq, State const& state, F f); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_iter_fold< Seq const , State const , F >::type reverse_iter_fold(Seq const& seq, State const& state, F f); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_iter_fold< Seq , State const , F >::type reverse_iter_fold(Seq& seq, State& state, F f); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_iter_fold< Seq const , State const , F >::type reverse_iter_fold(Seq const& seq, State& state, F f); }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/query.hpp000066400000000000000000000015321265471724600242000ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ALGORITHM_QUERY_10022005_0549) #define FUSION_ALGORITHM_QUERY_10022005_0549 #include #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/algorithm/query/000077500000000000000000000000001265471724600234665ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/algorithm/query/all.hpp000066400000000000000000000020561265471724600247520ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2007 Dan Marsden Distributed under the 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_FUSION_ALL_05052005_1238) #define BOOST_FUSION_ALL_05052005_1238 #include #include #include namespace boost { namespace fusion { namespace result_of { template struct all { typedef bool type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool all(Sequence const& seq, F f) { return detail::all(seq, f, typename traits::category_of::type()); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/query/any.hpp000066400000000000000000000021061265471724600247650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005 Eric Niebler Copyright (c) 2007 Dan Marsden Distributed under the 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(FUSION_ANY_05052005_1230) #define FUSION_ANY_05052005_1230 #include #include #include namespace boost { namespace fusion { namespace result_of { template struct any { typedef bool type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool any(Sequence const& seq, F f) { return detail::any(seq, f, typename traits::category_of::type()); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/query/count.hpp000066400000000000000000000023611265471724600253310ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 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) ==============================================================================*/ #if !defined(BOOST_FUSION_COUNT_09162005_0150) #define BOOST_FUSION_COUNT_09162005_0150 #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct count { typedef int type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename enable_if< traits::is_sequence , int >::type count(Sequence const& seq, T const& x) { detail::count_compare f(x); return fusion::count_if(seq, f); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/query/count_if.hpp000066400000000000000000000024201265471724600260030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2007 Dan Marsden Distributed under the 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_FUSION_COUNT_IF_09162005_0137) #define BOOST_FUSION_COUNT_IF_09162005_0137 #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct count_if { typedef int type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename enable_if< traits::is_sequence , int >::type count_if(Sequence const& seq, F f) { return detail::count_if( seq, f, typename traits::category_of::type()); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/query/detail/000077500000000000000000000000001265471724600247305ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/algorithm/query/detail/all.hpp000066400000000000000000000100601265471724600262060ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2007 Dan Marsden Distributed under the 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(FUSION_ALL_05052005_1237) #define FUSION_ALL_05052005_1237 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool linear_all(First const&, Last const&, F const&, mpl::true_) { return true; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool linear_all(First const& first, Last const& last, F& f, mpl::false_) { typename result_of::deref::type x = *first; return f(x) && detail::linear_all( fusion::next(first) , last , f , result_of::equal_to::type, Last>()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool all(Sequence const& seq, F f, Tag) { return detail::linear_all( fusion::begin(seq) , fusion::end(seq) , f , result_of::equal_to< typename result_of::begin::type , typename result_of::end::type>()); } template struct unrolled_all { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { return f(*it) && f(*fusion::advance_c<1>(it))&& f(*fusion::advance_c<2>(it)) && f(*fusion::advance_c<3>(it)) && detail::unrolled_all::call(fusion::advance_c<4>(it), f); } }; template<> struct unrolled_all<3> { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { return f(*it) && f(*fusion::advance_c<1>(it)) && f(*fusion::advance_c<2>(it)); } }; template<> struct unrolled_all<2> { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { return f(*it) && f(*fusion::advance_c<1>(it)); } }; template<> struct unrolled_all<1> { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { return f(*it); } }; template<> struct unrolled_all<0> { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& /*it*/, F /*f*/) { return true; } }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool all(Sequence const& seq, F f, random_access_traversal_tag) { typedef typename result_of::begin::type begin; typedef typename result_of::end::type end; return detail::unrolled_all::type::value>::call( fusion::begin(seq), f); } }}} #endif KWStyle-master/Utilities/boost/fusion/algorithm/query/detail/any.hpp000066400000000000000000000101621265471724600262300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005 Eric Niebler Copyright (c) 2007 Dan Marsden Distributed under the 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(FUSION_ANY_05052005_1229) #define FUSION_ANY_05052005_1229 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct random_access_traversal_tag; namespace detail { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool linear_any(First const&, Last const&, F const&, mpl::true_) { return false; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool linear_any(First const& first, Last const& last, F& f, mpl::false_) { typename result_of::deref::type x = *first; return f(x) || detail::linear_any( fusion::next(first) , last , f , result_of::equal_to::type, Last>()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool any(Sequence const& seq, F f, Tag) { return detail::linear_any( fusion::begin(seq) , fusion::end(seq) , f , result_of::equal_to< typename result_of::begin::type , typename result_of::end::type>()); } template struct unrolled_any { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { return f(*it) || f(*fusion::advance_c<1>(it))|| f(*fusion::advance_c<2>(it)) || f(*fusion::advance_c<3>(it)) || detail::unrolled_any::call(fusion::advance_c<4>(it), f); } }; template<> struct unrolled_any<3> { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { return f(*it) || f(*fusion::advance_c<1>(it)) || f(*fusion::advance_c<2>(it)); } }; template<> struct unrolled_any<2> { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { return f(*it) || f(*fusion::advance_c<1>(it)); } }; template<> struct unrolled_any<1> { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { return f(*it); } }; template<> struct unrolled_any<0> { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const&, F) { return false; } }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool any(Sequence const& seq, F f, random_access_traversal_tag) { typedef typename result_of::begin::type begin; typedef typename result_of::end::type end; return detail::unrolled_any::type::value>::call( fusion::begin(seq), f); } }}} #endif KWStyle-master/Utilities/boost/fusion/algorithm/query/detail/count.hpp000066400000000000000000000042741265471724600266000ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_COUNT_09162005_0158) #define FUSION_COUNT_09162005_0158 #include #include #include #include #include #if defined (BOOST_MSVC) # pragma warning(push) # pragma warning (disable: 4512) // assignment operator could not be generated. #endif namespace boost { namespace fusion { namespace detail { template struct compare_convertible; // T1 is convertible to T2 or vice versa template <> struct compare_convertible { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(T1 const& x, T2 const& y) { return x == y; } }; // T1 is NOT convertible to T2 NOR vice versa template <> struct compare_convertible { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(T1 const&, T2 const&) { return false; } }; template struct count_compare { typedef typename detail::call_param::type param; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED count_compare(param in_x) : x(in_x) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED bool operator()(T2 const& y) const { return compare_convertible< mpl::or_< is_convertible , is_convertible >::value >::call(x, y); } param x; }; }}} #if defined (BOOST_MSVC) # pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/fusion/algorithm/query/detail/count_if.hpp000066400000000000000000000117171265471724600272560ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2007 Dan Marsden Distributed under the 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_FUSION_COUNT_IF_09162005_0141) #define BOOST_FUSION_COUNT_IF_09162005_0141 #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct random_access_traversal_tag; namespace detail { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline int linear_count_if(First const&, Last const&, F const&, mpl::true_) { return 0; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline int linear_count_if(First const& first, Last const& last, F& f, mpl::false_) { int n = detail::linear_count_if( fusion::next(first) , last , f , result_of::equal_to::type, Last>()); if (f(*first)) ++n; return n; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline int count_if(Sequence const& seq, F f, Tag) { return detail::linear_count_if( fusion::begin(seq) , fusion::end(seq) , f , result_of::equal_to< typename result_of::begin::type , typename result_of::end::type>()); } template struct unrolled_count_if { template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static int call(I0 const& i0, F f) { int ct = unrolled_count_if:: call(fusion::advance_c<4>(i0), f); if(f(*i0)) ++ct; typedef typename result_of::next::type I1; I1 i1(fusion::next(i0)); if(f(*i1)) ++ct; typedef typename result_of::next::type I2; I2 i2(fusion::next(i1)); if(f(*i2)) ++ct; typedef typename result_of::next::type I3; I3 i3(fusion::next(i2)); if(f(*i3)) ++ct; return ct; } }; template<> struct unrolled_count_if<3> { template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static int call(I0 const& i0, F f) { int ct = 0; if(f(*i0)) ++ct; typedef typename result_of::next::type I1; I1 i1(fusion::next(i0)); if(f(*i1)) ++ct; typedef typename result_of::next::type I2; I2 i2(fusion::next(i1)); if(f(*i2)) ++ct; return ct; } }; template<> struct unrolled_count_if<2> { template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static int call(I0 const& i0, F f) { int ct = 0; if(f(*i0)) ++ct; typedef typename result_of::next::type I1; I1 i1(fusion::next(i0)); if(f(*i1)) ++ct; return ct; } }; template<> struct unrolled_count_if<1> { template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static int call(I0 const& i0, F f) { int ct = 0; if(f(*i0)) ++ct; return ct; } }; template<> struct unrolled_count_if<0> { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static int call(I0 const&, F) { return 0; } }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline int count_if(Sequence const& seq, F f, random_access_traversal_tag) { typedef typename result_of::begin::type begin; typedef typename result_of::end::type end; return detail::unrolled_count_if::type::value>:: call(fusion::begin(seq), f); } }}} #endif KWStyle-master/Utilities/boost/fusion/algorithm/query/detail/find_if.hpp000066400000000000000000000173521265471724600270470ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2007 Dan Marsden Copyright (c) 2009 Christopher Schmidt Distributed under the 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(FUSION_FIND_IF_05052005_1107) #define FUSION_FIND_IF_05052005_1107 #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct random_access_traversal_tag; namespace detail { template struct apply_filter { typedef typename mpl::apply1< Pred, Iterator>::type type; BOOST_STATIC_CONSTANT(int, value = type::value); }; template struct main_find_if; template struct recursive_find_if { typedef typename main_find_if< typename result_of::next::type, Last, Pred >::type type; }; template struct main_find_if { typedef mpl::or_< result_of::equal_to , apply_filter > filter; typedef typename mpl::eval_if< filter , mpl::identity , recursive_find_if >::type type; }; template< typename First, typename Last, typename Pred, bool> struct choose_find_if; template struct choose_find_if : main_find_if {}; template struct unroll_again; template struct apply_offset_filter { typedef typename result_of::advance_c::type Shifted; typedef typename mpl::apply1< Pred , Shifted >::type type; BOOST_STATIC_CONSTANT(int, value = type::value); }; template struct unrolled_find_if { typedef typename mpl::eval_if< apply_filter, mpl::identity, mpl::eval_if< apply_offset_filter, result_of::advance_c, mpl::eval_if< apply_offset_filter, result_of::advance_c, mpl::eval_if< apply_offset_filter, result_of::advance_c, unroll_again< Iter, Pred, n, 4> > > > >::type type; }; template struct unrolled_find_if { typedef typename mpl::eval_if< apply_filter, mpl::identity, mpl::eval_if< apply_offset_filter, result_of::advance_c, mpl::eval_if< apply_offset_filter, result_of::advance_c, result_of::advance_c > > >::type type; }; template struct unrolled_find_if { typedef typename mpl::eval_if< apply_filter, mpl::identity, mpl::eval_if< apply_offset_filter, result_of::advance_c, result_of::advance_c > >::type type; }; template struct unrolled_find_if { typedef typename mpl::eval_if< apply_filter, mpl::identity, result_of::advance_c >::type type; }; template struct unroll_again { typedef typename unrolled_find_if< typename result_of::advance_c::type, Pred, n-unrolling>::type type; }; template struct unrolled_find_if { typedef Iter type; }; template struct choose_find_if { typedef typename result_of::distance::type N; typedef typename unrolled_find_if::type type; }; template struct static_find_if { typedef typename choose_find_if< First , Last , typename mpl::lambda::type , is_base_of::type>::value >::type type; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type recursive_call(Iterator const& iter, mpl::true_) { return iter; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type recursive_call(Iterator const& iter, mpl::false_) { return recursive_call(fusion::next(iter)); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type recursive_call(Iterator const& iter) { typedef result_of::equal_to found; return recursive_call(iter, found()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type choose_call(Iterator const& iter, Tag) { return recursive_call(iter); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type choose_call(Iterator const& iter, random_access_traversal_tag) { typedef typename result_of::distance::type N; return fusion::advance(iter); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type iter_call(Iterator const& iter) { return choose_call(iter, typename traits::category_of::type()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return iter_call(fusion::begin(seq)); } }; template struct result_of_find_if { typedef static_find_if< typename result_of::begin::type , typename result_of::end::type , Pred > filter; typedef typename filter::type type; }; }}} #endif KWStyle-master/Utilities/boost/fusion/algorithm/query/detail/segmented_find.hpp000066400000000000000000000060751265471724600304240ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTED_FIND_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_FIND_HPP_INCLUDED #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct segmented_find_fun { template struct apply { typedef typename result_of::find::type iterator_type; typedef typename result_of::equal_to< iterator_type , typename result_of::end::type >::type continue_type; typedef typename mpl::eval_if< continue_type , mpl::identity , result_of::make_segmented_iterator< iterator_type , Context > >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const&state, Context const& context, segmented_find_fun) { return call_impl(seq, state, context, continue_type()); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call_impl(Sequence&, State const&state, Context const&, mpl::true_) { return state; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call_impl(Sequence& seq, State const&, Context const& context, mpl::false_) { return fusion::make_segmented_iterator(fusion::find(seq), context); } }; }; template struct result_of_segmented_find { struct filter { typedef typename result_of::segmented_fold_until< Sequence , typename result_of::end::type , segmented_find_fun >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return fusion::segmented_fold_until( seq , fusion::end(seq) , detail::segmented_find_fun()); } }; typedef typename filter::type type; }; }}} #endif KWStyle-master/Utilities/boost/fusion/algorithm/query/detail/segmented_find_if.hpp000066400000000000000000000061451265471724600311000ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTED_FIND_IF_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_FIND_IF_HPP_INCLUDED #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct segmented_find_if_fun { template struct apply { typedef typename result_of::find_if::type iterator_type; typedef typename result_of::equal_to< iterator_type , typename result_of::end::type >::type continue_type; typedef typename mpl::eval_if< continue_type , mpl::identity , result_of::make_segmented_iterator< iterator_type , Context > >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const&state, Context const& context, segmented_find_if_fun) { return call_impl(seq, state, context, continue_type()); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call_impl(Sequence&, State const&state, Context const&, mpl::true_) { return state; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call_impl(Sequence& seq, State const&, Context const& context, mpl::false_) { return fusion::make_segmented_iterator(fusion::find_if(seq), context); } }; }; template struct result_of_segmented_find_if { struct filter { typedef typename result_of::segmented_fold_until< Sequence , typename result_of::end::type , segmented_find_if_fun >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return fusion::segmented_fold_until( seq , fusion::end(seq) , segmented_find_if_fun()); } }; typedef typename filter::type type; }; }}} #endif KWStyle-master/Utilities/boost/fusion/algorithm/query/find.hpp000066400000000000000000000046361265471724600251300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2011 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) ==============================================================================*/ #if !defined(FUSION_FIND_05052005_1107) #define FUSION_FIND_05052005_1107 #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct find : mpl::if_< traits::is_segmented , detail::result_of_segmented_find , detail::result_of_find_if< Sequence, is_same< typename mpl::if_< traits::is_associative , key_of , value_of >::type , T > > >::type {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const , result_of::find >::type const find(Sequence& seq) { typedef typename result_of::find::filter filter; return filter::call(seq); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::find::type const find(Sequence const& seq) { typedef typename result_of::find::filter filter; return filter::call(seq); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/query/find_fwd.hpp000066400000000000000000000022221265471724600257550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_FIND_FWD_HPP_INCLUDED) #define BOOST_FUSION_FIND_FWD_HPP_INCLUDED #include #include #include namespace boost { namespace fusion { namespace result_of { template struct find; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const , result_of::find >::type const find(Sequence& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::find::type const find(Sequence const& seq); }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/query/find_if.hpp000066400000000000000000000044201265471724600255750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2011 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) ==============================================================================*/ #if !defined(FUSION_FIND_IF_05052005_1108) #define FUSION_FIND_IF_05052005_1108 #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct find_if : mpl::if_< traits::is_segmented , detail::result_of_segmented_find_if , detail::result_of_find_if< Sequence, mpl::bind1< typename mpl::lambda::type , mpl::bind1, mpl::_1> > > >::type {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const , result_of::find_if >::type find_if(Sequence& seq) { typedef typename result_of::find_if::filter filter; return filter::call(seq); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::find_if::type const find_if(Sequence const& seq) { typedef typename result_of::find_if::filter filter; return filter::call(seq); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/query/find_if_fwd.hpp000066400000000000000000000023341265471724600264370ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_FIND_IF_FWD_HPP_INCLUDED) #define BOOST_FUSION_FIND_IF_FWD_HPP_INCLUDED #include #include #include // Forward declaration of find_if algorithm namespace boost { namespace fusion { namespace result_of { template struct find_if; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const , result_of::find_if >::type find_if(Sequence& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::find_if::type const find_if(Sequence const& seq); }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/query/none.hpp000066400000000000000000000017141265471724600251410ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2007 Dan Marsden Distributed under the 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_FUSION_NONE_07062005_1128) #define BOOST_FUSION_NONE_07062005_1128 #include #include namespace boost { namespace fusion { namespace result_of { template struct none { typedef bool type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool none(Sequence const& seq, F f) { return !fusion::any(seq, f); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation.hpp000066400000000000000000000033361265471724600261050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ALGORITHM_TRANSFORMATION_10022005_0551) #define FUSION_ALGORITHM_TRANSFORMATION_10022005_0551 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/000077500000000000000000000000001265471724600253675ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/algorithm/transformation/clear.hpp000066400000000000000000000016651265471724600271760ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_CLEAR_09172005_1127) #define FUSION_CLEAR_09172005_1127 #include #include namespace boost { namespace fusion { namespace result_of { template struct clear { typedef vector0<> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::clear::type clear(Sequence const& /*seq*/) { return vector0<>(); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/detail/000077500000000000000000000000001265471724600266315ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/algorithm/transformation/detail/preprocessed/000077500000000000000000000000001265471724600313275ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/algorithm/transformation/detail/preprocessed/zip.hpp000066400000000000000000000020631265471724600326430ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_ZIP_SEQUENCES <= 10 #include #elif FUSION_MAX_ZIP_SEQUENCES <= 20 #include #elif FUSION_MAX_ZIP_SEQUENCES <= 30 #include #elif FUSION_MAX_ZIP_SEQUENCES <= 40 #include #elif FUSION_MAX_ZIP_SEQUENCES <= 50 #include #else #error "FUSION_MAX_ZIP_SEQUENCES out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/detail/preprocessed/zip10.hpp000066400000000000000000000262101265471724600330040ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template struct zip; } namespace result_of { template< typename T0 , typename T1 > struct zip< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1) { fusion::vector seqs( t0 , t1); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 > struct zip< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2) { fusion::vector seqs( t0 , t1 , t2); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 > struct zip< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) { fusion::vector seqs( t0 , t1 , t2 , t3); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > struct zip< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9); return typename result_of::zip::type( seqs); } }} KWStyle-master/Utilities/boost/fusion/algorithm/transformation/detail/preprocessed/zip20.hpp000066400000000000000000001012141265471724600330030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template struct zip; } namespace result_of { template< typename T0 , typename T1 > struct zip< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1) { fusion::vector seqs( t0 , t1); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 > struct zip< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2) { fusion::vector seqs( t0 , t1 , t2); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 > struct zip< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) { fusion::vector seqs( t0 , t1 , t2 , t3); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > struct zip< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10); return typename result_of::zip::type( seqs); } namespace result_of { template< 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19); return typename result_of::zip::type( seqs); } }} KWStyle-master/Utilities/boost/fusion/algorithm/transformation/detail/preprocessed/zip30.hpp000066400000000000000000002016101265471724600330050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template struct zip; } namespace result_of { template< typename T0 , typename T1 > struct zip< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1) { fusion::vector seqs( t0 , t1); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 > struct zip< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2) { fusion::vector seqs( t0 , t1 , t2); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 > struct zip< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) { fusion::vector seqs( t0 , t1 , t2 , t3); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > struct zip< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10); return typename result_of::zip::type( seqs); } namespace result_of { template< 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } }} KWStyle-master/Utilities/boost/fusion/algorithm/transformation/detail/preprocessed/zip40.hpp000066400000000000000000003275741265471724600330300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template struct zip; } namespace result_of { template< typename T0 , typename T1 > struct zip< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1) { fusion::vector seqs( t0 , t1); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 > struct zip< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2) { fusion::vector seqs( t0 , t1 , t2); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 > struct zip< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) { fusion::vector seqs( t0 , t1 , t2 , t3); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > struct zip< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10); return typename result_of::zip::type( seqs); } namespace result_of { template< 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } }} KWStyle-master/Utilities/boost/fusion/algorithm/transformation/detail/preprocessed/zip50.hpp000066400000000000000000005031501265471724600330130ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template struct zip; } namespace result_of { template< typename T0 , typename T1 > struct zip< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1) { fusion::vector seqs( t0 , t1); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 > struct zip< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2) { fusion::vector seqs( t0 , t1 , t2); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 > struct zip< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) { fusion::vector seqs( t0 , t1 , t2 , t3); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > struct zip< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10); return typename result_of::zip::type( seqs); } namespace result_of { template< 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) { fusion::vector seqs( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } namespace result_of { template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , 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 zip< 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 , void_ > { typedef mpl::vector< 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 > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48 , T49 const& t49) { fusion::vector seqs( 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); return typename result_of::zip::type( seqs); } }} KWStyle-master/Utilities/boost/fusion/algorithm/transformation/detail/replace.hpp000066400000000000000000000042601265471724600307570ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_REPLACE_08182005_0841) #define FUSION_REPLACE_08182005_0841 #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct replacer_helper; template <> struct replacer_helper { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static U& call(U& x, T const&, T const&) { return x; } }; template <> struct replacer_helper { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static U call(U& x, T const& old_value, T const& new_value) { return (x == old_value) ? new_value : x; } }; template struct replacer { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED replacer(T const& in_old_value, T const& in_new_value) : old_value(in_old_value), new_value(in_new_value) {} template struct result; template struct result(U2)> { typedef typename remove_reference::type value; typedef typename mpl::if_, value, value const&>::type type; }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(U const& x) const { return replacer_helper::value>:: call(x, old_value, new_value); } T old_value; T new_value; }; }}} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/detail/replace_if.hpp000066400000000000000000000042531265471724600314370ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_REPLACE_IF_08182005_0946) #define FUSION_REPLACE_IF_08182005_0946 #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct replacer_if_helper; template <> struct replacer_if_helper { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static U& call(U& x, F&, T const&) { return x; } }; template <> struct replacer_if_helper { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static U call(U& x, F& f, T const& new_value) { return f(x) ? new_value : x; } }; template struct replacer_if { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED replacer_if(F in_f, T const& in_new_value) : f(in_f), new_value(in_new_value) {} template struct result; template struct result(U)> { typedef typename remove_reference::type value; typedef typename mpl::if_, value, value const&>::type type; }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(U const& x) const { return replacer_if_helper::value>:: call(x, f, new_value); } F f; T new_value; }; }}} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/erase.hpp000066400000000000000000000120451265471724600272010ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ERASE_07232005_0534) #define FUSION_ERASE_07232005_0534 #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct compute_erase_last // put this in detail!!! { typedef typename result_of::end::type seq_last_type; typedef typename convert_iterator::type first_type; typedef typename mpl::if_< result_of::equal_to , first_type , typename result_of::next::type >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& first, mpl::false_) { return fusion::next(convert_iterator::call(first)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& first, mpl::true_) { return convert_iterator::call(first); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& first) { return call(first, result_of::equal_to()); } }; struct use_default; template struct fusion_default_help : mpl::if_< is_same , Default , T > { }; template < typename Sequence , typename First , typename Last = use_default> struct erase { typedef typename result_of::begin::type seq_first_type; typedef typename result_of::end::type seq_last_type; BOOST_STATIC_ASSERT((!result_of::equal_to::value)); typedef First FirstType; typedef typename fusion_default_help< Last , typename compute_erase_last::type >::type LastType; typedef typename convert_iterator::type first_type; typedef typename convert_iterator::type last_type; typedef iterator_range left_type; typedef iterator_range right_type; typedef joint_view type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence , typename result_of::erase >::type erase(Sequence const& seq, First const& first) { typedef result_of::erase result_of; typedef typename result_of::left_type left_type; typedef typename result_of::right_type right_type; typedef typename result_of::type result_type; left_type left( fusion::begin(seq) , convert_iterator::call(first)); right_type right( fusion::result_of::compute_erase_last::call(first) , fusion::end(seq)); return result_type(left, right); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::erase::type erase(Sequence const& seq, First const& first, Last const& last) { typedef result_of::erase result_of; typedef typename result_of::left_type left_type; typedef typename result_of::right_type right_type; typedef typename result_of::type result_type; left_type left(fusion::begin(seq), first); right_type right(last, fusion::end(seq)); return result_type(left, right); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/erase_key.hpp000066400000000000000000000022041265471724600300450ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ERASE_KEY_10022005_1851) #define FUSION_ERASE_KEY_10022005_1851 #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct erase_key : erase::type> {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::erase_key::type erase_key(Sequence const& seq) { return erase(seq, find(seq)); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/filter.hpp000066400000000000000000000021601265471724600273640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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(FUSION_FILTER_02122005_1839) #define FUSION_FILTER_02122005_1839 #include #include #include namespace boost { namespace fusion { namespace result_of { template struct filter { typedef filter_view > type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::filter::type filter(Sequence const& seq) { return filter_view >(seq); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/filter_if.hpp000066400000000000000000000020311265471724600300370ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_FILTER_IF_07172005_0818) #define FUSION_FILTER_IF_07172005_0818 #include #include namespace boost { namespace fusion { namespace result_of { template struct filter_if { typedef filter_view type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::filter_if::type filter_if(Sequence const& seq) { return filter_view(seq); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/flatten.hpp000066400000000000000000000023651265471724600275430ustar00rootroot00000000000000/*////////////////////////////////////////////////////////////////////////////// Copyright (c) 2013 Jamboree Distributed under the 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_FUSION_ALGORITHM_FLATTEN_HPP_INCLUDED #define BOOST_FUSION_ALGORITHM_FLATTEN_HPP_INCLUDED #include #include #include namespace boost { namespace fusion { namespace result_of { template struct flatten { typedef flatten_view type; }; }}} namespace boost { namespace fusion { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::flatten::type flatten(Sequence& view) { return flatten_view(view); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::flatten::type flatten(Sequence const& view) { return flatten_view(view); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/insert.hpp000066400000000000000000000056131265471724600274110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_INSERT_07222005_0730) #define FUSION_INSERT_07222005_0730 #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct insert { typedef typename detail::as_fusion_element::type element_type; typedef typename convert_iterator::type pos_type; typedef typename result_of::begin::type first_type; typedef typename result_of::end::type last_type; typedef iterator_range left_type; typedef iterator_range right_type; typedef fusion::single_view single_view; typedef joint_view left_insert_type; typedef joint_view type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence , result_of::insert >::type insert(Sequence const& seq, Position const& pos, T const& x) { typedef result_of::insert< Sequence const, Position, T> result_of; typedef typename result_of::left_type left_type; typedef typename result_of::right_type right_type; typedef typename result_of::single_view single_view; typedef typename result_of::left_insert_type left_insert_type; typedef typename result_of::type result; left_type left(fusion::begin(seq), convert_iterator::call(pos)); right_type right(convert_iterator::call(pos), fusion::end(seq)); single_view insert(x); left_insert_type left_insert(left, insert); return result(left_insert, right); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/insert_range.hpp000066400000000000000000000047361265471724600305720ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_INSERT_RANGE_009172005_1147) #define FUSION_INSERT_RANGE_009172005_1147 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct insert_range { typedef typename convert_iterator::type pos_type; typedef typename result_of::begin::type first_type; typedef typename result_of::end::type last_type; typedef iterator_range left_type; typedef iterator_range right_type; typedef joint_view left_insert_type; typedef joint_view type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::insert_range::type insert_range(Sequence const& seq, Position const& pos, Range const& range) { typedef result_of::insert_range result_of; typedef typename result_of::left_type left_type; typedef typename result_of::right_type right_type; typedef typename result_of::left_insert_type left_insert_type; typedef typename result_of::type result; left_type left(fusion::begin(seq), convert_iterator::call(pos)); right_type right(convert_iterator::call(pos), fusion::end(seq)); left_insert_type left_insert(left, range); return result(left_insert, right); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/join.hpp000066400000000000000000000022031265471724600270340ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_JOIN_200601222109) #define FUSION_JOIN_200601222109 #include #include namespace boost { namespace fusion { namespace result_of { template struct join { typedef joint_view type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::join::type join(LhSequence const& lhs, RhSequence const& rhs) { return typename result_of::join::type( lhs, rhs); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/pop_back.hpp000066400000000000000000000120571265471724600276630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_POP_BACK_09172005_1038) #define FUSION_POP_BACK_09172005_1038 #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { template struct pop_back_iterator : iterator_adapter< pop_back_iterator , Iterator_> { typedef iterator_adapter< pop_back_iterator , Iterator_> base_type; static bool const is_last = IsLast; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED pop_back_iterator(Iterator_ const& iterator_base) : base_type(iterator_base) {} template struct make { typedef pop_back_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(BaseIterator const& i) { return type(i); } }; template struct equal_to_helper : mpl::identity {}; template struct equal_to_helper : result_of::next< typename I::iterator_base_type> {}; template struct equal_to : result_of::equal_to< typename equal_to_helper::type , typename equal_to_helper::type > {}; template struct distance : mpl::minus< typename result_of::distance< typename First::iterator_base_type , typename Last::iterator_base_type >::type , mpl::int_<(Last::is_last?1:0)> >::type {}; template struct prior_impl { typedef typename Iterator::iterator_base_type base_type; typedef typename result_of::prior::type base_prior; typedef pop_back_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(fusion::prior(i.iterator_base)); } }; template struct prior_impl { // If this is the last iterator, we'll have to double back typedef typename Iterator::iterator_base_type base_type; typedef typename result_of::prior< typename result_of::prior::type >::type base_prior; typedef pop_back_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(fusion::prior( fusion::prior(i.iterator_base))); } }; template struct prior : prior_impl {}; }; namespace result_of { template struct pop_back { BOOST_MPL_ASSERT_NOT((result_of::empty)); typedef pop_back_iterator< typename begin::type, false> begin_type; typedef pop_back_iterator< typename end::type, true> end_type; typedef iterator_range type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::pop_back::type pop_back(Sequence const& seq) { typedef result_of::pop_back comp; typedef typename comp::begin_type begin_type; typedef typename comp::end_type end_type; typedef typename comp::type result; return result( begin_type(fusion::begin(seq)) , end_type(fusion::end(seq)) ); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/pop_front.hpp000066400000000000000000000026661265471724600301200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_POP_FRONT_09172005_1115) #define FUSION_POP_FRONT_09172005_1115 #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct pop_front { typedef iterator_range< typename next< typename begin::type >::type , typename end::type > type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::pop_front::type pop_front(Sequence const& seq) { typedef typename result_of::pop_front::type result; return result(fusion::next(fusion::begin(seq)), fusion::end(seq)); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/push_back.hpp000066400000000000000000000031631265471724600300420ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_PUSH_BACK_07162005_0235) #define FUSION_PUSH_BACK_07162005_0235 #include #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct push_back { typedef fusion::single_view::type> single_view; typedef joint_view type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence , result_of::push_back >::type push_back(Sequence const& seq, T const& x) { typedef typename result_of::push_back push_back; typedef typename push_back::single_view single_view; typedef typename push_back::type result; single_view x_(x); return result(seq, x_); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/push_front.hpp000066400000000000000000000031741265471724600302740ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_PUSH_FRONT_07162005_0749) #define FUSION_PUSH_FRONT_07162005_0749 #include #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct push_front { typedef fusion::single_view::type> single_view; typedef joint_view type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence , result_of::push_front >::type push_front(Sequence const& seq, T const& x) { typedef typename result_of::push_front push_front; typedef typename push_front::single_view single_view; typedef typename push_front::type result; single_view x_(x); return result(x_, seq); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/remove.hpp000066400000000000000000000022351265471724600273770ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_REMOVE_07162005_0818) #define FUSION_REMOVE_07162005_0818 #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct remove { typedef filter_view > > type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::remove::type remove(Sequence const& seq) { typedef typename result_of::remove::type result_type; return result_type(seq); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/remove_if.hpp000066400000000000000000000022541265471724600300560ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_REMOVE_IF_07162005_0818) #define FUSION_REMOVE_IF_07162005_0818 #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct remove_if { typedef filter_view > type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::remove_if::type remove_if(Sequence const& seq) { typedef typename result_of::remove_if::type result_type; return result_type(seq); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/replace.hpp000066400000000000000000000026641265471724600275230ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_REPLACE_08182005_0830) #define FUSION_REPLACE_08182005_0830 #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct replace { typedef transform_view > type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename enable_if< traits::is_sequence , typename result_of::replace::type >::type replace(Sequence const& seq, T const& old_value, T const& new_value) { typedef typename result_of::replace::type result; detail::replacer f(old_value, new_value); return result(seq, f); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/replace_if.hpp000066400000000000000000000030131265471724600301660ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_REPLACE_IF_08182005_0939) #define FUSION_REPLACE_IF_08182005_0939 #include #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct replace_if { typedef transform_view > type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename enable_if< traits::is_sequence , typename result_of::replace_if::type >::type replace_if(Sequence const& seq, F pred, T const& new_value) { typedef typename result_of::replace_if::type result; detail::replacer_if f(pred, new_value); return result(seq, f); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/reverse.hpp000066400000000000000000000022111265471724600275470ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_REVERSE_07212005_1230) #define FUSION_REVERSE_07212005_1230 #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct reverse { typedef reverse_view type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename enable_if< traits::is_sequence , reverse_view >::type reverse(Sequence const& view) { return reverse_view(view); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/transform.hpp000066400000000000000000000033361265471724600301200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_TRANSFORM_07052005_1057) #define FUSION_TRANSFORM_07052005_1057 #include #include namespace boost { namespace fusion { struct void_; namespace result_of { template struct transform { typedef transform_view type; }; template #if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) struct transform #else struct transform #endif { typedef transform_view type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::transform::type transform(Sequence const& seq, F f) { return transform_view(seq, f); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::transform::type transform(Sequence1 const& seq1, Sequence2 const& seq2, F f) { return transform_view(seq1, seq2, f); } }} #endif KWStyle-master/Utilities/boost/fusion/algorithm/transformation/zip.hpp000066400000000000000000000101651265471724600267050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_ZIP_HPP_20060125_2058) #define FUSION_ZIP_HPP_20060125_2058 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if !defined(FUSION_MAX_ZIP_SEQUENCES) #define FUSION_MAX_ZIP_SEQUENCES 10 #endif #define FUSION_MAX_ZIP_SEQUENCES_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_ZIP_SEQUENCES)) #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/zip" FUSION_MAX_ZIP_SEQUENCES_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; namespace result_of { template struct zip; } #define FUSION_TEXT(z, n, text) , text #define BOOST_PP_FILENAME_1 \ #define BOOST_PP_ITERATION_LIMITS (2, FUSION_MAX_ZIP_SEQUENCES) #include BOOST_PP_ITERATE() #undef FUSION_TEXT }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else #define ZIP_ITERATION BOOST_PP_ITERATION() namespace result_of { template< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, typename T) > struct zip< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(ZIP_ITERATION), FUSION_MAX_ZIP_SEQUENCES, FUSION_TEXT, void_) > { typedef mpl::vector< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) > sequences; typedef typename mpl::transform >::type ref_params; typedef zip_view::type> type; }; } #define FUSION_REF_PARAM(z, n, data) const T ## n& template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(BOOST_PP_ENUM_BINARY_PARAMS(ZIP_ITERATION, T, const& t)) { fusion::vector seqs( BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, t)); return typename result_of::zip::type( seqs); } #undef FUSION_REF_PARAM #undef ZIP_ITERATION #endif KWStyle-master/Utilities/boost/fusion/container.hpp000066400000000000000000000014031265471724600230240ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_CLASS_10022005_0614) #define FUSION_SEQUENCE_CLASS_10022005_0614 #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/container/000077500000000000000000000000001265471724600223155ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque.hpp000066400000000000000000000013371265471724600241350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_SEQUENCE_CONTAINER_DEQUE_24112006_2036) #define BOOST_FUSION_SEQUENCE_CONTAINER_DEQUE_24112006_2036 #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/container/deque/000077500000000000000000000000001265471724600234205ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque/back_extended_deque.hpp000066400000000000000000000036211265471724600300760ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_BACK_EXTENDED_DEQUE_26112006_2209) #define BOOST_FUSION_BACK_EXTENDED_DEQUE_26112006_2209 #include #include #include #include #include #include namespace boost { namespace fusion { template struct back_extended_deque : detail::keyed_element , sequence_base > { typedef detail::keyed_element base; typedef typename Deque::next_down next_down; typedef mpl::int_<(Deque::next_up::value + 1)> next_up; typedef mpl::int_<(result_of::size::value + 1)> size; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED back_extended_deque(Deque const& deque, Arg const& val) : base(val, deque) {} #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED back_extended_deque(Deque const& deque, Arg& val) : base(val, deque) {} #else template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED back_extended_deque(Deque const& deque, Arg&& val) : base(BOOST_FUSION_FWD_ELEM(Arg, val), deque) {} #endif }; }} #endif KWStyle-master/Utilities/boost/fusion/container/deque/convert.hpp000066400000000000000000000041421265471724600256120ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2013 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_CONVERT_20061213_2207) #define FUSION_CONVERT_20061213_2207 #include #include #include #if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) /////////////////////////////////////////////////////////////////////////////// // C++03 (non-variadic) implementation /////////////////////////////////////////////////////////////////////////////// #include #else /////////////////////////////////////////////////////////////////////////////// // C++11 variadic implementation /////////////////////////////////////////////////////////////////////////////// #include namespace boost { namespace fusion { namespace result_of { template struct as_deque : detail::build_deque< typename result_of::begin::type , typename result_of::end::type > { }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_deque::type as_deque(Sequence& seq) { typedef result_of::as_deque gen; return gen::call(fusion::begin(seq), fusion::end(seq)); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_deque::type as_deque(Sequence const& seq) { typedef result_of::as_deque gen; return gen::call(fusion::begin(seq), fusion::end(seq)); } }} #endif #endif KWStyle-master/Utilities/boost/fusion/container/deque/deque.hpp000066400000000000000000000151241265471724600252370ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_DEQUE_26112006_1649) #define BOOST_FUSION_DEQUE_26112006_1649 # include /////////////////////////////////////////////////////////////////////////////// // Without variadics, we will use the PP version /////////////////////////////////////////////////////////////////////////////// #if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) # include #else /////////////////////////////////////////////////////////////////////////////// // C++11 interface /////////////////////////////////////////////////////////////////////////////// #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct deque_tag; template struct deque : detail::nil_keyed_element { typedef deque_tag fusion_tag; typedef bidirectional_traversal_tag category; typedef mpl::int_<0> size; typedef mpl::int_<0> next_up; typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const&, typename enable_if< mpl::and_< traits::is_sequence , result_of::empty>>::type* /*dummy*/ = 0) BOOST_NOEXCEPT {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() BOOST_NOEXCEPT {} }; template struct deque : detail::deque_keyed_values::type , sequence_base> { typedef deque_tag fusion_tag; typedef bidirectional_traversal_tag category; typedef typename detail::deque_keyed_values::type base; typedef mpl::int_<(sizeof ...(Tail) + 1)> size; typedef mpl::int_ next_up; typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() {} template >::type > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque const& seq) : base(seq) {} template >::type > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque& seq) : base(seq) {} #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template >::type > BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque&& seq) : base(std::forward>(seq)) {} #endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque const& seq) : base(seq) {} #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque&& seq) : base(std::forward(seq)) {} #endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(typename detail::call_param::type head , typename detail::call_param::type... tail) : base(detail::deque_keyed_values::construct(head, tail...)) {} #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template >::type > BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(Head_&& head, Tail_&&... tail) : base(detail::deque_keyed_values ::forward_(BOOST_FUSION_FWD_ELEM(Head_, head), BOOST_FUSION_FWD_ELEM(Tail_, tail)...)) {} #else template >::type > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(Head_ const& head, Tail_ const&... tail) : base(detail::deque_keyed_values::construct(head, tail...)) {} #endif template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(Sequence const& seq , typename disable_if >::type* /*dummy*/ = 0) : base(base::from_iterator(fusion::begin(seq))) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(deque const& rhs) { base::operator=(rhs); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T const& rhs) { base::operator=(rhs); return *this; } #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T&& rhs) { base::operator=(BOOST_FUSION_FWD_ELEM(T, rhs)); return *this; } #endif }; }} #endif #endif KWStyle-master/Utilities/boost/fusion/container/deque/deque_fwd.hpp000066400000000000000000000034141265471724600260760ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2007 Dan Marsden Distributed under the 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(FUSION_DEQUE_FORWARD_02092007_0749) #define FUSION_DEQUE_FORWARD_02092007_0749 #include #include #if (defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ || defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)) \ || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) # if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) # undef BOOST_FUSION_HAS_VARIADIC_DEQUE # endif #else # if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) # define BOOST_FUSION_HAS_VARIADIC_DEQUE # endif #endif // MSVC variadics at this point in time is not ready yet (ICE!) #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900)) # if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) # undef BOOST_FUSION_HAS_VARIADIC_DEQUE # endif #endif /////////////////////////////////////////////////////////////////////////////// // With no variadics, we will use the C++03 version /////////////////////////////////////////////////////////////////////////////// #if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) # include #else /////////////////////////////////////////////////////////////////////////////// // C++11 interface /////////////////////////////////////////////////////////////////////////////// namespace boost { namespace fusion { template struct deque; }} #endif #endif KWStyle-master/Utilities/boost/fusion/container/deque/deque_iterator.hpp000066400000000000000000000075451265471724600271600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_DEQUE_ITERATOR_26112006_2154) #define BOOST_FUSION_DEQUE_ITERATOR_26112006_2154 #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct bidirectional_traversal_tag; template struct deque_iterator : iterator_facade, bidirectional_traversal_tag> { typedef Seq sequence; typedef mpl::int_ index; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque_iterator(Seq& seq) : seq_(seq) {} template struct value_of : detail::keyed_element_value_at< typename Iterator::sequence, typename Iterator::index> {}; template struct deref { typedef typename detail::keyed_element_value_at< typename Iterator::sequence, typename Iterator::index>::type element_type; typedef typename add_reference< typename mpl::eval_if< is_const, add_const, mpl::identity >::type>::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& it) { return it.seq_.get(typename Iterator::index()); } }; template struct advance { typedef typename Iterator::index index; typedef typename Iterator::sequence sequence; typedef deque_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.seq_); } }; template struct next : advance > {}; template struct prior : advance > {}; template struct distance : mpl::minus { typedef typename mpl::minus< typename I2::index, typename I1::index >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(I1 const&, I2 const&) { return type(); } }; template struct equal_to : mpl::equal_to {}; Seq& seq_; private: // silence MSVC warning C4512: assignment operator could not be generated deque_iterator& operator= (deque_iterator const&); }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::deque_iterator > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/000077500000000000000000000000001265471724600246625ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque/detail/at_impl.hpp000066400000000000000000000042501265471724600270210ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_DEQUE_AT_IMPL_09122006_2017) #define BOOST_FUSION_DEQUE_AT_IMPL_09122006_2017 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct deque_tag; namespace extension { template struct at_impl; template<> struct at_impl { template struct apply { typedef typename Sequence::next_up next_up; typedef typename Sequence::next_down next_down; BOOST_MPL_ASSERT_RELATION(next_down::value, !=, next_up::value); static int const offset = next_down::value + 1; typedef mpl::int_<(N::value + offset)> adjusted_index; typedef typename detail::keyed_element_value_at::type element_type; typedef typename add_reference< typename mpl::eval_if< is_const, add_const, mpl::identity >::type >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return seq.get(adjusted_index()); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/begin_impl.hpp000066400000000000000000000023461265471724600275050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_DEQUE_BEGIN_IMPL_09122006_2034) #define BOOST_FUSION_DEQUE_BEGIN_IMPL_09122006_2034 #include #include namespace boost { namespace fusion { struct deque_tag; namespace extension { template struct begin_impl; template<> struct begin_impl { template struct apply { typedef deque_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return type(seq); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/build_deque.hpp000066400000000000000000000047041265471724600276620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2013 Joel de Guzman Distributed under the 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_FUSION_BUILD_DEQUE_02032013_1921) #define BOOST_FUSION_BUILD_DEQUE_02032013_1921 #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template ::value> struct build_deque; template struct build_deque { typedef deque<> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const&, Last const&) { return type(); } }; template struct push_front_deque; template struct push_front_deque> { typedef deque type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(T const& first, deque const& rest) { return type(front_extended_deque, T>(rest, first)); } }; template struct build_deque { typedef build_deque::type, Last> next_build_deque; typedef push_front_deque< typename result_of::value_of::type , typename next_build_deque::type> push_front; typedef typename push_front::type type; BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& f, Last const& l) { typename result_of::value_of::type v = *f; return push_front::call( v, next_build_deque::call(fusion::next(f), l)); } }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/convert_impl.hpp000066400000000000000000000027041265471724600300770ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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(FUSION_CONVERT_IMPL_20061213_2207) #define FUSION_CONVERT_IMPL_20061213_2207 #include #include #include #include #include namespace boost { namespace fusion { struct deque_tag; namespace result_of { template struct as_deque; } namespace extension { template struct convert_impl; template <> struct convert_impl { template struct apply { typedef result_of::as_deque gen; typedef typename gen::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return gen::call(seq); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/000077500000000000000000000000001265471724600256075ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/as_deque.hpp000066400000000000000000000111151265471724600301050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_AS_DEQUE_20061213_2210) #define FUSION_AS_DEQUE_20061213_2210 #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template struct as_deque; template <> struct as_deque<0> { template struct apply { typedef deque<> type; }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator) { return deque<>(); } }; BOOST_FUSION_BARRIER_END }}} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_deque" FUSION_MAX_DEQUE_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN #define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ typedef typename fusion::result_of::next::type \ BOOST_PP_CAT(I, BOOST_PP_INC(n)); #define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); #define BOOST_FUSION_VALUE_OF_ITERATOR(z, n, data) \ typedef typename fusion::result_of::value_of::type \ BOOST_PP_CAT(T, n); #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) #include BOOST_PP_ITERATE() #undef BOOST_FUSION_NEXT_ITERATOR #undef BOOST_FUSION_NEXT_CALL_ITERATOR #undef BOOST_FUSION_VALUE_OF_ITERATOR BOOST_FUSION_BARRIER_END }}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() template <> struct as_deque { template struct apply { BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _) BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) return result(BOOST_PP_ENUM_PARAMS(N, *i)); } }; #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/build_deque.hpp000066400000000000000000000034261265471724600306070ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2013 Joel de Guzman Distributed under the 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_FUSION_BUILD_DEQUE_02032013_1921) #define BOOST_FUSION_BUILD_DEQUE_02032013_1921 #if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) #error "C++03 only! This file should not have been included" #endif #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct as_deque { typedef typename detail::as_deque::value> gen; typedef typename gen:: template apply::type>::type type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_deque::type as_deque(Sequence& seq) { typedef typename result_of::as_deque::gen gen; return gen::call(fusion::begin(seq)); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_deque::type as_deque(Sequence const& seq) { typedef typename result_of::as_deque::gen gen; return gen::call(fusion::begin(seq)); } }} #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/deque.hpp000066400000000000000000000165331265471724600274330ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_PP_FUSION_DEQUE_26112006_1649) #define BOOST_PP_FUSION_DEQUE_26112006_1649 #if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) #error "C++03 only! This file should not have been included" #endif #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_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque" FUSION_MAX_DEQUE_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif #define FUSION_HASH # namespace boost { namespace fusion { struct deque_tag; template struct deque : detail::deque_keyed_values::type, sequence_base > { typedef deque_tag fusion_tag; typedef bidirectional_traversal_tag category; typedef typename detail::deque_keyed_values::type base; typedef typename detail::deque_initial_size::type size; typedef mpl::int_ next_up; typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; #include BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(typename detail::call_param::type t0) : base(t0, detail::nil_keyed_element()) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque const& rhs) : base(rhs) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque const& seq) : base(seq) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const& seq, typename disable_if >::type* /*dummy*/ = 0) : base(base::from_iterator(fusion::begin(seq))) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(deque const& rhs) { base::operator=(rhs); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T const& rhs) { base::operator=(rhs); return *this; } #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #endif #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(T0_&& t0 , typename enable_if >::type* /*dummy*/ = 0 ) : base(BOOST_FUSION_FWD_ELEM(T0_, t0), detail::nil_keyed_element()) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque&& rhs) : base(std::forward(rhs)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque&& seq , typename disable_if< is_convertible, T0> >::type* /*dummy*/ = 0) : base(std::forward>(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T&& rhs) { base::operator=(BOOST_FUSION_FWD_ELEM(T, rhs)); return *this; } #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH endif #endif }; template <> struct deque<> : detail::nil_keyed_element { typedef deque_tag fusion_tag; typedef bidirectional_traversal_tag category; typedef mpl::int_<0> size; typedef mpl::int_<0> next_up; typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const&, typename enable_if< mpl::and_< traits::is_sequence , result_of::empty > >::type* /*dummy*/ = 0) BOOST_NOEXCEPT {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() BOOST_NOEXCEPT {} }; }} #undef FUSION_HASH #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp000066400000000000000000000052431265471724600322020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_PP_IS_ITERATING) #if !defined(BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_FORWARD_CTOR_04122006_2212) #define BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_FORWARD_CTOR_04122006_2212 #if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) #error "C++03 only! This file should not have been included" #endif #define FUSION_DEQUE_FORWARD_CTOR_FORWARD(z, n, _) BOOST_FUSION_FWD_ELEM(T_##n, t##n) #include #include #include #define BOOST_PP_FILENAME_1 \ #define BOOST_PP_ITERATION_LIMITS (2, FUSION_MAX_DEQUE_SIZE) #include BOOST_PP_ITERATE() #undef FUSION_DEQUE_FORWARD_CTOR_FORWARD #endif #else #define N BOOST_PP_ITERATION() #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #endif #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param::type t)) : base(detail::deque_keyed_values::construct(BOOST_PP_ENUM_PARAMS(N, t))) {} #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH endif #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #endif #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& t)) : base(detail::deque_keyed_values::construct(BOOST_PP_ENUM_PARAMS(N, t))) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T_, && t)) : base(detail::deque_keyed_values:: forward_(BOOST_PP_ENUM(N, FUSION_DEQUE_FORWARD_CTOR_FORWARD, _))) {} #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH endif #endif #undef N #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/deque_fwd.hpp000066400000000000000000000036641265471724600302740ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2007 Dan Marsden Distributed under the 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(FUSION_PP_DEQUE_FORWARD_02092007_0749) #define FUSION_PP_DEQUE_FORWARD_02092007_0749 #if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) #error "C++03 only! This file should not have been included" #endif #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque" FUSION_MAX_DEQUE_SIZE_STR "_fwd.hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; template< BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_DEQUE_SIZE, typename T, void_)> struct deque; }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/deque_initial_size.hpp000066400000000000000000000045371265471724600321770ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_DEQUE_DETAIL_DEQUE_INITIAL_SIZE_26112006_2139) #define BOOST_FUSION_DEQUE_DETAIL_DEQUE_INITIAL_SIZE_26112006_2139 #if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) #error "C++03 only! This file should not have been included" #endif #include #include #include #include #include #include namespace boost { namespace fusion { struct void_; }} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque_initial_size" FUSION_MAX_DEQUE_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { namespace detail { template struct deque_initial_size { typedef mpl::vector args; typedef typename mpl::find::type first_void; typedef typename mpl::distance::type, first_void>::type type; }; }}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp000066400000000000000000000073761265471724600322000ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_DEQUE_DETAIL_DEQUE_KEYED_VALUES_26112006_1330) #define BOOST_FUSION_DEQUE_DETAIL_DEQUE_KEYED_VALUES_26112006_1330 #if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) #error "C++03 only! This file should not have been included" #endif #include #include #include #include #include #include #include #include #include #include #include #define FUSION_VOID(z, n, _) void_ namespace boost { namespace fusion { struct void_; }} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque_keyed_values" FUSION_MAX_DEQUE_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { namespace detail { template struct keyed_element; struct nil_keyed_element; template struct deque_keyed_values_impl; template struct deque_keyed_values_impl { typedef nil_keyed_element type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct() { return type(); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_() { return type(); } }; template struct deque_keyed_values_impl { typedef mpl::int_ >::value> next_index; typedef typename deque_keyed_values_impl< next_index, BOOST_PP_ENUM_SHIFTED_PARAMS(FUSION_MAX_DEQUE_SIZE, T)>::type tail; typedef keyed_element type; #include }; template struct deque_keyed_values : deque_keyed_values_impl, BOOST_PP_ENUM_PARAMS(FUSION_MAX_DEQUE_SIZE, T)> {}; }}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #undef FUSION_VOID #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp000066400000000000000000000053311265471724600331600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_PP_IS_ITERATING) #if !defined(BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_KEYED_VALUES_CALL_04122006_2211) #define BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_KEYED_VALUES_CALL_04122006_2211 #if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) #error "C++03 only! This file should not have been included" #endif #include #include #include #include #define FUSION_HASH # #define FUSION_DEQUE_KEYED_VALUES_FORWARD(z, n, _) \ BOOST_FUSION_FWD_ELEM(BOOST_PP_CAT(T_, n), BOOST_PP_CAT(t, n)) #define BOOST_PP_FILENAME_1 \ #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) #include BOOST_PP_ITERATE() #undef FUSION_DEQUE_KEYED_VALUES_FORWARD #undef FUSION_HASH #endif #else #define N BOOST_PP_ITERATION() BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param::type t)) { return type(t0, deque_keyed_values_impl< next_index #if N > 1 , BOOST_PP_ENUM_SHIFTED_PARAMS(N, T) #endif >::construct(BOOST_PP_ENUM_SHIFTED_PARAMS(N, t))); } #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #endif #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(BOOST_PP_ENUM_BINARY_PARAMS(N, T_, && t)) { return type(BOOST_FUSION_FWD_ELEM(T_0, t0), deque_keyed_values_impl< next_index #if N > 1 , BOOST_PP_ENUM_SHIFTED_PARAMS(N, T_) #endif >::forward_(BOOST_PP_ENUM_SHIFTED(N, FUSION_DEQUE_KEYED_VALUES_FORWARD, _))); } #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH endif #endif #undef N #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/limits.hpp000066400000000000000000000021271265471724600276230ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_DEQUE_LIMITS_26112006_1737) #define BOOST_FUSION_DEQUE_LIMITS_26112006_1737 #if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) #error "C++03 only! This file should not have been included" #endif #include #if !defined(FUSION_MAX_DEQUE_SIZE) # define FUSION_MAX_DEQUE_SIZE FUSION_MAX_VECTOR_SIZE #else # if FUSION_MAX_DEQUE_SIZE < 3 # undef FUSION_MAX_DEQUE_SIZE # if (FUSION_MAX_VECTOR_SIZE > 10) # define FUSION_MAX_DEQUE_SIZE 10 # else # define FUSION_MAX_DEQUE_SIZE FUSION_MAX_VECTOR_SIZE # endif # endif #endif #define FUSION_MAX_DEQUE_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_DEQUE_SIZE)) #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/000077500000000000000000000000001265471724600303055ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque.hpp000066400000000000000000000020531265471724600326040ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_DEQUE_SIZE <= 10 #include #elif FUSION_MAX_DEQUE_SIZE <= 20 #include #elif FUSION_MAX_DEQUE_SIZE <= 30 #include #elif FUSION_MAX_DEQUE_SIZE <= 40 #include #elif FUSION_MAX_DEQUE_SIZE <= 50 #include #else #error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque10.hpp000066400000000000000000000335321265471724600327530ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template <> struct as_deque<1> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::value_of::type T0; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(*i0); } }; template <> struct as_deque<2> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(*i0 , *i1); } }; template <> struct as_deque<3> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(*i0 , *i1 , *i2); } }; template <> struct as_deque<4> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(*i0 , *i1 , *i2 , *i3); } }; template <> struct as_deque<5> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(*i0 , *i1 , *i2 , *i3 , *i4); } }; template <> struct as_deque<6> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } }; template <> struct as_deque<7> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } }; template <> struct as_deque<8> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } }; template <> struct as_deque<9> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } }; template <> struct as_deque<10> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque20.hpp000066400000000000000000001274241265471724600327600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template <> struct as_deque<1> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::value_of::type T0; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(*i0); } }; template <> struct as_deque<2> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(*i0 , *i1); } }; template <> struct as_deque<3> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(*i0 , *i1 , *i2); } }; template <> struct as_deque<4> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(*i0 , *i1 , *i2 , *i3); } }; template <> struct as_deque<5> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(*i0 , *i1 , *i2 , *i3 , *i4); } }; template <> struct as_deque<6> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } }; template <> struct as_deque<7> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } }; template <> struct as_deque<8> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } }; template <> struct as_deque<9> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } }; template <> struct as_deque<10> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; template <> struct as_deque<11> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); } }; template <> struct as_deque<12> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); } }; template <> struct as_deque<13> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); } }; template <> struct as_deque<14> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); } }; template <> struct as_deque<15> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); } }; template <> struct as_deque<16> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); } }; template <> struct as_deque<17> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); } }; template <> struct as_deque<18> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); } }; template <> struct as_deque<19> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); } }; template <> struct as_deque<20> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque30.hpp000066400000000000000000002653061265471724600327630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template <> struct as_deque<1> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::value_of::type T0; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(*i0); } }; template <> struct as_deque<2> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(*i0 , *i1); } }; template <> struct as_deque<3> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(*i0 , *i1 , *i2); } }; template <> struct as_deque<4> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(*i0 , *i1 , *i2 , *i3); } }; template <> struct as_deque<5> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(*i0 , *i1 , *i2 , *i3 , *i4); } }; template <> struct as_deque<6> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } }; template <> struct as_deque<7> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } }; template <> struct as_deque<8> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } }; template <> struct as_deque<9> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } }; template <> struct as_deque<10> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; template <> struct as_deque<11> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); } }; template <> struct as_deque<12> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); } }; template <> struct as_deque<13> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); } }; template <> struct as_deque<14> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); } }; template <> struct as_deque<15> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); } }; template <> struct as_deque<16> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); } }; template <> struct as_deque<17> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); } }; template <> struct as_deque<18> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); } }; template <> struct as_deque<19> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); } }; template <> struct as_deque<20> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } }; template <> struct as_deque<21> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); } }; template <> struct as_deque<22> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); } }; template <> struct as_deque<23> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); } }; template <> struct as_deque<24> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); } }; template <> struct as_deque<25> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); } }; template <> struct as_deque<26> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); } }; template <> struct as_deque<27> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); } }; template <> struct as_deque<28> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); } }; template <> struct as_deque<29> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); } }; template <> struct as_deque<30> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque40.hpp000066400000000000000000004651601265471724600327640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template <> struct as_deque<1> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::value_of::type T0; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(*i0); } }; template <> struct as_deque<2> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(*i0 , *i1); } }; template <> struct as_deque<3> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(*i0 , *i1 , *i2); } }; template <> struct as_deque<4> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(*i0 , *i1 , *i2 , *i3); } }; template <> struct as_deque<5> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(*i0 , *i1 , *i2 , *i3 , *i4); } }; template <> struct as_deque<6> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } }; template <> struct as_deque<7> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } }; template <> struct as_deque<8> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } }; template <> struct as_deque<9> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } }; template <> struct as_deque<10> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; template <> struct as_deque<11> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); } }; template <> struct as_deque<12> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); } }; template <> struct as_deque<13> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); } }; template <> struct as_deque<14> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); } }; template <> struct as_deque<15> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); } }; template <> struct as_deque<16> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); } }; template <> struct as_deque<17> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); } }; template <> struct as_deque<18> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); } }; template <> struct as_deque<19> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); } }; template <> struct as_deque<20> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } }; template <> struct as_deque<21> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); } }; template <> struct as_deque<22> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); } }; template <> struct as_deque<23> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); } }; template <> struct as_deque<24> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); } }; template <> struct as_deque<25> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); } }; template <> struct as_deque<26> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); } }; template <> struct as_deque<27> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); } }; template <> struct as_deque<28> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); } }; template <> struct as_deque<29> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); } }; template <> struct as_deque<30> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); } }; template <> struct as_deque<31> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); } }; template <> struct as_deque<32> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); } }; template <> struct as_deque<33> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); } }; template <> struct as_deque<34> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); } }; template <> struct as_deque<35> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); } }; template <> struct as_deque<36> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); } }; template <> struct as_deque<37> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); } }; template <> struct as_deque<38> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); } }; template <> struct as_deque<39> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); } }; template <> struct as_deque<40> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque50.hpp000066400000000000000000007270221265471724600327630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template <> struct as_deque<1> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::value_of::type T0; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(*i0); } }; template <> struct as_deque<2> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(*i0 , *i1); } }; template <> struct as_deque<3> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(*i0 , *i1 , *i2); } }; template <> struct as_deque<4> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(*i0 , *i1 , *i2 , *i3); } }; template <> struct as_deque<5> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(*i0 , *i1 , *i2 , *i3 , *i4); } }; template <> struct as_deque<6> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } }; template <> struct as_deque<7> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } }; template <> struct as_deque<8> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } }; template <> struct as_deque<9> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } }; template <> struct as_deque<10> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; template <> struct as_deque<11> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); } }; template <> struct as_deque<12> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); } }; template <> struct as_deque<13> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); } }; template <> struct as_deque<14> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); } }; template <> struct as_deque<15> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); } }; template <> struct as_deque<16> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); } }; template <> struct as_deque<17> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); } }; template <> struct as_deque<18> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); } }; template <> struct as_deque<19> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); } }; template <> struct as_deque<20> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } }; template <> struct as_deque<21> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); } }; template <> struct as_deque<22> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); } }; template <> struct as_deque<23> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); } }; template <> struct as_deque<24> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); } }; template <> struct as_deque<25> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); } }; template <> struct as_deque<26> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); } }; template <> struct as_deque<27> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); } }; template <> struct as_deque<28> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); } }; template <> struct as_deque<29> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); } }; template <> struct as_deque<30> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); } }; template <> struct as_deque<31> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); } }; template <> struct as_deque<32> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); } }; template <> struct as_deque<33> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); } }; template <> struct as_deque<34> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); } }; template <> struct as_deque<35> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); } }; template <> struct as_deque<36> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); } }; template <> struct as_deque<37> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); } }; template <> struct as_deque<38> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); } }; template <> struct as_deque<39> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); } }; template <> struct as_deque<40> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); } }; template <> struct as_deque<41> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40); } }; template <> struct as_deque<42> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41); } }; template <> struct as_deque<43> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42); } }; template <> struct as_deque<44> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43); } }; template <> struct as_deque<45> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44); } }; template <> struct as_deque<46> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45); } }; template <> struct as_deque<47> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46); } }; template <> struct as_deque<48> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47); } }; template <> struct as_deque<49> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48); } }; template <> struct as_deque<50> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; typedef typename fusion::result_of::next::type I50; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; typedef typename fusion::result_of::value_of::type T49; typedef deque type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); typename gen::I49 i49 = fusion::next(i48); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/deque.hpp000066400000000000000000000020341265471724600321200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_DEQUE_SIZE <= 10 #include #elif FUSION_MAX_DEQUE_SIZE <= 20 #include #elif FUSION_MAX_DEQUE_SIZE <= 30 #include #elif FUSION_MAX_DEQUE_SIZE <= 40 #include #elif FUSION_MAX_DEQUE_SIZE <= 50 #include #else #error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp000066400000000000000000000371671265471724600323000ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct deque_tag; template struct deque : detail::deque_keyed_values::type, sequence_base > { typedef deque_tag fusion_tag; typedef bidirectional_traversal_tag category; typedef typename detail::deque_keyed_values::type base; typedef typename detail::deque_initial_size::type size; typedef mpl::int_ next_up; typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(typename detail::call_param::type t0) : base(t0, detail::nil_keyed_element()) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque const& rhs) : base(rhs) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque const& seq) : base(seq) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const& seq, typename disable_if >::type* = 0) : base(base::from_iterator(fusion::begin(seq))) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(deque const& rhs) { base::operator=(rhs); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T const& rhs) { base::operator=(rhs); return *this; } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(T0_&& t0 , typename enable_if >::type* = 0 ) : base(std::forward( t0), detail::nil_keyed_element()) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque&& rhs) : base(std::forward(rhs)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque&& seq , typename disable_if< is_convertible, T0> >::type* = 0) : base(std::forward>(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T&& rhs) { base::operator=(std::forward( rhs)); return *this; } # endif }; template <> struct deque<> : detail::nil_keyed_element { typedef deque_tag fusion_tag; typedef bidirectional_traversal_tag category; typedef mpl::int_<0> size; typedef mpl::int_<0> next_up; typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const&, typename enable_if< mpl::and_< traits::is_sequence , result_of::empty > >::type* = 0) BOOST_NOEXCEPT {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() BOOST_NOEXCEPT {} }; }} KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10_fwd.hpp000066400000000000000000000013271265471724600331250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template< typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_> struct deque; }} KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp000066400000000000000000001243131265471724600322670ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct deque_tag; template struct deque : detail::deque_keyed_values::type, sequence_base > { typedef deque_tag fusion_tag; typedef bidirectional_traversal_tag category; typedef typename detail::deque_keyed_values::type base; typedef typename detail::deque_initial_size::type size; typedef mpl::int_ next_up; typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(typename detail::call_param::type t0) : base(t0, detail::nil_keyed_element()) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque const& rhs) : base(rhs) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque const& seq) : base(seq) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const& seq, typename disable_if >::type* = 0) : base(base::from_iterator(fusion::begin(seq))) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(deque const& rhs) { base::operator=(rhs); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T const& rhs) { base::operator=(rhs); return *this; } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(T0_&& t0 , typename enable_if >::type* = 0 ) : base(std::forward( t0), detail::nil_keyed_element()) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque&& rhs) : base(std::forward(rhs)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque&& seq , typename disable_if< is_convertible, T0> >::type* = 0) : base(std::forward>(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T&& rhs) { base::operator=(std::forward( rhs)); return *this; } # endif }; template <> struct deque<> : detail::nil_keyed_element { typedef deque_tag fusion_tag; typedef bidirectional_traversal_tag category; typedef mpl::int_<0> size; typedef mpl::int_<0> next_up; typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const&, typename enable_if< mpl::and_< traits::is_sequence , result_of::empty > >::type* = 0) BOOST_NOEXCEPT {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() BOOST_NOEXCEPT {} }; }} KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20_fwd.hpp000066400000000000000000000016751265471724600331340ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template< typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_> struct deque; }} KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp000066400000000000000000002466671265471724600323110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct deque_tag; template struct deque : detail::deque_keyed_values::type, sequence_base > { typedef deque_tag fusion_tag; typedef bidirectional_traversal_tag category; typedef typename detail::deque_keyed_values::type base; typedef typename detail::deque_initial_size::type size; typedef mpl::int_ next_up; typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) : base(detail::deque_keyed_values::construct(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 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) : base(detail::deque_keyed_values::construct(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 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) : base(detail::deque_keyed_values::construct(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 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) : base(detail::deque_keyed_values::construct(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 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(typename detail::call_param::type t0) : base(t0, detail::nil_keyed_element()) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque const& rhs) : base(rhs) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque const& seq) : base(seq) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const& seq, typename disable_if >::type* = 0) : base(base::from_iterator(fusion::begin(seq))) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(deque const& rhs) { base::operator=(rhs); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T const& rhs) { base::operator=(rhs); return *this; } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(T0_&& t0 , typename enable_if >::type* = 0 ) : base(std::forward( t0), detail::nil_keyed_element()) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque&& rhs) : base(std::forward(rhs)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque&& seq , typename disable_if< is_convertible, T0> >::type* = 0) : base(std::forward>(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T&& rhs) { base::operator=(std::forward( rhs)); return *this; } # endif }; template <> struct deque<> : detail::nil_keyed_element { typedef deque_tag fusion_tag; typedef bidirectional_traversal_tag category; typedef mpl::int_<0> size; typedef mpl::int_<0> next_up; typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const&, typename enable_if< mpl::and_< traits::is_sequence , result_of::empty > >::type* = 0) BOOST_NOEXCEPT {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() BOOST_NOEXCEPT {} }; }} KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30_fwd.hpp000066400000000000000000000022431265471724600331250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template< typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_> struct deque; }} KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp000066400000000000000000004264731265471724600323050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct deque_tag; template struct deque : detail::deque_keyed_values::type, sequence_base > { typedef deque_tag fusion_tag; typedef bidirectional_traversal_tag category; typedef typename detail::deque_keyed_values::type base; typedef typename detail::deque_initial_size::type size; typedef mpl::int_ next_up; typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) : base(detail::deque_keyed_values::construct(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 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) : base(detail::deque_keyed_values::construct(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 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) : base(detail::deque_keyed_values::construct(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 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) : base(detail::deque_keyed_values::construct(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 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39))) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(typename detail::call_param::type t0) : base(t0, detail::nil_keyed_element()) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque const& rhs) : base(rhs) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque const& seq) : base(seq) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const& seq, typename disable_if >::type* = 0) : base(base::from_iterator(fusion::begin(seq))) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(deque const& rhs) { base::operator=(rhs); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T const& rhs) { base::operator=(rhs); return *this; } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(T0_&& t0 , typename enable_if >::type* = 0 ) : base(std::forward( t0), detail::nil_keyed_element()) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque&& rhs) : base(std::forward(rhs)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque&& seq , typename disable_if< is_convertible, T0> >::type* = 0) : base(std::forward>(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T&& rhs) { base::operator=(std::forward( rhs)); return *this; } # endif }; template <> struct deque<> : detail::nil_keyed_element { typedef deque_tag fusion_tag; typedef bidirectional_traversal_tag category; typedef mpl::int_<0> size; typedef mpl::int_<0> next_up; typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const&, typename enable_if< mpl::and_< traits::is_sequence , result_of::empty > >::type* = 0) BOOST_NOEXCEPT {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() BOOST_NOEXCEPT {} }; }} KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40_fwd.hpp000066400000000000000000000026111265471724600331250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template< typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_> struct deque; }} KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp000066400000000000000000006435271265471724600323070ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct deque_tag; template struct deque : detail::deque_keyed_values::type, sequence_base > { typedef deque_tag fusion_tag; typedef bidirectional_traversal_tag category; typedef typename detail::deque_keyed_values::type base; typedef typename detail::deque_initial_size::type size; typedef mpl::int_ next_up; typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) : base(detail::deque_keyed_values::construct(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 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) : base(detail::deque_keyed_values::construct(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 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) : base(detail::deque_keyed_values::construct(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 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) : base(detail::deque_keyed_values::construct(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 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47 , typename detail::call_param::type t48) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47) , std::forward( t48))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47 , typename detail::call_param::type t48 , typename detail::call_param::type t49) : base(detail::deque_keyed_values::construct(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)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48 , T49 const& t49) : base(detail::deque_keyed_values::construct(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)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48 , T_49 && t49) : base(detail::deque_keyed_values:: forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47) , std::forward( t48) , std::forward( t49))) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(typename detail::call_param::type t0) : base(t0, detail::nil_keyed_element()) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque const& rhs) : base(rhs) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque const& seq) : base(seq) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const& seq, typename disable_if >::type* = 0) : base(base::from_iterator(fusion::begin(seq))) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(deque const& rhs) { base::operator=(rhs); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T const& rhs) { base::operator=(rhs); return *this; } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(T0_&& t0 , typename enable_if >::type* = 0 ) : base(std::forward( t0), detail::nil_keyed_element()) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque&& rhs) : base(std::forward(rhs)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque&& seq , typename disable_if< is_convertible, T0> >::type* = 0) : base(std::forward>(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T&& rhs) { base::operator=(std::forward( rhs)); return *this; } # endif }; template <> struct deque<> : detail::nil_keyed_element { typedef deque_tag fusion_tag; typedef bidirectional_traversal_tag category; typedef mpl::int_<0> size; typedef mpl::int_<0> next_up; typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const&, typename enable_if< mpl::and_< traits::is_sequence , result_of::empty > >::type* = 0) BOOST_NOEXCEPT {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() BOOST_NOEXCEPT {} }; }} KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50_fwd.hpp000066400000000000000000000031571265471724600331340ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template< typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_> struct deque; }} KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_fwd.hpp000066400000000000000000000020601265471724600327570ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_DEQUE_SIZE <= 10 #include #elif FUSION_MAX_DEQUE_SIZE <= 20 #include #elif FUSION_MAX_DEQUE_SIZE <= 30 #include #elif FUSION_MAX_DEQUE_SIZE <= 40 #include #elif FUSION_MAX_DEQUE_SIZE <= 50 #include #else #error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" #endif deque_initial_size.hpp000066400000000000000000000021351265471724600346060ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_DEQUE_SIZE <= 10 #include #elif FUSION_MAX_DEQUE_SIZE <= 20 #include #elif FUSION_MAX_DEQUE_SIZE <= 30 #include #elif FUSION_MAX_DEQUE_SIZE <= 40 #include #elif FUSION_MAX_DEQUE_SIZE <= 50 #include #else #error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" #endif deque_initial_size10.hpp000066400000000000000000000016161265471724600347520ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct deque_initial_size { typedef mpl::vector args; typedef typename mpl::find::type first_void; typedef typename mpl::distance::type, first_void>::type type; }; }}} deque_initial_size20.hpp000066400000000000000000000021401265471724600347440ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct deque_initial_size { typedef mpl::vector args; typedef typename mpl::find::type first_void; typedef typename mpl::distance::type, first_void>::type type; }; }}} deque_initial_size30.hpp000066400000000000000000000024621265471724600347540ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct deque_initial_size { typedef mpl::vector args; typedef typename mpl::find::type first_void; typedef typename mpl::distance::type, first_void>::type type; }; }}} deque_initial_size40.hpp000066400000000000000000000030041265471724600347460ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct deque_initial_size { typedef mpl::vector args; typedef typename mpl::find::type first_void; typedef typename mpl::distance::type, first_void>::type type; }; }}} deque_initial_size50.hpp000066400000000000000000000033261265471724600347560ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct deque_initial_size { typedef mpl::vector args; typedef typename mpl::find::type first_void; typedef typename mpl::distance::type, first_void>::type type; }; }}} deque_keyed_values.hpp000066400000000000000000000021351265471724600346030ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_DEQUE_SIZE <= 10 #include #elif FUSION_MAX_DEQUE_SIZE <= 20 #include #elif FUSION_MAX_DEQUE_SIZE <= 30 #include #elif FUSION_MAX_DEQUE_SIZE <= 40 #include #elif FUSION_MAX_DEQUE_SIZE <= 50 #include #else #error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" #endif deque_keyed_values10.hpp000066400000000000000000000337041265471724600347520ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct keyed_element; struct nil_keyed_element; template struct deque_keyed_values_impl; template struct deque_keyed_values_impl { typedef nil_keyed_element type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct() { return type(); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_() { return type(); } }; template struct deque_keyed_values_impl { typedef mpl::int_ >::value> next_index; typedef typename deque_keyed_values_impl< next_index, T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type tail; typedef keyed_element type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0) { return type(t0, deque_keyed_values_impl< next_index >::construct()); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0) { return type(std::forward( t0), deque_keyed_values_impl< next_index >::forward_()); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) { return type(t0, deque_keyed_values_impl< next_index , T1 >::construct(t1)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 >::forward_(std::forward( t1))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 >::construct(t1 , t2)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 >::forward_(std::forward( t1) , std::forward( t2))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 >::construct(t1 , t2 , t3)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 >::construct(t1 , t2 , t3 , t4)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 >::construct(t1 , t2 , t3 , t4 , t5)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 >::construct(t1 , t2 , t3 , t4 , t5 , t6)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); } # endif }; template struct deque_keyed_values : deque_keyed_values_impl, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> {}; }}} deque_keyed_values20.hpp000066400000000000000000001141241265471724600347470ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct keyed_element; struct nil_keyed_element; template struct deque_keyed_values_impl; template struct deque_keyed_values_impl { typedef nil_keyed_element type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct() { return type(); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_() { return type(); } }; template struct deque_keyed_values_impl { typedef mpl::int_ >::value> next_index; typedef typename deque_keyed_values_impl< next_index, T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>::type tail; typedef keyed_element type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0) { return type(t0, deque_keyed_values_impl< next_index >::construct()); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0) { return type(std::forward( t0), deque_keyed_values_impl< next_index >::forward_()); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) { return type(t0, deque_keyed_values_impl< next_index , T1 >::construct(t1)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 >::forward_(std::forward( t1))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 >::construct(t1 , t2)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 >::forward_(std::forward( t1) , std::forward( t2))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 >::construct(t1 , t2 , t3)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 >::construct(t1 , t2 , t3 , t4)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 >::construct(t1 , t2 , t3 , t4 , t5)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 >::construct(t1 , t2 , t3 , t4 , t5 , t6)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))); } # endif }; template struct deque_keyed_values : deque_keyed_values_impl, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> {}; }}} deque_keyed_values30.hpp000066400000000000000000002242141265471724600347520ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct keyed_element; struct nil_keyed_element; template struct deque_keyed_values_impl; template struct deque_keyed_values_impl { typedef nil_keyed_element type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct() { return type(); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_() { return type(); } }; template struct deque_keyed_values_impl { typedef mpl::int_ >::value> next_index; typedef typename deque_keyed_values_impl< next_index, 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>::type tail; typedef keyed_element type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0) { return type(t0, deque_keyed_values_impl< next_index >::construct()); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0) { return type(std::forward( t0), deque_keyed_values_impl< next_index >::forward_()); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) { return type(t0, deque_keyed_values_impl< next_index , T1 >::construct(t1)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 >::forward_(std::forward( t1))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 >::construct(t1 , t2)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 >::forward_(std::forward( t1) , std::forward( t2))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 >::construct(t1 , t2 , t3)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 >::construct(t1 , t2 , t3 , t4)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 >::construct(t1 , t2 , t3 , t4 , t5)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 >::construct(t1 , t2 , t3 , t4 , t5 , t6)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 >::construct(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 !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))); } # endif }; template struct deque_keyed_values : deque_keyed_values_impl, 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> {}; }}} deque_keyed_values40.hpp000066400000000000000000003641541265471724600347630ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct keyed_element; struct nil_keyed_element; template struct deque_keyed_values_impl; template struct deque_keyed_values_impl { typedef nil_keyed_element type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct() { return type(); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_() { return type(); } }; template struct deque_keyed_values_impl { typedef mpl::int_ >::value> next_index; typedef typename deque_keyed_values_impl< next_index, 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>::type tail; typedef keyed_element type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0) { return type(t0, deque_keyed_values_impl< next_index >::construct()); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0) { return type(std::forward( t0), deque_keyed_values_impl< next_index >::forward_()); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) { return type(t0, deque_keyed_values_impl< next_index , T1 >::construct(t1)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 >::forward_(std::forward( t1))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 >::construct(t1 , t2)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 >::forward_(std::forward( t1) , std::forward( t2))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 >::construct(t1 , t2 , t3)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 >::construct(t1 , t2 , t3 , t4)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 >::construct(t1 , t2 , t3 , t4 , t5)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 >::construct(t1 , t2 , t3 , t4 , t5 , t6)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 >::construct(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 !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39))); } # endif }; template struct deque_keyed_values : deque_keyed_values_impl, 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> {}; }}} deque_keyed_values50.hpp000066400000000000000000005537641265471724600347730ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/deque/detail/cpp03/preprocessed/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct keyed_element; struct nil_keyed_element; template struct deque_keyed_values_impl; template struct deque_keyed_values_impl { typedef nil_keyed_element type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct() { return type(); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_() { return type(); } }; template struct deque_keyed_values_impl { typedef mpl::int_ >::value> next_index; typedef typename deque_keyed_values_impl< next_index, 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>::type tail; typedef keyed_element type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0) { return type(t0, deque_keyed_values_impl< next_index >::construct()); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0) { return type(std::forward( t0), deque_keyed_values_impl< next_index >::forward_()); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) { return type(t0, deque_keyed_values_impl< next_index , T1 >::construct(t1)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 >::forward_(std::forward( t1))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 >::construct(t1 , t2)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 >::forward_(std::forward( t1) , std::forward( t2))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 >::construct(t1 , t2 , t3)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 >::construct(t1 , t2 , t3 , t4)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 >::construct(t1 , t2 , t3 , t4 , t5)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 >::construct(t1 , t2 , t3 , t4 , t5 , t6)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) { return type(t0, deque_keyed_values_impl< next_index , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 >::construct(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 !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 , T_47 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47 , typename detail::call_param::type t48) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 , T_47 , T_48 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47) , std::forward( t48))); } # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47 , typename detail::call_param::type t48 , typename detail::call_param::type t49) { return type(t0, deque_keyed_values_impl< next_index , 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 >::construct(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)); } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48 , T_49 && t49) { return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 , T_47 , T_48 , T_49 >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47) , std::forward( t48) , std::forward( t49))); } # endif }; template struct deque_keyed_values : deque_keyed_values_impl, 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> {}; }}} KWStyle-master/Utilities/boost/fusion/container/deque/detail/deque_keyed_values.hpp000066400000000000000000000051251265471724600312410ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_DEQUE_DETAIL_CPP11_DEQUE_KEYED_VALUES_07042012_1901) #define BOOST_FUSION_DEQUE_DETAIL_CPP11_DEQUE_KEYED_VALUES_07042012_1901 #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct keyed_element; template struct deque_keyed_values_impl; template struct deque_keyed_values_impl { typedef mpl::int_<(N::value + 1)> next_index; typedef typename deque_keyed_values_impl::type tail; typedef keyed_element type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct( typename detail::call_param::type head , typename detail::call_param::type... tail) { return type( head , deque_keyed_values_impl::construct(tail...) ); } #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(Head_&& head, Tail_&&... tail) { return type( BOOST_FUSION_FWD_ELEM(Head_, head) , deque_keyed_values_impl:: forward_(BOOST_FUSION_FWD_ELEM(Tail_, tail)...) ); } #endif }; struct nil_keyed_element; template struct deque_keyed_values_impl { typedef nil_keyed_element type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct() { return type(); } #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_() { return type(); } #endif }; template struct deque_keyed_values : deque_keyed_values_impl, Elements...> {}; }}} #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/end_impl.hpp000066400000000000000000000023261265471724600271650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_DEQUE_END_IMPL_09122006_2034) #define BOOST_FUSION_DEQUE_END_IMPL_09122006_2034 #include #include namespace boost { namespace fusion { struct deque_tag; namespace extension { template struct end_impl; template<> struct end_impl { template struct apply { typedef deque_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return type(seq); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/is_sequence_impl.hpp000066400000000000000000000016051265471724600307210ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_CONTAINER_DEQUE_DETAIL_IS_SEQUENCE_IMPL_HPP #define BOOST_FUSION_CONTAINER_DEQUE_DETAIL_IS_SEQUENCE_IMPL_HPP #include #include namespace boost { namespace fusion { struct deque_tag; namespace extension { template struct is_sequence_impl; template<> struct is_sequence_impl { template struct apply : mpl::true_ {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/keyed_element.hpp000066400000000000000000000120221265471724600302020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_DEQUE_DETAIL_KEYED_ELEMENT_26112006_1330) #define BOOST_FUSION_DEQUE_DETAIL_KEYED_ELEMENT_26112006_1330 #include #include #include #include namespace boost { namespace fusion { struct fusion_sequence_tag; }} namespace boost { namespace fusion { namespace detail { struct nil_keyed_element { typedef fusion_sequence_tag tag; BOOST_FUSION_GPU_ENABLED void get(); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static nil_keyed_element from_iterator(It const&) { return nil_keyed_element(); } }; template struct keyed_element : Rest { typedef Rest base; typedef fusion_sequence_tag tag; using Rest::get; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static keyed_element from_iterator(It const& it) { return keyed_element( *it, base::from_iterator(fusion::next(it))); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element(keyed_element const& rhs) : Rest(rhs.get_base()), value_(rhs.value_) {} #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element(keyed_element&& rhs) : Rest(BOOST_FUSION_FWD_ELEM(Rest, rhs.forward_base())) , value_(BOOST_FUSION_FWD_ELEM(Value, rhs.value_)) {} #endif template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element(keyed_element const& rhs , typename enable_if >::type* = 0) : Rest(rhs.get_base()), value_(rhs.value_) {} #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #endif BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED Rest& get_base() BOOST_NOEXCEPT { return *this; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED Rest const& get_base() const BOOST_NOEXCEPT { return *this; } #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED Rest&& forward_base() BOOST_NOEXCEPT { return BOOST_FUSION_FWD_ELEM(Rest, *static_cast(this)); } #endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename cref_result::type get(Key) const { return value_; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename ref_result::type get(Key) { return value_; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element( typename detail::call_param::type value , Rest const& rest) : Rest(rest), value_(value) {} #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element(Value&& value, Rest&& rest) : Rest(BOOST_FUSION_FWD_ELEM(Rest, rest)) , value_(BOOST_FUSION_FWD_ELEM(Value, value)) {} #endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element() : Rest(), value_() {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element& operator=(keyed_element const& rhs) { base::operator=(static_cast(rhs)); // cast for msvc-7.1 value_ = rhs.value_; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element& operator=(keyed_element const& rhs) { base::operator=(rhs); value_ = rhs.value_; return *this; } #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element& operator=(keyed_element&& rhs) { base::operator=(std::forward(rhs)); value_ = BOOST_FUSION_FWD_ELEM(Value, rhs.value_); return *this; } #endif Value value_; }; template struct keyed_element_value_at : keyed_element_value_at {}; template struct keyed_element_value_at, Key> { typedef Value type; }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/deque/detail/value_at_impl.hpp000066400000000000000000000027651265471724600302260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_DEQUE_VALUE_AT_IMPL_08122006_0756) #define BOOST_FUSION_DEQUE_VALUE_AT_IMPL_08122006_0756 #include #include #include #include namespace boost { namespace fusion { struct deque_tag; namespace extension { template struct value_at_impl; template<> struct value_at_impl { template struct apply { typedef typename Sequence::next_up next_up; typedef typename Sequence::next_down next_down; BOOST_MPL_ASSERT_RELATION(next_down::value, !=, next_up::value); static int const offset = next_down::value + 1; typedef mpl::int_<(N::value + offset)> adjusted_index; typedef typename detail::keyed_element_value_at::type type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/deque/front_extended_deque.hpp000066400000000000000000000036051265471724600303300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_FRONT_EXTENDED_DEQUE_26112006_2209) #define BOOST_FUSION_FRONT_EXTENDED_DEQUE_26112006_2209 #include #include #include #include #include namespace boost { namespace fusion { template struct front_extended_deque : detail::keyed_element , sequence_base > { typedef detail::keyed_element base; typedef mpl::int_<(Deque::next_down::value - 1)> next_down; typedef typename Deque::next_up next_up; typedef mpl::int_<(result_of::size::value + 1)> size; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED front_extended_deque(Deque const& deque, Arg const& val) : base(val, deque) {} #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED front_extended_deque(Deque const& deque, Arg& val) : base(val, deque) {} #else template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED front_extended_deque(Deque const& deque, Arg&& val) : base(BOOST_FUSION_FWD_ELEM(Arg, val), deque) {} #endif }; }} #endif KWStyle-master/Utilities/boost/fusion/container/generation.hpp000066400000000000000000000023031265471724600251570ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_GENERATION_10022005_0615) #define FUSION_SEQUENCE_GENERATION_10022005_0615 #include #include #include #include #include #include #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/container/generation/000077500000000000000000000000001265471724600244505ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/generation/cons_tie.hpp000066400000000000000000000023301265471724600267620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_CONS_TIE_07182005_0854) #define FUSION_CONS_TIE_07182005_0854 #include #include namespace boost { namespace fusion { struct nil_; namespace result_of { template struct cons_tie { typedef cons type; }; } // $$$ do we really want a cons_tie? $$$ template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline cons cons_tie(Car& car) { return cons(car); } // $$$ do we really want a cons_tie? $$$ template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline cons cons_tie(Car& car, Cdr const& cdr) { return cons(car, cdr); } }} #endif KWStyle-master/Utilities/boost/fusion/container/generation/deque_tie.hpp000066400000000000000000000024441265471724600271310ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2013 Joel de Guzman Distributed under the 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(FUSION_DEQUE_TIE_01272013_1401) #define FUSION_DEQUE_TIE_01272013_1401 #include #include #if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) # include #else /////////////////////////////////////////////////////////////////////////////// // C++11 variadic interface /////////////////////////////////////////////////////////////////////////////// #include namespace boost { namespace fusion { struct void_; namespace result_of { template struct deque_tie { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T&... arg) { return deque(arg...); } }} #endif #endif KWStyle-master/Utilities/boost/fusion/container/generation/detail/000077500000000000000000000000001265471724600257125ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/generation/detail/pp_deque_tie.hpp000066400000000000000000000066751265471724600311040ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_PP_DEQUE_TIE_07192005_1242) #define FUSION_PP_DEQUE_TIE_07192005_1242 #include #include #include #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque_tie" FUSION_MAX_DEQUE_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; namespace result_of { template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_DEQUE_SIZE, typename T, void_) , typename Extra = void_ > struct deque_tie; } #define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) #include BOOST_PP_ITERATE() #undef BOOST_FUSION_REF }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() namespace result_of { template #define TEXT(z, n, text) , text struct deque_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_DEQUE_SIZE, TEXT, void_) > #undef TEXT { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & arg)) { return deque( BOOST_PP_ENUM_PARAMS(N, arg)); } #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/generation/detail/pp_make_deque.hpp000066400000000000000000000075241265471724600312320ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_PP_MAKE_DEQUE_07162005_0243) #define FUSION_MAKE_PP_DEQUE_07162005_0243 #include #include #include #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_deque" FUSION_MAX_DEQUE_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; namespace result_of { template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_DEQUE_SIZE, typename T, void_) , typename Extra = void_ > struct make_deque; template <> struct make_deque<> { typedef deque<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque<> make_deque() { return deque<>(); } #define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ typename detail::as_fusion_element::type #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) #include BOOST_PP_ITERATE() #undef BOOST_FUSION_AS_FUSION_ELEMENT }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() namespace result_of { template #define TEXT(z, n, text) , text struct make_deque< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_DEQUE_SIZE, TEXT, void_) > #undef TEXT { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque make_deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) { return deque( BOOST_PP_ENUM_PARAMS(N, arg)); } #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/generation/detail/pp_make_map.hpp000066400000000000000000000107041265471724600306760ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_PP_MAKE_MAP_07222005_1247) #define FUSION_PP_MAKE_MAP_07222005_1247 #include #include #include #include #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_map" FUSION_MAX_MAP_SIZE_STR".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; namespace result_of { template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_VECTOR_SIZE, typename K, void_) , BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_VECTOR_SIZE, typename D, void_) , typename Extra = void_ > struct make_map; template <> struct make_map<> { typedef map<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map<> make_map() { return map<>(); } #define BOOST_FUSION_PAIR(z, n, data) \ fusion::pair< \ BOOST_PP_CAT(K, n) \ , typename detail::as_fusion_element::type> #define BOOST_FUSION_MAKE_PAIR(z, n, _) \ fusion::make_pair(BOOST_PP_CAT(_, n)) \ #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) #include BOOST_PP_ITERATE() #undef BOOST_FUSION_PAIR #undef BOOST_FUSION_MAKE_PAIR }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() namespace result_of { template < BOOST_PP_ENUM_PARAMS(N, typename K) , BOOST_PP_ENUM_PARAMS(N, typename D) > #define TEXT(z, n, text) , text struct make_map #undef TEXT { typedef map type; }; } template < BOOST_PP_ENUM_PARAMS(N, typename K) , BOOST_PP_ENUM_PARAMS(N, typename D) > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map make_map(BOOST_PP_ENUM_BINARY_PARAMS(N, D, const& arg)) { return map( BOOST_PP_ENUM(N, BOOST_FUSION_MAKE_PAIR, arg)); } #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/generation/detail/pp_map_tie.hpp000066400000000000000000000111571265471724600305450ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_PP_MAP_TIE_20060814_1116) #define FUSION_PP_MAP_TIE_20060814_1116 #include #include #include #include #include #include #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/map_tie" FUSION_MAX_MAP_SIZE_STR".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; namespace result_of { template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_MAP_SIZE, typename K, void_) , BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_MAP_SIZE, typename D, void_) , typename Extra = void_ > struct map_tie; template <> struct map_tie<> { typedef map<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map<> map_tie() { return map<>(); } #define BOOST_FUSION_TIED_PAIR(z, n, data) \ fusion::pair< \ BOOST_PP_CAT(K, n) \ , typename add_reference::type> #define BOOST_FUSION_PAIR_TIE(z, n, _) \ fusion::pair_tie(BOOST_PP_CAT(_, n)) \ #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE) #include BOOST_PP_ITERATE() #undef BOOST_FUSION_PAIR #undef BOOST_FUSION_MAKE_PAIR }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() namespace result_of { template < BOOST_PP_ENUM_PARAMS(N, typename K) , BOOST_PP_ENUM_PARAMS(N, typename D) > #define TEXT(z, n, text) , text struct map_tie #undef TEXT { typedef map type; }; } template < BOOST_PP_ENUM_PARAMS(N, typename K) , BOOST_PP_ENUM_PARAMS(N, typename D) > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map map_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, D, & arg)) { return map( BOOST_PP_ENUM(N, BOOST_FUSION_PAIR_TIE, arg)); } #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/000077500000000000000000000000001265471724600304105ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/deque_tie.hpp000066400000000000000000000020531265471724600330650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_DEQUE_SIZE <= 10 #include #elif FUSION_MAX_DEQUE_SIZE <= 20 #include #elif FUSION_MAX_DEQUE_SIZE <= 30 #include #elif FUSION_MAX_DEQUE_SIZE <= 40 #include #elif FUSION_MAX_DEQUE_SIZE <= 50 #include #else #error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp000066400000000000000000000171001265471724600332250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename Extra = void_ > struct deque_tie; } namespace result_of { template struct deque_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0) { return deque( arg0); } namespace result_of { template struct deque_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1) { return deque( arg0 , arg1); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return deque( arg0 , arg1 , arg2); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return deque( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return deque( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp000066400000000000000000000552251265471724600332400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename Extra = void_ > struct deque_tie; } namespace result_of { template struct deque_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0) { return deque( arg0); } namespace result_of { template struct deque_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1) { return deque( arg0 , arg1); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return deque( arg0 , arg1 , arg2); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return deque( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return deque( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp000066400000000000000000001343461265471724600332430ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename Extra = void_ > struct deque_tie; } namespace result_of { template struct deque_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0) { return deque( arg0); } namespace result_of { template struct deque_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1) { return deque( arg0 , arg1); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return deque( arg0 , arg1 , arg2); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return deque( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return deque( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct deque_tie< 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 , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct deque_tie< 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 , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp000066400000000000000000002344631265471724600332450ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename Extra = void_ > struct deque_tie; } namespace result_of { template struct deque_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0) { return deque( arg0); } namespace result_of { template struct deque_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1) { return deque( arg0 , arg1); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return deque( arg0 , arg1 , arg2); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return deque( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return deque( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { template struct deque_tie< 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 , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { template struct deque_tie< 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 , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp000066400000000000000000003555741265471724600332550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ , typename Extra = void_ > struct deque_tie; } namespace result_of { template struct deque_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0) { return deque( arg0); } namespace result_of { template struct deque_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1) { return deque( arg0 , arg1); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return deque( arg0 , arg1 , arg2); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return deque( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return deque( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } namespace result_of { template struct deque_tie< 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 , void_ , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } namespace result_of { template struct deque_tie< 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 , void_ , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } namespace result_of { template struct deque_tie< 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 , void_ > { typedef deque type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48 , T49 & arg49) { return deque( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/list_tie.hpp000066400000000000000000000020401265471724600327310ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_LIST_SIZE <= 10 #include #elif FUSION_MAX_LIST_SIZE <= 20 #include #elif FUSION_MAX_LIST_SIZE <= 30 #include #elif FUSION_MAX_LIST_SIZE <= 40 #include #elif FUSION_MAX_LIST_SIZE <= 50 #include #else #error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp000066400000000000000000000170151265471724600331020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename Extra = void_ > struct list_tie; } namespace result_of { template struct list_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0) { return list( arg0); } namespace result_of { template struct list_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1) { return list( arg0 , arg1); } namespace result_of { template struct list_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return list( arg0 , arg1 , arg2); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return list( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return list( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp000066400000000000000000000550601265471724600331050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename Extra = void_ > struct list_tie; } namespace result_of { template struct list_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0) { return list( arg0); } namespace result_of { template struct list_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1) { return list( arg0 , arg1); } namespace result_of { template struct list_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return list( arg0 , arg1 , arg2); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return list( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return list( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp000066400000000000000000001341171265471724600331070ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename Extra = void_ > struct list_tie; } namespace result_of { template struct list_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0) { return list( arg0); } namespace result_of { template struct list_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1) { return list( arg0 , arg1); } namespace result_of { template struct list_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return list( arg0 , arg1 , arg2); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return list( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return list( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct list_tie< 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 , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct list_tie< 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 , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp000066400000000000000000002341521265471724600331100ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename Extra = void_ > struct list_tie; } namespace result_of { template struct list_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0) { return list( arg0); } namespace result_of { template struct list_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1) { return list( arg0 , arg1); } namespace result_of { template struct list_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return list( arg0 , arg1 , arg2); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return list( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return list( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { template struct list_tie< 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 , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { template struct list_tie< 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 , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp000066400000000000000000003552011265471724600331100ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ , typename Extra = void_ > struct list_tie; } namespace result_of { template struct list_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0) { return list( arg0); } namespace result_of { template struct list_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1) { return list( arg0 , arg1); } namespace result_of { template struct list_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return list( arg0 , arg1 , arg2); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return list( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return list( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } namespace result_of { template struct list_tie< 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 , void_ , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } namespace result_of { template struct list_tie< 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 , void_ , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } namespace result_of { template struct list_tie< 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 , void_ > { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48 , T49 & arg49) { return list( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_deque.hpp000066400000000000000000000020601265471724600332170ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_DEQUE_SIZE <= 10 #include #elif FUSION_MAX_DEQUE_SIZE <= 20 #include #elif FUSION_MAX_DEQUE_SIZE <= 30 #include #elif FUSION_MAX_DEQUE_SIZE <= 40 #include #elif FUSION_MAX_DEQUE_SIZE <= 50 #include #else #error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp000066400000000000000000000352631265471724600333730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename Extra = void_ > struct make_deque; template <> struct make_deque<> { typedef deque<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque<> make_deque() { return deque<>(); } namespace result_of { template struct make_deque< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type> make_deque(T0 const& arg0) { return deque::type>( arg0); } namespace result_of { template struct make_deque< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1) { return deque::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_deque< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp000066400000000000000000001422341265471724600333710ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename Extra = void_ > struct make_deque; template <> struct make_deque<> { typedef deque<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque<> make_deque() { return deque<>(); } namespace result_of { template struct make_deque< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type> make_deque(T0 const& arg0) { return deque::type>( arg0); } namespace result_of { template struct make_deque< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1) { return deque::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_deque< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp000066400000000000000000003212011265471724600333630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename Extra = void_ > struct make_deque; template <> struct make_deque<> { typedef deque<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque<> make_deque() { return deque<>(); } namespace result_of { template struct make_deque< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type> make_deque(T0 const& arg0) { return deque::type>( arg0); } namespace result_of { template struct make_deque< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1) { return deque::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_deque< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct make_deque< 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 , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct make_deque< 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 , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp000066400000000000000000005521421265471724600333760ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename Extra = void_ > struct make_deque; template <> struct make_deque<> { typedef deque<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque<> make_deque() { return deque<>(); } namespace result_of { template struct make_deque< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type> make_deque(T0 const& arg0) { return deque::type>( arg0); } namespace result_of { template struct make_deque< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1) { return deque::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_deque< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { template struct make_deque< 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 , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { template struct make_deque< 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 , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp000066400000000000000000010550771265471724600334050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ , typename Extra = void_ > struct make_deque; template <> struct make_deque<> { typedef deque<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque<> make_deque() { return deque<>(); } namespace result_of { template struct make_deque< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type> make_deque(T0 const& arg0) { return deque::type>( arg0); } namespace result_of { template struct make_deque< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1) { return deque::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_deque< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } namespace result_of { template struct make_deque< 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 , void_ , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } namespace result_of { template struct make_deque< 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 , void_ , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } namespace result_of { template struct make_deque< 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 , void_ > { typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_list.hpp000066400000000000000000000020451265471724600330720ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_LIST_SIZE <= 10 #include #elif FUSION_MAX_LIST_SIZE <= 20 #include #elif FUSION_MAX_LIST_SIZE <= 30 #include #elif FUSION_MAX_LIST_SIZE <= 40 #include #elif FUSION_MAX_LIST_SIZE <= 50 #include #else #error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp000066400000000000000000000351731265471724600332430ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename Extra = void_ > struct make_list; template <> struct make_list<> { typedef list<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list<> make_list() { return list<>(); } namespace result_of { template struct make_list< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type> make_list(T0 const& arg0) { return list::type>( arg0); } namespace result_of { template struct make_list< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1) { return list::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_list< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp000066400000000000000000001420621265471724600332400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename Extra = void_ > struct make_list; template <> struct make_list<> { typedef list<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list<> make_list() { return list<>(); } namespace result_of { template struct make_list< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type> make_list(T0 const& arg0) { return list::type>( arg0); } namespace result_of { template struct make_list< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1) { return list::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_list< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp000066400000000000000000003207451265471724600332470ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename Extra = void_ > struct make_list; template <> struct make_list<> { typedef list<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list<> make_list() { return list<>(); } namespace result_of { template struct make_list< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type> make_list(T0 const& arg0) { return list::type>( arg0); } namespace result_of { template struct make_list< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1) { return list::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_list< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct make_list< 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 , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct make_list< 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 , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp000066400000000000000000005516241265471724600332520ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename Extra = void_ > struct make_list; template <> struct make_list<> { typedef list<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list<> make_list() { return list<>(); } namespace result_of { template struct make_list< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type> make_list(T0 const& arg0) { return list::type>( arg0); } namespace result_of { template struct make_list< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1) { return list::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_list< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { template struct make_list< 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 , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { template struct make_list< 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 , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp000066400000000000000000010544771265471724600332600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ , typename Extra = void_ > struct make_list; template <> struct make_list<> { typedef list<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list<> make_list() { return list<>(); } namespace result_of { template struct make_list< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type> make_list(T0 const& arg0) { return list::type>( arg0); } namespace result_of { template struct make_list< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1) { return list::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_list< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } namespace result_of { template struct make_list< 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 , void_ , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } namespace result_of { template struct make_list< 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 , void_ , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } namespace result_of { template struct make_list< 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 , void_ > { typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_map.hpp000066400000000000000000000020321265471724600326700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_MAP_SIZE <= 10 #include #elif FUSION_MAX_MAP_SIZE <= 20 #include #elif FUSION_MAX_MAP_SIZE <= 30 #include #elif FUSION_MAX_MAP_SIZE <= 40 #include #elif FUSION_MAX_MAP_SIZE <= 50 #include #else #error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp000066400000000000000000000536051265471724600330450ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename Extra = void_ > struct make_map; template <> struct make_map<> { typedef map<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map<> make_map() { return map<>(); } namespace result_of { template < typename K0 , typename D0 > struct make_map { typedef map::type> > type; }; } template < typename K0 , typename D0 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > make_map(D0 const& arg0) { return map::type> >( fusion::make_pair(arg0)); } namespace result_of { template < typename K0 , typename K1 , typename D0 , typename D1 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename D0 , typename D1 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp000066400000000000000000002300751265471724600330440ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename Extra = void_ > struct make_map; template <> struct make_map<> { typedef map<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map<> make_map() { return map<>(); } namespace result_of { template < typename K0 , typename D0 > struct make_map { typedef map::type> > type; }; } template < typename K0 , typename D0 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > make_map(D0 const& arg0) { return map::type> >( fusion::make_pair(arg0)); } namespace result_of { template < typename K0 , typename K1 , typename D0 , typename D1 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename D0 , typename D1 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19)); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp000066400000000000000000005100351265471724600330420ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename Extra = void_ > struct make_map; template <> struct make_map<> { typedef map<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map<> make_map() { return map<>(); } namespace result_of { template < typename K0 , typename D0 > struct make_map { typedef map::type> > type; }; } template < typename K0 , typename D0 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > make_map(D0 const& arg0) { return map::type> >( fusion::make_pair(arg0)); } namespace result_of { template < typename K0 , typename K1 , typename D0 , typename D1 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename D0 , typename D1 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29)); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp000066400000000000000000010734451265471724600330550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename K30 = void_ , typename K31 = void_ , typename K32 = void_ , typename K33 = void_ , typename K34 = void_ , typename K35 = void_ , typename K36 = void_ , typename K37 = void_ , typename K38 = void_ , typename K39 = void_ , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename D30 = void_ , typename D31 = void_ , typename D32 = void_ , typename D33 = void_ , typename D34 = void_ , typename D35 = void_ , typename D36 = void_ , typename D37 = void_ , typename D38 = void_ , typename D39 = void_ , typename Extra = void_ > struct make_map; template <> struct make_map<> { typedef map<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map<> make_map() { return map<>(); } namespace result_of { template < typename K0 , typename D0 > struct make_map { typedef map::type> > type; }; } template < typename K0 , typename D0 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > make_map(D0 const& arg0) { return map::type> >( fusion::make_pair(arg0)); } namespace result_of { template < typename K0 , typename K1 , typename D0 , typename D1 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename D0 , typename D1 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39)); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp000066400000000000000000015625251265471724600330600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename K30 = void_ , typename K31 = void_ , typename K32 = void_ , typename K33 = void_ , typename K34 = void_ , typename K35 = void_ , typename K36 = void_ , typename K37 = void_ , typename K38 = void_ , typename K39 = void_ , typename K40 = void_ , typename K41 = void_ , typename K42 = void_ , typename K43 = void_ , typename K44 = void_ , typename K45 = void_ , typename K46 = void_ , typename K47 = void_ , typename K48 = void_ , typename K49 = void_ , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename D30 = void_ , typename D31 = void_ , typename D32 = void_ , typename D33 = void_ , typename D34 = void_ , typename D35 = void_ , typename D36 = void_ , typename D37 = void_ , typename D38 = void_ , typename D39 = void_ , typename D40 = void_ , typename D41 = void_ , typename D42 = void_ , typename D43 = void_ , typename D44 = void_ , typename D45 = void_ , typename D46 = void_ , typename D47 = void_ , typename D48 = void_ , typename D49 = void_ , typename Extra = void_ > struct make_map; template <> struct make_map<> { typedef map<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map<> make_map() { return map<>(); } namespace result_of { template < typename K0 , typename D0 > struct make_map { typedef map::type> > type; }; } template < typename K0 , typename D0 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > make_map(D0 const& arg0) { return map::type> >( fusion::make_pair(arg0)); } namespace result_of { template < typename K0 , typename K1 , typename D0 , typename D1 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename D0 , typename D1 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45 , D46 const& arg46) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45) , fusion::make_pair(arg46)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45 , D46 const& arg46 , D47 const& arg47) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45) , fusion::make_pair(arg46) , fusion::make_pair(arg47)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45 , D46 const& arg46 , D47 const& arg47 , D48 const& arg48) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45) , fusion::make_pair(arg46) , fusion::make_pair(arg47) , fusion::make_pair(arg48)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 > struct make_map { typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> , fusion::pair< K49 , typename detail::as_fusion_element::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> , fusion::pair< K49 , typename detail::as_fusion_element::type> > make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45 , D46 const& arg46 , D47 const& arg47 , D48 const& arg48 , D49 const& arg49) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> , fusion::pair< K49 , typename detail::as_fusion_element::type> >( fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45) , fusion::make_pair(arg46) , fusion::make_pair(arg47) , fusion::make_pair(arg48) , fusion::make_pair(arg49)); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_set.hpp000066400000000000000000000020321265471724600327060ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_SET_SIZE <= 10 #include #elif FUSION_MAX_SET_SIZE <= 20 #include #elif FUSION_MAX_SET_SIZE <= 30 #include #elif FUSION_MAX_SET_SIZE <= 40 #include #elif FUSION_MAX_SET_SIZE <= 50 #include #else #error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp000066400000000000000000000352171265471724600330620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename Extra = void_ > struct make_set; template <> struct make_set<> { typedef set<> type; }; } # if defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # else BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED inline set<> make_set() { return set<>(); } namespace result_of { template struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type> make_set(T0 const& arg0) { return set::type>( arg0); } namespace result_of { template struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1) { return set::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp000066400000000000000000001420241265471724600330560ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename Extra = void_ > struct make_set; template <> struct make_set<> { typedef set<> type; }; } # if defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # else BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED inline set<> make_set() { return set<>(); } namespace result_of { template struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type> make_set(T0 const& arg0) { return set::type>( arg0); } namespace result_of { template struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1) { return set::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp000066400000000000000000003206251265471724600330640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename Extra = void_ > struct make_set; template <> struct make_set<> { typedef set<> type; }; } # if defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # else BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED inline set<> make_set() { return set<>(); } namespace result_of { template struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type> make_set(T0 const& arg0) { return set::type>( arg0); } namespace result_of { template struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1) { return set::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct make_set< 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 , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct make_set< 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 , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp000066400000000000000000005514221265471724600330660ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename Extra = void_ > struct make_set; template <> struct make_set<> { typedef set<> type; }; } # if defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # else BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED inline set<> make_set() { return set<>(); } namespace result_of { template struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type> make_set(T0 const& arg0) { return set::type>( arg0); } namespace result_of { template struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1) { return set::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { template struct make_set< 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 , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { template struct make_set< 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 , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp000066400000000000000000010542131265471724600330640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ , typename Extra = void_ > struct make_set; template <> struct make_set<> { typedef set<> type; }; } # if defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # else BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED inline set<> make_set() { return set<>(); } namespace result_of { template struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type> make_set(T0 const& arg0) { return set::type>( arg0); } namespace result_of { template struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1) { return set::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } namespace result_of { template struct make_set< 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 , void_ , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } namespace result_of { template struct make_set< 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 , void_ , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } namespace result_of { template struct make_set< 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 , void_ > { typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp000066400000000000000000000020731265471724600334220ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_VECTOR_SIZE <= 10 #include #elif FUSION_MAX_VECTOR_SIZE <= 20 #include #elif FUSION_MAX_VECTOR_SIZE <= 30 #include #elif FUSION_MAX_VECTOR_SIZE <= 40 #include #elif FUSION_MAX_VECTOR_SIZE <= 50 #include #else #error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp000066400000000000000000000354171265471724600335730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename Extra = void_ > struct make_vector; template <> struct make_vector<> { typedef vector0<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector0<> make_vector() { return vector0<>(); } namespace result_of { template struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector1::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector1::type> make_vector(T0 const& arg0) { return vector1::type>( arg0); } namespace result_of { template struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector2::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector2::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1) { return vector2::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > { typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > { typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > { typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > { typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > { typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp000066400000000000000000001425461265471724600335760ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename Extra = void_ > struct make_vector; template <> struct make_vector<> { typedef vector0<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector0<> make_vector() { return vector0<>(); } namespace result_of { template struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector1::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector1::type> make_vector(T0 const& arg0) { return vector1::type>( arg0); } namespace result_of { template struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector2::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector2::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1) { return vector2::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > { typedef vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > { typedef vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > { typedef vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > { typedef vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > { typedef vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp000066400000000000000000003216711265471724600335750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename Extra = void_ > struct make_vector; template <> struct make_vector<> { typedef vector0<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector0<> make_vector() { return vector0<>(); } namespace result_of { template struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector1::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector1::type> make_vector(T0 const& arg0) { return vector1::type>( arg0); } namespace result_of { template struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector2::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector2::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1) { return vector2::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ > { typedef vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ > { typedef vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ > { typedef vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct make_vector< 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 , void_ , void_ > { typedef vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct make_vector< 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 , void_ > { typedef vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp000066400000000000000000005530101265471724600335700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename Extra = void_ > struct make_vector; template <> struct make_vector<> { typedef vector0<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector0<> make_vector() { return vector0<>(); } namespace result_of { template struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector1::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector1::type> make_vector(T0 const& arg0) { return vector1::type>( arg0); } namespace result_of { template struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector2::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector2::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1) { return vector2::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ > { typedef vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ > { typedef vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ > { typedef vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { template struct make_vector< 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 , void_ , void_ > { typedef vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { template struct make_vector< 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 , void_ > { typedef vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp000066400000000000000000010561231265471724600335750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ , typename Extra = void_ > struct make_vector; template <> struct make_vector<> { typedef vector0<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector0<> make_vector() { return vector0<>(); } namespace result_of { template struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector1::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector1::type> make_vector(T0 const& arg0) { return vector1::type>( arg0); } namespace result_of { template struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector2::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector2::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1) { return vector2::type , typename detail::as_fusion_element::type>( arg0 , arg1); } namespace result_of { template struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector41::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector41::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) { return vector41::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector42::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector42::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) { return vector42::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector43::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector43::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) { return vector43::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector44::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector44::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) { return vector44::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector45::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector45::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) { return vector45::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ , void_ > { typedef vector46::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector46::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) { return vector46::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ , void_ > { typedef vector47::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector47::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) { return vector47::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } namespace result_of { template struct make_vector< 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 , void_ , void_ , void_ > { typedef vector48::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector48::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) { return vector48::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } namespace result_of { template struct make_vector< 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 , void_ , void_ > { typedef vector49::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector49::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) { return vector49::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } namespace result_of { template struct make_vector< 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 , void_ > { typedef vector50::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector50::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) { return vector50::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/map_tie.hpp000066400000000000000000000020251265471724600325360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_MAP_SIZE <= 10 #include #elif FUSION_MAX_MAP_SIZE <= 20 #include #elif FUSION_MAX_MAP_SIZE <= 30 #include #elif FUSION_MAX_MAP_SIZE <= 40 #include #elif FUSION_MAX_MAP_SIZE <= 50 #include #else #error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp000066400000000000000000000471501265471724600327070ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename Extra = void_ > struct map_tie; template <> struct map_tie<> { typedef map<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map<> map_tie() { return map<>(); } namespace result_of { template < typename K0 , typename D0 > struct map_tie { typedef map::type> > type; }; } template < typename K0 , typename D0 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > map_tie(D0 & arg0) { return map::type> >( fusion::pair_tie(arg0)); } namespace result_of { template < typename K0 , typename K1 , typename D0 , typename D1 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename D0 , typename D1 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1) { return map::type> , fusion::pair< K1 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp000066400000000000000000002066361265471724600327160ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename Extra = void_ > struct map_tie; template <> struct map_tie<> { typedef map<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map<> map_tie() { return map<>(); } namespace result_of { template < typename K0 , typename D0 > struct map_tie { typedef map::type> > type; }; } template < typename K0 , typename D0 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > map_tie(D0 & arg0) { return map::type> >( fusion::pair_tie(arg0)); } namespace result_of { template < typename K0 , typename K1 , typename D0 , typename D1 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename D0 , typename D1 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1) { return map::type> , fusion::pair< K1 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19)); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp000066400000000000000000004416241265471724600327150ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename Extra = void_ > struct map_tie; template <> struct map_tie<> { typedef map<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map<> map_tie() { return map<>(); } namespace result_of { template < typename K0 , typename D0 > struct map_tie { typedef map::type> > type; }; } template < typename K0 , typename D0 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > map_tie(D0 & arg0) { return map::type> >( fusion::pair_tie(arg0)); } namespace result_of { template < typename K0 , typename K1 , typename D0 , typename D1 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename D0 , typename D1 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1) { return map::type> , fusion::pair< K1 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29)); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp000066400000000000000000007701121265471724600327130ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename K30 = void_ , typename K31 = void_ , typename K32 = void_ , typename K33 = void_ , typename K34 = void_ , typename K35 = void_ , typename K36 = void_ , typename K37 = void_ , typename K38 = void_ , typename K39 = void_ , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename D30 = void_ , typename D31 = void_ , typename D32 = void_ , typename D33 = void_ , typename D34 = void_ , typename D35 = void_ , typename D36 = void_ , typename D37 = void_ , typename D38 = void_ , typename D39 = void_ , typename Extra = void_ > struct map_tie; template <> struct map_tie<> { typedef map<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map<> map_tie() { return map<>(); } namespace result_of { template < typename K0 , typename D0 > struct map_tie { typedef map::type> > type; }; } template < typename K0 , typename D0 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > map_tie(D0 & arg0) { return map::type> >( fusion::pair_tie(arg0)); } namespace result_of { template < typename K0 , typename K1 , typename D0 , typename D1 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename D0 , typename D1 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1) { return map::type> , fusion::pair< K1 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39)); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp000066400000000000000000014117001265471724600327100ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename K30 = void_ , typename K31 = void_ , typename K32 = void_ , typename K33 = void_ , typename K34 = void_ , typename K35 = void_ , typename K36 = void_ , typename K37 = void_ , typename K38 = void_ , typename K39 = void_ , typename K40 = void_ , typename K41 = void_ , typename K42 = void_ , typename K43 = void_ , typename K44 = void_ , typename K45 = void_ , typename K46 = void_ , typename K47 = void_ , typename K48 = void_ , typename K49 = void_ , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename D30 = void_ , typename D31 = void_ , typename D32 = void_ , typename D33 = void_ , typename D34 = void_ , typename D35 = void_ , typename D36 = void_ , typename D37 = void_ , typename D38 = void_ , typename D39 = void_ , typename D40 = void_ , typename D41 = void_ , typename D42 = void_ , typename D43 = void_ , typename D44 = void_ , typename D45 = void_ , typename D46 = void_ , typename D47 = void_ , typename D48 = void_ , typename D49 = void_ , typename Extra = void_ > struct map_tie; template <> struct map_tie<> { typedef map<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map<> map_tie() { return map<>(); } namespace result_of { template < typename K0 , typename D0 > struct map_tie { typedef map::type> > type; }; } template < typename K0 , typename D0 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > map_tie(D0 & arg0) { return map::type> >( fusion::pair_tie(arg0)); } namespace result_of { template < typename K0 , typename K1 , typename D0 , typename D1 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename D0 , typename D1 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1) { return map::type> , fusion::pair< K1 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45 , D46 & arg46) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45) , fusion::pair_tie(arg46)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45 , D46 & arg46 , D47 & arg47) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45) , fusion::pair_tie(arg46) , fusion::pair_tie(arg47)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45 , D46 & arg46 , D47 & arg47 , D48 & arg48) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45) , fusion::pair_tie(arg46) , fusion::pair_tie(arg47) , fusion::pair_tie(arg48)); } namespace result_of { template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 > struct map_tie { typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> , fusion::pair< K49 , typename add_reference::type> > type; }; } template < typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> , fusion::pair< K49 , typename add_reference::type> > map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45 , D46 & arg46 , D47 & arg47 , D48 & arg48 , D49 & arg49) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> , fusion::pair< K49 , typename add_reference::type> >( fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45) , fusion::pair_tie(arg46) , fusion::pair_tie(arg47) , fusion::pair_tie(arg48) , fusion::pair_tie(arg49)); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/vector_tie.hpp000066400000000000000000000020661265471724600332700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_VECTOR_SIZE <= 10 #include #elif FUSION_MAX_VECTOR_SIZE <= 20 #include #elif FUSION_MAX_VECTOR_SIZE <= 30 #include #elif FUSION_MAX_VECTOR_SIZE <= 40 #include #elif FUSION_MAX_VECTOR_SIZE <= 50 #include #else #error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp000066400000000000000000000171631265471724600334350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename Extra = void_ > struct vector_tie; } namespace result_of { template struct vector_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0) { return vector( arg0); } namespace result_of { template struct vector_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1) { return vector( arg0 , arg1); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return vector( arg0 , arg1 , arg2); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return vector( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return vector( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp000066400000000000000000000553721265471724600334420ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename Extra = void_ > struct vector_tie; } namespace result_of { template struct vector_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0) { return vector( arg0); } namespace result_of { template struct vector_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1) { return vector( arg0 , arg1); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return vector( arg0 , arg1 , arg2); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return vector( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return vector( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp000066400000000000000000001345751265471724600334460ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename Extra = void_ > struct vector_tie; } namespace result_of { template struct vector_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0) { return vector( arg0); } namespace result_of { template struct vector_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1) { return vector( arg0 , arg1); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return vector( arg0 , arg1 , arg2); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return vector( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return vector( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct vector_tie< 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 , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct vector_tie< 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 , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp000066400000000000000000002347741265471724600334510ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename Extra = void_ > struct vector_tie; } namespace result_of { template struct vector_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0) { return vector( arg0); } namespace result_of { template struct vector_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1) { return vector( arg0 , arg1); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return vector( arg0 , arg1 , arg2); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return vector( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return vector( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { template struct vector_tie< 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 , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { template struct vector_tie< 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 , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} KWStyle-master/Utilities/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp000066400000000000000000003561671265471724600334530ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; namespace result_of { template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ , typename Extra = void_ > struct vector_tie; } namespace result_of { template struct vector_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0) { return vector( arg0); } namespace result_of { template struct vector_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1) { return vector( arg0 , arg1); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return vector( arg0 , arg1 , arg2); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return vector( arg0 , arg1 , arg2 , arg3); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return vector( arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { template struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } namespace result_of { template struct vector_tie< 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 , void_ , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } namespace result_of { template struct vector_tie< 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 , void_ , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } namespace result_of { template struct vector_tie< 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 , void_ > { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48 , T49 & arg49) { return vector( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} KWStyle-master/Utilities/boost/fusion/container/generation/ignore.hpp000066400000000000000000000020561265471724600264470ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001 Doug Gregor Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_IGNORE_07192005_0329) #define FUSION_IGNORE_07192005_0329 namespace boost { namespace fusion { // Swallows any assignment (by Doug Gregor) namespace detail { struct swallow_assign { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED swallow_assign const& operator=(const T&) const { return *this; } }; } // "ignore" allows tuple positions to be ignored when using "tie". BOOST_CONSTEXPR detail::swallow_assign const ignore = detail::swallow_assign(); }} #endif KWStyle-master/Utilities/boost/fusion/container/generation/list_tie.hpp000066400000000000000000000067031265471724600270030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_LIST_TIE_07192005_0109) #define FUSION_LIST_TIE_07192005_0109 #include #include #include #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/list_tie" FUSION_MAX_LIST_SIZE_STR".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; namespace result_of { template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_LIST_SIZE, typename T, void_) , typename Extra = void_ > struct list_tie; } // $$$ shouldn't we remove_reference first to allow references? $$$ #define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) #include BOOST_PP_ITERATE() #undef BOOST_FUSION_REF }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() namespace result_of { template #define TEXT(z, n, text) , text struct list_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_LIST_SIZE, TEXT, void_) > #undef TEXT { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list list_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & arg)) { return list( BOOST_PP_ENUM_PARAMS(N, arg)); } #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/generation/make_cons.hpp000066400000000000000000000026751265471724600271320ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005 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) ==============================================================================*/ #if !defined(FUSION_MAKE_CONS_07172005_0918) #define FUSION_MAKE_CONS_07172005_0918 #include #include #include namespace boost { namespace fusion { struct nil_; namespace result_of { template struct make_cons { typedef cons::type, Cdr> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline cons::type> make_cons(Car const& car) { return cons::type>(car); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline cons::type, Cdr> make_cons(Car const& car, Cdr const& cdr) { return cons::type, Cdr>(car, cdr); } }} #endif KWStyle-master/Utilities/boost/fusion/container/generation/make_deque.hpp000066400000000000000000000026271265471724600272700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2013 Joel de Guzman Distributed under the 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(FUSION_MAKE_DEQUE_01272013_1401) #define FUSION_MAKE_DEQUE_01272013_1401 #include #include #if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) # include #else /////////////////////////////////////////////////////////////////////////////// // C++11 variadic interface /////////////////////////////////////////////////////////////////////////////// #include namespace boost { namespace fusion { namespace result_of { template struct make_deque { typedef deque::type...> type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type...> make_deque(T const&... arg) { return deque::type...>(arg...); } }} #endif #endif KWStyle-master/Utilities/boost/fusion/container/generation/make_list.hpp000066400000000000000000000074211265471724600271350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_MAKE_LIST_07192005_1239) #define FUSION_MAKE_LIST_07192005_1239 #include #include #include #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_list" FUSION_MAX_LIST_SIZE_STR".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; namespace result_of { template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_LIST_SIZE, typename T, void_) , typename Extra = void_ > struct make_list; template <> struct make_list<> { typedef list<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list<> make_list() { return list<>(); } #define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ typename detail::as_fusion_element::type #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) #include BOOST_PP_ITERATE() #undef BOOST_FUSION_AS_FUSION_ELEMENT }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() namespace result_of { template #define TEXT(z, n, text) , text struct make_list< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_LIST_SIZE, TEXT, void_) > #undef TEXT { typedef list type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list make_list(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) { return list( BOOST_PP_ENUM_PARAMS(N, arg)); } #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/generation/make_map.hpp000066400000000000000000000035231265471724600267360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2013 Joel de Guzman Distributed under the 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(FUSION_MAKE_MAP_07222005_1247) #define FUSION_MAKE_MAP_07222005_1247 #include #include #if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) # include #else /////////////////////////////////////////////////////////////////////////////// // C++11 variadic interface /////////////////////////////////////////////////////////////////////////////// #include #include namespace boost { namespace fusion { namespace result_of { template struct make_map { template struct apply { typedef map< fusion::pair< Key , typename detail::as_fusion_element::type >...> type; }; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map< fusion::pair< Key , typename detail::as_fusion_element::type >...> make_map(T const&... arg) { typedef map< fusion::pair< Key , typename detail::as_fusion_element::type >...> result_type; return result_type(arg...); } }} #endif #endif KWStyle-master/Utilities/boost/fusion/container/generation/make_set.hpp000066400000000000000000000102561265471724600267550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_MAKE_SET_09162005_1125) #define FUSION_MAKE_SET_09162005_1125 #include #include #include #include #include #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_set" FUSION_MAX_SET_SIZE_STR".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #define FUSION_HASH # #endif namespace boost { namespace fusion { struct void_; namespace result_of { template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_VECTOR_SIZE, typename T, void_) , typename Extra = void_ > struct make_set; template <> struct make_set<> { typedef set<> type; }; } // XXX: #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR FUSION_HASH else BOOST_CONSTEXPR FUSION_HASH endif #else #if defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR #else BOOST_CONSTEXPR #endif #endif BOOST_FUSION_GPU_ENABLED inline set<> make_set() { return set<>(); } #define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ typename detail::as_fusion_element::type #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) #include BOOST_PP_ITERATE() #undef BOOST_FUSION_ELEMENT #undef BOOST_FUSION_AS_ELEMENT }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #undef FUSION_HASH #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() namespace result_of { template #define TEXT(z, n, text) , text struct make_set< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_SET_SIZE, TEXT, void_) > #undef TEXT { typedef set type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set make_set(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) { return set( BOOST_PP_ENUM_PARAMS(N, arg)); } #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/generation/make_vector.hpp000066400000000000000000000075631265471724600274730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_MAKE_VECTOR_07162005_0243) #define FUSION_MAKE_VECTOR_07162005_0243 #include #include #include #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_vector" FUSION_MAX_VECTOR_SIZE_STR".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; namespace result_of { template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_VECTOR_SIZE, typename T, void_) , typename Extra = void_ > struct make_vector; template <> struct make_vector<> { typedef vector0<> type; }; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector0<> make_vector() { return vector0<>(); } #define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ typename detail::as_fusion_element::type #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) #include BOOST_PP_ITERATE() #undef BOOST_FUSION_AS_FUSION_ELEMENT }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() namespace result_of { template #define TEXT(z, n, text) , text struct make_vector< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_) > #undef TEXT { typedef BOOST_PP_CAT(vector, N) type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline BOOST_PP_CAT(vector, N) make_vector(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) { return BOOST_PP_CAT(vector, N)( BOOST_PP_ENUM_PARAMS(N, arg)); } #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/generation/map_tie.hpp000066400000000000000000000026711265471724600266050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2013 Joel de Guzman Distributed under the 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(FUSION_MAP_TIE_07222005_1247) #define FUSION_MAP_TIE_07222005_1247 #include #include #if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) # include #else /////////////////////////////////////////////////////////////////////////////// // C++11 variadic interface /////////////////////////////////////////////////////////////////////////////// #include namespace boost { namespace fusion { namespace result_of { template struct map_tie { template struct apply { typedef map...> type; }; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map...> map_tie(T&... arg) { typedef map...> result_type; return result_type(arg...); } }} #endif #endif KWStyle-master/Utilities/boost/fusion/container/generation/pair_tie.hpp000066400000000000000000000025731265471724600267640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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_FUSION_PAIR_TIE_20060812_2058) #define BOOST_FUSION_PAIR_TIE_20060812_2058 #include #include #include namespace boost { namespace fusion { template struct pair; namespace result_of { template struct pair_tie { typedef fusion::pair type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename disable_if, typename result_of::pair_tie::type>::type pair_tie(T& t) { return typename result_of::pair_tie::type(t); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::pair_tie::type pair_tie(T const& t) { return typename result_of::pair_tie::type(t); } }} #endif KWStyle-master/Utilities/boost/fusion/container/generation/vector_tie.hpp000066400000000000000000000066401265471724600273320ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_VECTOR_TIE_07192005_1242) #define FUSION_VECTOR_TIE_07192005_1242 #include #include #include #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector_tie" FUSION_MAX_VECTOR_SIZE_STR".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; namespace result_of { template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_VECTOR_SIZE, typename T, void_) , typename Extra = void_ > struct vector_tie; } #define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) #include BOOST_PP_ITERATE() #undef BOOST_FUSION_REF }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() namespace result_of { template #define TEXT(z, n, text) , text struct vector_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_) > #undef TEXT { typedef vector type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector vector_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & arg)) { return vector( BOOST_PP_ENUM_PARAMS(N, arg)); } #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/list.hpp000066400000000000000000000014661265471724600240100ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_CLASS_LIST_10022005_0605) #define FUSION_SEQUENCE_CLASS_LIST_10022005_0605 #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/container/list/000077500000000000000000000000001265471724600232705ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/list/cons.hpp000066400000000000000000000114311265471724600247430ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005 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) ==============================================================================*/ #if !defined(FUSION_CONS_07172005_0843) #define FUSION_CONS_07172005_0843 #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 fusion { struct void_; struct cons_tag; struct forward_traversal_tag; struct fusion_sequence_tag; template struct cons : sequence_base > { typedef mpl::int_ size; typedef cons_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::false_ is_view; typedef forward_traversal_tag category; typedef Car car_type; typedef Cdr cdr_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons() : car(), cdr() {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit cons(typename detail::call_param::type in_car) : car(in_car), cdr() {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons( typename detail::call_param::type in_car , typename detail::call_param::type in_cdr) : car(in_car), cdr(in_cdr) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons(cons const& rhs) : car(rhs.car), cdr(rhs.cdr) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons(cons const& rhs) : car(rhs.car), cdr(rhs.cdr) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons( Sequence const& seq , typename boost::enable_if< mpl::and_< traits::is_sequence , mpl::not_ > > // use copy to car instead >::type* /*dummy*/ = 0 ) : car(*fusion::begin(seq)) , cdr(fusion::next(fusion::begin(seq)), mpl::true_()) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons(Iterator const& iter, mpl::true_ /*this_is_an_iterator*/) : car(*iter) , cdr(fusion::next(iter), mpl::true_()) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons& operator=(cons const& rhs) { car = rhs.car; cdr = rhs.cdr; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons& operator=(cons const& rhs) { car = rhs.car; cdr = rhs.cdr; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::enable_if< mpl::and_< traits::is_sequence , mpl::not_ > > , cons&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type Iterator; Iterator iter = fusion::begin(seq); this->assign_from_iter(iter); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED void assign_from_iter(Iterator const& iter) { car = *iter; cdr.assign_from_iter(fusion::next(iter)); } car_type car; cdr_type cdr; }; }} #endif KWStyle-master/Utilities/boost/fusion/container/list/cons_fwd.hpp000066400000000000000000000012371265471724600256060ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005 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) ==============================================================================*/ #if !defined(BOOST_FUSION_CONS_FWD_HPP_INCLUDED) #define BOOST_FUSION_CONS_FWD_HPP_INCLUDED namespace boost { namespace fusion { struct nil_; #ifndef nil typedef nil_ nil; #endif template struct cons; }} #endif KWStyle-master/Utilities/boost/fusion/container/list/cons_iterator.hpp000066400000000000000000000070031265471724600266540ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005 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) ==============================================================================*/ #if !defined(FUSION_CONS_ITERATOR_07172005_0849) #define FUSION_CONS_ITERATOR_07172005_0849 #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct nil_; struct cons_iterator_tag; struct forward_traversal_tag; template struct cons_iterator_identity; template struct cons_iterator : iterator_base > { typedef cons_iterator_tag fusion_tag; typedef forward_traversal_tag category; typedef Cons cons_type; typedef cons_iterator_identity< typename add_const::type> identity; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit cons_iterator(cons_type& in_cons) BOOST_NOEXCEPT : cons(in_cons) {} cons_type& cons; private: // silence MSVC warning C4512: assignment operator could not be generated cons_iterator& operator= (cons_iterator const&); }; struct nil_iterator : iterator_base { typedef forward_traversal_tag category; typedef cons_iterator_tag fusion_tag; typedef nil_ cons_type; typedef cons_iterator_identity< add_const::type> identity; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED nil_iterator() BOOST_NOEXCEPT {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit nil_iterator(nil_ const&) BOOST_NOEXCEPT {} }; template <> struct cons_iterator : nil_iterator { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons_iterator() BOOST_NOEXCEPT {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {} }; template <> struct cons_iterator : nil_iterator { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons_iterator() BOOST_NOEXCEPT {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {} }; template <> struct cons_iterator > : nil_iterator { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons_iterator() BOOST_NOEXCEPT {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {} }; template <> struct cons_iterator const> : nil_iterator { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons_iterator() BOOST_NOEXCEPT {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {} }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::cons_iterator > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/container/list/convert.hpp000066400000000000000000000036421265471724600254660ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_CONVERT_09232005_1215) #define FUSION_CONVERT_09232005_1215 #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct as_list { typedef typename detail::build_cons< typename result_of::begin::type , typename result_of::end::type > build_cons; typedef typename build_cons::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return build_cons::call(fusion::begin(seq), fusion::end(seq)); } }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_list::type as_list(Sequence& seq) { return result_of::as_list::call(seq); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_list::type as_list(Sequence const& seq) { return result_of::as_list::call(seq); } }} #endif KWStyle-master/Utilities/boost/fusion/container/list/detail/000077500000000000000000000000001265471724600245325ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/list/detail/at_impl.hpp000066400000000000000000000075611265471724600267010ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_AT_IMPL_07172005_0726) #define FUSION_AT_IMPL_07172005_0726 #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct cons_deref { typedef typename Cons::car_type type; }; template struct cons_advance { typedef typename cons_advance::type::cdr_type type; }; template struct cons_advance { typedef Cons type; }; template struct cons_advance { typedef typename Cons::cdr_type type; }; template struct cons_advance { #if BOOST_WORKAROUND(BOOST_MSVC, > 1400) // VC8 and above typedef typename Cons::cdr_type::cdr_type type; #else typedef typename Cons::cdr_type _a; typedef typename _a::cdr_type type; #endif }; template struct cons_advance { #if BOOST_WORKAROUND(BOOST_MSVC, > 1400) // VC8 and above typedef typename Cons::cdr_type::cdr_type::cdr_type type; #else typedef typename Cons::cdr_type _a; typedef typename _a::cdr_type _b; typedef typename _b::cdr_type type; #endif }; template struct cons_advance { #if BOOST_WORKAROUND(BOOST_MSVC, > 1400) // VC8 and above typedef typename Cons::cdr_type::cdr_type::cdr_type::cdr_type type; #else typedef typename Cons::cdr_type _a; typedef typename _a::cdr_type _b; typedef typename _b::cdr_type _c; typedef typename _c::cdr_type type; #endif }; } struct cons_tag; namespace extension { template struct at_impl; template <> struct at_impl { template struct apply { typedef typename detail::cons_deref< typename detail::cons_advance::type>::type element; typedef typename mpl::if_< is_const , typename detail::cref_result::type , typename detail::ref_result::type >::type type; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Cons& s, mpl::int_) { return call(s.cdr, mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Cons& s, mpl::int_<0>) { return s.car; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { return call(s, mpl::int_()); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/list/detail/begin_impl.hpp000066400000000000000000000024441265471724600273540ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005 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) ==============================================================================*/ #if !defined(FUSION_BEGIN_IMPL_07172005_0824) #define FUSION_BEGIN_IMPL_07172005_0824 #include #include #include namespace boost { namespace fusion { struct nil_; struct cons_tag; template struct cons; template struct cons_iterator; namespace extension { template struct begin_impl; template <> struct begin_impl { template struct apply { typedef cons_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& t) { return type(t); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/list/detail/build_cons.hpp000066400000000000000000000034551265471724600273730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_BUILD_CONS_09232005_1222) #define FUSION_BUILD_CONS_09232005_1222 #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template < typename First , typename Last , bool is_empty = result_of::equal_to::value> struct build_cons; template struct build_cons { typedef nil_ type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static nil_ call(First const&, Last const&) { return nil_(); } }; template struct build_cons { typedef build_cons::type, Last> next_build_cons; typedef cons< typename result_of::value_of::type , typename next_build_cons::type> type; BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& f, Last const& l) { typename result_of::value_of::type v = *f; return type(v, next_build_cons::call(fusion::next(f), l)); } }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/list/detail/convert_impl.hpp000066400000000000000000000032341265471724600277460ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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(FUSION_CONVERT_IMPL_09232005_1215) #define FUSION_CONVERT_IMPL_09232005_1215 #include #include #include #include #include #include namespace boost { namespace fusion { struct cons_tag; namespace extension { template struct convert_impl; template <> struct convert_impl { template struct apply { typedef typename detail::build_cons< typename result_of::begin::type , typename result_of::end::type > build_cons; typedef typename build_cons::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return build_cons::call(fusion::begin(seq), fusion::end(seq)); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/list/detail/deref_impl.hpp000066400000000000000000000031211265471724600273460ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005 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) ==============================================================================*/ #if !defined(FUSION_DEREF_IMPL_07172005_0831) #define FUSION_DEREF_IMPL_07172005_0831 #include #include #include #include #include namespace boost { namespace fusion { struct cons_iterator_tag; namespace extension { template struct deref_impl; template <> struct deref_impl { template struct apply { typedef typename Iterator::cons_type cons_type; typedef typename cons_type::car_type value_type; typedef typename mpl::eval_if< is_const , add_reference::type> , add_reference >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return i.cons.car; } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/list/detail/empty_impl.hpp000066400000000000000000000020571265471724600274260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Distributed under the 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_FUSION_SEQUENCE_EMPTY_IMPL_HPP_INCLUDED) #define BOOST_FUSION_SEQUENCE_EMPTY_IMPL_HPP_INCLUDED #include #include #include namespace boost { namespace fusion { struct cons_tag; struct nil_; template struct cons; namespace extension { template struct empty_impl; template <> struct empty_impl { template struct apply : boost::is_convertible {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/list/detail/end_impl.hpp000066400000000000000000000025631265471724600270400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005 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) ==============================================================================*/ #if !defined(FUSION_END_IMPL_07172005_0828) #define FUSION_END_IMPL_07172005_0828 #include #include #include namespace boost { namespace fusion { struct nil_; struct cons_tag; template struct cons; template struct cons_iterator; namespace extension { template struct end_impl; template <> struct end_impl { template struct apply { typedef cons_iterator< typename mpl::if_, nil_ const, nil_>::type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence&) { return type(); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/list/detail/equal_to_impl.hpp000066400000000000000000000021151265471724600300740ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_EQUAL_TO_IMPL_09172005_1120) #define FUSION_EQUAL_TO_IMPL_09172005_1120 #include #include #include #include namespace boost { namespace fusion { struct cons_iterator_tag; namespace extension { template struct equal_to_impl; template <> struct equal_to_impl { template struct apply : is_same< typename I1::identity , typename I2::identity > { }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/list/detail/list_forward_ctor.hpp000066400000000000000000000032461265471724600307760ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_LIST_FORWARD_CTOR_07172005_0113) #define FUSION_LIST_FORWARD_CTOR_07172005_0113 #include #include #include #include #include #define FUSION_LIST_CTOR_MAKE_CONS(z, n, type) tie_cons(BOOST_PP_CAT(_, n) #define FUSION_LIST_CL_PAREN(z, n, type) ) #define BOOST_PP_FILENAME_1 \ #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) #include BOOST_PP_ITERATE() #undef FUSION_LIST_CTOR_MAKE_CONS #undef FUSION_LIST_CL_PAREN #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED #if N == 1 explicit #endif list(BOOST_PP_ENUM_BINARY_PARAMS( N, typename detail::call_param::type arg)) : inherited_type(list_to_cons::call(BOOST_PP_ENUM_PARAMS(N, arg))) {} #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/list/detail/list_to_cons.hpp000066400000000000000000000050771265471724600277530ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_LIST_TO_CONS_07172005_1041) #define FUSION_LIST_TO_CONS_07172005_1041 #include #include #include #include #include #include #include #define FUSION_VOID(z, n, _) void_ namespace boost { namespace fusion { struct nil_; struct void_; }} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/list_to_cons" FUSION_MAX_LIST_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { namespace detail { template struct list_to_cons { typedef T0 head_type; typedef list_to_cons< BOOST_PP_ENUM_SHIFTED_PARAMS(FUSION_MAX_LIST_SIZE, T), void_> tail_list_to_cons; typedef typename tail_list_to_cons::type tail_type; typedef cons type; #include }; template <> struct list_to_cons { typedef nil_ type; }; }}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #undef FUSION_VOID #endif KWStyle-master/Utilities/boost/fusion/container/list/detail/list_to_cons_call.hpp000066400000000000000000000027251265471724600307430ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_LIST_TO_CONS_CALL_07192005_0138) #define FUSION_LIST_TO_CONS_CALL_07192005_0138 #include #include #include #define BOOST_PP_FILENAME_1 \ #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) #include BOOST_PP_ITERATE() #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(BOOST_PP_ENUM_BINARY_PARAMS( N, typename detail::call_param::type arg)) { return type(arg0 #if N > 1 , tail_list_to_cons::call(BOOST_PP_ENUM_SHIFTED_PARAMS(N, arg))); #else ); #endif } #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/list/detail/next_impl.hpp000066400000000000000000000033661265471724600272520ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005 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) ==============================================================================*/ #if !defined(FUSION_NEXT_IMPL_07172005_0836) #define FUSION_NEXT_IMPL_07172005_0836 #include #include #include #include #include #include #include namespace boost { namespace fusion { struct cons_iterator_tag; template struct cons_iterator; namespace extension { template struct next_impl; template <> struct next_impl { template struct apply { typedef typename Iterator::cons_type cons_type; typedef typename cons_type::cdr_type cdr_type; typedef cons_iterator< typename mpl::eval_if< is_const , add_const , mpl::identity >::type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.cons.cdr); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/000077500000000000000000000000001265471724600272305ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list.hpp000066400000000000000000000017561265471724600307250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_LIST_SIZE <= 10 #include #elif FUSION_MAX_LIST_SIZE <= 20 #include #elif FUSION_MAX_LIST_SIZE <= 30 #include #elif FUSION_MAX_LIST_SIZE <= 40 #include #elif FUSION_MAX_LIST_SIZE <= 50 #include #else #error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list10.hpp000066400000000000000000000143141265471724600310600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct nil_; struct void_; template struct list : detail::list_to_cons::type { private: typedef detail::list_to_cons list_to_cons; public: typedef typename list_to_cons::type inherited_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list() : inherited_type() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(list const& rhs) : inherited_type(rhs) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(Sequence const& rhs , typename boost::enable_if >::type* = 0) : inherited_type(rhs) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit list(typename detail::call_param::type arg0) : inherited_type(list_to_cons::call(arg0)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : inherited_type(list_to_cons::call(arg0 , arg1)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED list& operator=(list const& rhs) { inherited_type::operator=(rhs); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::enable_if, list&>::type operator=(Sequence const& rhs) { inherited_type::operator=(rhs); return *this; } }; }} KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list10_fwd.hpp000066400000000000000000000013341265471724600317160ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ > struct list; }} KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list20.hpp000066400000000000000000000401121265471724600310540ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct nil_; struct void_; template struct list : detail::list_to_cons::type { private: typedef detail::list_to_cons list_to_cons; public: typedef typename list_to_cons::type inherited_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list() : inherited_type() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(list const& rhs) : inherited_type(rhs) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(Sequence const& rhs , typename boost::enable_if >::type* = 0) : inherited_type(rhs) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit list(typename detail::call_param::type arg0) : inherited_type(list_to_cons::call(arg0)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : inherited_type(list_to_cons::call(arg0 , arg1)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED list& operator=(list const& rhs) { inherited_type::operator=(rhs); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::enable_if, list&>::type operator=(Sequence const& rhs) { inherited_type::operator=(rhs); return *this; } }; }} KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list20_fwd.hpp000066400000000000000000000017021265471724600317160ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ > struct list; }} KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list30.hpp000066400000000000000000000766501265471724600310750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct nil_; struct void_; template struct list : detail::list_to_cons::type { private: typedef detail::list_to_cons list_to_cons; public: typedef typename list_to_cons::type inherited_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list() : inherited_type() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(list const& rhs) : inherited_type(rhs) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(Sequence const& rhs , typename boost::enable_if >::type* = 0) : inherited_type(rhs) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit list(typename detail::call_param::type arg0) : inherited_type(list_to_cons::call(arg0)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : inherited_type(list_to_cons::call(arg0 , arg1)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED list& operator=(list const& rhs) { inherited_type::operator=(rhs); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::enable_if, list&>::type operator=(Sequence const& rhs) { inherited_type::operator=(rhs); return *this; } }; }} KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list30_fwd.hpp000066400000000000000000000022501265471724600317160ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ > struct list; }} KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list40.hpp000066400000000000000000001503461265471724600310710ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct nil_; struct void_; template struct list : detail::list_to_cons::type { private: typedef detail::list_to_cons list_to_cons; public: typedef typename list_to_cons::type inherited_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list() : inherited_type() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(list const& rhs) : inherited_type(rhs) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(Sequence const& rhs , typename boost::enable_if >::type* = 0) : inherited_type(rhs) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit list(typename detail::call_param::type arg0) : inherited_type(list_to_cons::call(arg0)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : inherited_type(list_to_cons::call(arg0 , arg1)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED list& operator=(list const& rhs) { inherited_type::operator=(rhs); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::enable_if, list&>::type operator=(Sequence const& rhs) { inherited_type::operator=(rhs); return *this; } }; }} KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list40_fwd.hpp000066400000000000000000000026161265471724600317250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ > struct list; }} KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list50.hpp000066400000000000000000002350041265471724600310650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct nil_; struct void_; template struct list : detail::list_to_cons::type { private: typedef detail::list_to_cons list_to_cons; public: typedef typename list_to_cons::type inherited_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list() : inherited_type() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(list const& rhs) : inherited_type(rhs) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(Sequence const& rhs , typename boost::enable_if >::type* = 0) : inherited_type(rhs) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit list(typename detail::call_param::type arg0) : inherited_type(list_to_cons::call(arg0)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : inherited_type(list_to_cons::call(arg0 , arg1)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED list& operator=(list const& rhs) { inherited_type::operator=(rhs); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::enable_if, list&>::type operator=(Sequence const& rhs) { inherited_type::operator=(rhs); return *this; } }; }} KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list50_fwd.hpp000066400000000000000000000031641265471724600317250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ > struct list; }} KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list_fwd.hpp000066400000000000000000000020021265471724600315460ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_LIST_SIZE <= 10 #include #elif FUSION_MAX_LIST_SIZE <= 20 #include #elif FUSION_MAX_LIST_SIZE <= 30 #include #elif FUSION_MAX_LIST_SIZE <= 40 #include #elif FUSION_MAX_LIST_SIZE <= 50 #include #else #error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list_to_cons.hpp000066400000000000000000000020261265471724600324400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_LIST_SIZE <= 10 #include #elif FUSION_MAX_LIST_SIZE <= 20 #include #elif FUSION_MAX_LIST_SIZE <= 30 #include #elif FUSION_MAX_LIST_SIZE <= 40 #include #elif FUSION_MAX_LIST_SIZE <= 50 #include #else #error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list_to_cons10.hpp000066400000000000000000000123451265471724600326060ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct list_to_cons { typedef T0 head_type; typedef list_to_cons< T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9, void_> tail_list_to_cons; typedef typename tail_list_to_cons::type tail_type; typedef cons type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0) { return type(arg0 ); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) { return type(arg0 , tail_list_to_cons::call(arg1)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); } }; template <> struct list_to_cons { typedef nil_ type; }; }}} KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list_to_cons20.hpp000066400000000000000000000360471265471724600326140ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct list_to_cons { typedef T0 head_type; typedef list_to_cons< T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19, void_> tail_list_to_cons; typedef typename tail_list_to_cons::type tail_type; typedef cons type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0) { return type(arg0 ); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) { return type(arg0 , tail_list_to_cons::call(arg1)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)); } }; template <> struct list_to_cons { typedef nil_ type; }; }}} KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list_to_cons30.hpp000066400000000000000000000745111265471724600326130ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct list_to_cons { typedef T0 head_type; typedef list_to_cons< 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, void_> tail_list_to_cons; typedef typename tail_list_to_cons::type tail_type; typedef cons type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0) { return type(arg0 ); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) { return type(arg0 , tail_list_to_cons::call(arg1)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)); } }; template <> struct list_to_cons { typedef nil_ type; }; }}} KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list_to_cons40.hpp000066400000000000000000001461131265471724600326120ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct list_to_cons { typedef T0 head_type; typedef list_to_cons< 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, void_> tail_list_to_cons; typedef typename tail_list_to_cons::type tail_type; typedef cons type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0) { return type(arg0 ); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) { return type(arg0 , tail_list_to_cons::call(arg1)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39)); } }; template <> struct list_to_cons { typedef nil_ type; }; }}} KWStyle-master/Utilities/boost/fusion/container/list/detail/preprocessed/list_to_cons50.hpp000066400000000000000000002324551265471724600326200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct list_to_cons { typedef T0 head_type; typedef list_to_cons< 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, void_> tail_list_to_cons; typedef typename tail_list_to_cons::type tail_type; typedef cons type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0) { return type(arg0 ); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) { return type(arg0 , tail_list_to_cons::call(arg1)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) { return type(arg0 , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49)); } }; template <> struct list_to_cons { typedef nil_ type; }; }}} KWStyle-master/Utilities/boost/fusion/container/list/detail/reverse_cons.hpp000066400000000000000000000030171265471724600277410ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_REVERSE_CONS_HPP_INCLUDED) #define BOOST_FUSION_REVERSE_CONS_HPP_INCLUDED #include #include namespace boost { namespace fusion { namespace detail { //////////////////////////////////////////////////////////////////////////// template struct reverse_cons; template struct reverse_cons, State> { typedef reverse_cons > impl; typedef typename impl::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(cons const &cons, State const &state = State()) { typedef fusion::cons cdr_type; return impl::call(cons.cdr, cdr_type(cons.car, state)); } }; template struct reverse_cons { typedef State type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static State const &call(nil_ const &, State const &state = State()) { return state; } }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/list/detail/value_at_impl.hpp000066400000000000000000000024561265471724600300730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VALUE_AT_IMPL_07172005_0952) #define FUSION_VALUE_AT_IMPL_07172005_0952 #include #include #include #include #include namespace boost { namespace fusion { struct cons_tag; namespace extension { template struct value_at_impl; template <> struct value_at_impl { template struct apply { typedef typename mpl::eval_if< mpl::bool_ , mpl::identity , apply > >::type type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/list/detail/value_of_impl.hpp000066400000000000000000000017221265471724600300660ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005 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) ==============================================================================*/ #if !defined(FUSION_VALUE_OF_IMPL_07172005_0838) #define FUSION_VALUE_OF_IMPL_07172005_0838 namespace boost { namespace fusion { struct cons_iterator_tag; namespace extension { template struct value_of_impl; template <> struct value_of_impl { template struct apply { typedef typename Iterator::cons_type cons_type; typedef typename cons_type::car_type type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/list/limits.hpp000066400000000000000000000014341265471724600253040ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_LIST_LIMITS_07172005_0112) #define FUSION_LIST_LIMITS_07172005_0112 #include #if !defined(FUSION_MAX_LIST_SIZE) # define FUSION_MAX_LIST_SIZE 10 #else # if FUSION_MAX_LIST_SIZE < 3 # undef FUSION_MAX_LIST_SIZE # define FUSION_MAX_LIST_SIZE 10 # endif #endif #define FUSION_MAX_LIST_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_LIST_SIZE)) #endif KWStyle-master/Utilities/boost/fusion/container/list/list.hpp000066400000000000000000000073021265471724600247560ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_LIST_07172005_1153) #define FUSION_LIST_07172005_1153 #include #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/list" FUSION_MAX_LIST_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct nil_; struct void_; template struct list : detail::list_to_cons::type { private: typedef detail::list_to_cons list_to_cons; public: typedef typename list_to_cons::type inherited_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list() : inherited_type() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(list const& rhs) : inherited_type(rhs) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list(Sequence const& rhs , typename boost::enable_if >::type* = 0) : inherited_type(rhs) {} // Expand a couple of forwarding constructors for arguments // of type (T0), (T0, T1), (T0, T1, T2) etc. Exanple: // // list( // typename detail::call_param::type arg0 // , typename detail::call_param::type arg1) // : inherited_type(list_to_cons::call(arg0, arg1)) {} #include template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED list& operator=(list const& rhs) { inherited_type::operator=(rhs); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::enable_if, list&>::type operator=(Sequence const& rhs) { inherited_type::operator=(rhs); return *this; } }; }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/container/list/list_fwd.hpp000066400000000000000000000034601265471724600256170ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_LIST_FORWARD_07172005_0224) #define FUSION_LIST_FORWARD_07172005_0224 #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/list" FUSION_MAX_LIST_SIZE_STR "_fwd.hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_LIST_SIZE, typename T, void_) > struct list; }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/container/list/nil.hpp000066400000000000000000000031421265471724600245630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005, 2014 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) ==============================================================================*/ #if !defined(FUSION_NIL_04232014_0843) #define FUSION_NIL_04232014_0843 #include #include #include #include #include namespace boost { namespace fusion { struct void_; struct cons_tag; struct forward_traversal_tag; struct fusion_sequence_tag; struct nil_ : sequence_base { typedef mpl::int_<0> size; typedef cons_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::false_ is_view; typedef forward_traversal_tag category; typedef void_ car_type; typedef void_ cdr_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED nil_() BOOST_NOEXCEPT {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED nil_(Iterator const& /*iter*/, mpl::true_ /*this_is_an_iterator*/) BOOST_NOEXCEPT {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED void assign_from_iter(Iterator const& /*iter*/) BOOST_NOEXCEPT { } }; }} #endif KWStyle-master/Utilities/boost/fusion/container/map.hpp000066400000000000000000000012241265471724600236020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_CLASS_MAP_10022005_0606) #define FUSION_SEQUENCE_CLASS_MAP_10022005_0606 #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/container/map/000077500000000000000000000000001265471724600230725ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/map/convert.hpp000066400000000000000000000070161265471724600252670ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_CONVERT_MAIN_09232005_1340) #define FUSION_CONVERT_MAIN_09232005_1340 #include #include namespace boost { namespace fusion { namespace detail { template struct pair_from { typedef typename result_of::value_of::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type call(It const& it) { return *it; } }; template struct pair_from { typedef typename result_of::key_of::type key_type; typedef typename result_of::value_of_data::type data_type; typedef typename fusion::pair type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type call(It const& it) { return type(deref_data(it)); } }; }}} /////////////////////////////////////////////////////////////////////////////// // Without variadics, we will use the PP version /////////////////////////////////////////////////////////////////////////////// #if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) # include #else /////////////////////////////////////////////////////////////////////////////// // C++11 variadic implementation /////////////////////////////////////////////////////////////////////////////// #include namespace boost { namespace fusion { namespace result_of { template struct as_map : detail::build_map< typename result_of::begin::type , typename result_of::end::type , is_base_of< associative_tag , typename traits::category_of::type>::value > { }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_map::type as_map(Sequence& seq) { typedef result_of::as_map gen; return gen::call(fusion::begin(seq), fusion::end(seq)); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_map::type as_map(Sequence const& seq) { typedef result_of::as_map gen; return gen::call(fusion::begin(seq), fusion::end(seq)); } namespace extension { template struct convert_impl; template <> struct convert_impl { template struct apply { typedef typename result_of::as_map::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { typedef result_of::as_map gen; return gen::call(fusion::begin(seq), fusion::end(seq)); } }; }; } }} #endif #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/000077500000000000000000000000001265471724600243345ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/map/detail/at_impl.hpp000066400000000000000000000034331265471724600264750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2013 Joel de Guzman Distributed under the 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_FUSION_MAP_DETAIL_AT_IMPL_02042013_0821) #define BOOST_FUSION_MAP_DETAIL_AT_IMPL_02042013_0821 #include #include #include namespace boost { namespace fusion { struct map_tag; namespace extension { template struct at_impl; template <> struct at_impl { template struct apply { typedef mpl::int_ index; typedef decltype(boost::declval().get(index())) type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& m) { return m.get(index()); } }; template struct apply { typedef mpl::int_ index; typedef decltype(boost::declval().get(index())) type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence const& m) { return m.get(index()); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/at_key_impl.hpp000066400000000000000000000035471265471724600273530ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2013 Joel de Guzman Distributed under the 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_FUSION_MAP_DETAIL_AT_KEY_IMPL_02042013_0821) #define BOOST_FUSION_MAP_DETAIL_AT_KEY_IMPL_02042013_0821 #include #include #include #include #include #include namespace boost { namespace fusion { struct map_tag; namespace extension { template struct at_key_impl; template <> struct at_key_impl { template struct apply { typedef decltype(boost::declval().get(mpl::identity())) type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& m) { return m.get(mpl::identity()); } }; template struct apply { typedef decltype(boost::declval().get(mpl::identity())) type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence const& m) { return m.get(mpl::identity()); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/begin_impl.hpp000066400000000000000000000021551265471724600271550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2013 Joel de Guzman Distributed under the 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_FUSION_MAP_BEGIN_IMPL_02042013_0857) #define BOOST_FUSION_MAP_BEGIN_IMPL_02042013_0857 #include #include namespace boost { namespace fusion { struct map_tag; namespace extension { template struct begin_impl; template<> struct begin_impl { template struct apply { typedef map_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return type(seq); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/build_map.hpp000066400000000000000000000047611265471724600270110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2013 Joel de Guzman Distributed under the 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_FUSION_BUILD_MAP_02042013_1448) #define BOOST_FUSION_BUILD_MAP_02042013_1448 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template ::value > struct build_map; template struct build_map { typedef map<> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const&, Last const&) { return type(); } }; template struct push_front_map; template struct push_front_map> { typedef map type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(T const& first, map const& rest) { return type(push_front(rest, first)); } }; template struct build_map { typedef build_map::type, Last, is_assoc> next_build_map; typedef push_front_map< typename pair_from::type , typename next_build_map::type> push_front; typedef typename push_front::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& f, Last const& l) { return push_front::call( pair_from::call(f) , next_build_map::call(fusion::next(f), l)); } }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/000077500000000000000000000000001265471724600252615ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/as_map.hpp000066400000000000000000000115171265471724600272370ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_AS_MAP_0932005_1339) #define FUSION_AS_MAP_0932005_1339 #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template struct as_map; template struct as_map<0, is_assoc> { template struct apply { typedef map<> type; }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator) { return map<>(); } }; BOOST_FUSION_BARRIER_END }}} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_map" FUSION_MAX_MAP_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN #define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ typedef typename fusion::result_of::next::type \ BOOST_PP_CAT(I, BOOST_PP_INC(n)); #define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); #define BOOST_FUSION_PAIR_FROM_ITERATOR(z, n, data) \ typedef pair_from BOOST_PP_CAT(D, n); \ typedef typename BOOST_PP_CAT(D, n)::type BOOST_PP_CAT(T, n); #define BOOST_FUSION_DREF_CALL_ITERATOR(z, n, data) \ gen::BOOST_PP_CAT(D, n)::call(BOOST_PP_CAT(i, n)) #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE) #include BOOST_PP_ITERATE() #undef BOOST_FUSION_NEXT_ITERATOR #undef BOOST_FUSION_NEXT_CALL_ITERATOR #undef BOOST_FUSION_PAIR_FROM_ITERATOR #undef BOOST_FUSION_DREF_CALL_ITERATOR BOOST_FUSION_BARRIER_END }}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() template struct as_map { template struct apply { BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_ITERATOR, _) BOOST_PP_REPEAT(N, BOOST_FUSION_PAIR_FROM_ITERATOR, _) typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) return result(BOOST_PP_ENUM(N, BOOST_FUSION_DREF_CALL_ITERATOR, _)); } }; #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/at_impl.hpp000066400000000000000000000037631265471724600274300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2011 Brandon Kohn Distributed under the 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_FUSION_MAP_DETAIL_AT_IMPL_HPP) #define BOOST_FUSION_MAP_DETAIL_AT_IMPL_HPP #include #include #include #include #include namespace boost { namespace fusion { struct map_tag; namespace extension { template struct at_impl; template <> struct at_impl { template struct apply { typedef typename mpl::at::type element; typedef typename detail::ref_result::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& m) { return m.get_data().at_impl(N()); } }; template struct apply { typedef typename mpl::at::type element; typedef typename detail::cref_result::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence const& m) { return m.get_data().at_impl(N()); } }; }; } }} #endif //BOOST_FUSION_MAP_DETAIL_AT_IMPL_HPP KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/begin_impl.hpp000066400000000000000000000023431265471724600301010ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_CONTAINER_MAP_DETAIL_BEGIN_IMPL_HPP #define BOOST_FUSION_CONTAINER_MAP_DETAIL_BEGIN_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct begin_impl; template <> struct begin_impl { template struct apply { typedef basic_iterator< map_iterator_tag , typename Seq::category , Seq , 0 > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return type(seq,0); } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/convert.hpp000066400000000000000000000036401265471724600274550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_CONVERT_09232005_1340) #define FUSION_CONVERT_09232005_1340 #include #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct as_map { typedef typename detail::as_map< result_of::size::value , is_base_of< associative_tag , typename traits::category_of::type>::value > gen; typedef typename gen:: template apply::type>::type type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_map::type as_map(Sequence& seq) { typedef typename result_of::as_map::gen gen; return gen::call(fusion::begin(seq)); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_map::type as_map(Sequence const& seq) { typedef typename result_of::as_map::gen gen; return gen::call(fusion::begin(seq)); } }} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/convert_impl.hpp000066400000000000000000000033561265471724600305020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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(FUSION_CONVERT_IMPL_09232005_1340) #define FUSION_CONVERT_IMPL_09232005_1340 #include #include #include #include #include namespace boost { namespace fusion { struct map_tag; namespace extension { template struct convert_impl; template <> struct convert_impl { template struct apply { typedef typename detail::as_map< result_of::size::value , is_base_of< associative_tag , typename traits::category_of::type>::value > gen; typedef typename gen:: template apply::type>::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return gen::call(fusion::begin(seq)); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp000066400000000000000000000030111265471724600310640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_CONTAINER_MAP_DETAIL_DEREF_DATA_IMPL_HPP #define BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_DATA_IMPL_HPP #include #include #include #include #include #include namespace boost { namespace fusion { namespace extension { template struct deref_data_impl; template <> struct deref_data_impl { template struct apply { typedef typename result_of::value_of::type::second_type data; typedef typename mpl::if_< is_const , typename detail::cref_result::type , typename detail::ref_result::type >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return fusion::deref(it).second; } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/deref_impl.hpp000066400000000000000000000027031265471724600301020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_CONTAINER_MAP_DETAIL_DEREF_IMPL_HPP #define BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_IMPL_HPP #include #include #include namespace boost { namespace fusion { namespace extension { template struct deref_impl; template <> struct deref_impl { template struct apply { typedef typename result_of::at< typename mpl::if_< is_const , typename It::seq_type::storage_type const , typename It::seq_type::storage_type >::type , typename It::index >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return fusion::at(it.seq->get_data()); } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/end_impl.hpp000066400000000000000000000023521265471724600275630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_CONTAINER_MAP_DETAIL_END_IMPL_HPP #define BOOST_FUSION_CONTAINER_MAP_DETAIL_END_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct end_impl; template <> struct end_impl { template struct apply { typedef basic_iterator< map_iterator_tag , typename Seq::category , Seq , Seq::size::value > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return type(seq,0); } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/key_of_impl.hpp000066400000000000000000000017601265471724600302730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_CONTAINER_MAP_DETAIL_KEY_OF_IMPL_HPP #define BOOST_FUSION_CONTAINER_MAP_DETAIL_KEY_OF_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct key_of_impl; template <> struct key_of_impl { template struct apply { typedef typename value_of_impl:: template apply::type::first_type type; }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/limits.hpp000066400000000000000000000017101265471724600272720ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_MAP_LIMITS_07212005_1104) #define FUSION_MAP_LIMITS_07212005_1104 #include #include #if !defined(FUSION_MAX_MAP_SIZE) # define FUSION_MAX_MAP_SIZE FUSION_MAX_VECTOR_SIZE #else # if FUSION_MAX_MAP_SIZE < 3 # undef FUSION_MAX_MAP_SIZE # if (FUSION_MAX_VECTOR_SIZE > 10) # define FUSION_MAX_MAP_SIZE 10 # else # define FUSION_MAX_MAP_SIZE FUSION_MAX_VECTOR_SIZE # endif # endif #endif #define FUSION_MAX_MAP_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_MAP_SIZE)) #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/map.hpp000066400000000000000000000124011265471724600265450ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_MAP_07212005_1106) #define FUSION_MAP_07212005_1106 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && \ defined(BOOST_MSVC) && (BOOST_MSVC == 1700) // see map_forward_ctor.hpp #include #include #endif #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/map" FUSION_MAX_MAP_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif #define FUSION_HASH # namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct map : sequence_base > { struct category : random_access_traversal_tag, associative_tag {}; typedef map_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::false_ is_view; typedef vector< BOOST_PP_ENUM_PARAMS(FUSION_MAX_MAP_SIZE, T)> storage_type; typedef typename storage_type::size size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map() : data() {} BOOST_FUSION_GPU_ENABLED map(map const& rhs) : data(rhs.data) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(Sequence const& rhs) : data(rhs) {} #include template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T const& rhs) { data = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map const& rhs) { data = rhs.data; return *this; } #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #endif #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(map&& rhs) : data(std::move(rhs.data)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T&& rhs) { data = BOOST_FUSION_FWD_ELEM(T, rhs); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map&& rhs) { data = std::move(rhs.data); return *this; } #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH endif #endif BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; }; }} #undef FUSION_HASH #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp000066400000000000000000000042461265471724600313300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_MAP_FORWARD_CTOR_07222005_0106) #define FUSION_MAP_FORWARD_CTOR_07222005_0106 #define FUSION_FORWARD_CTOR_FORWARD(z, n, _) BOOST_FUSION_FWD_ELEM(U##n, _##n) #define BOOST_PP_FILENAME_1 \ #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE) #include BOOST_PP_ITERATE() #undef FUSION_FORWARD_CTOR_FORWARD #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED #if N == 1 explicit #endif map(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param::type arg)) : data(BOOST_PP_ENUM_PARAMS(N, arg)) {} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #endif #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) template BOOST_FUSION_GPU_ENABLED #if N == 1 explicit #endif map(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && arg) #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) && \ N == 1 // workaround for MSVC 10 FUSION_HASH if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) , typename enable_if >::type* = 0 FUSION_HASH endif #endif ) : data(BOOST_PP_ENUM(N, FUSION_FORWARD_CTOR_FORWARD, arg)) {} #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH endif #endif #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/map_fwd.hpp000066400000000000000000000035441265471724600274150ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_MAP_FORWARD_07212005_1105) #define FUSION_MAP_FORWARD_07212005_1105 #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/map" FUSION_MAX_MAP_SIZE_STR "_fwd.hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; struct map_tag; struct map_iterator_tag; template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_MAP_SIZE, typename T, void_) > struct map; }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/000077500000000000000000000000001265471724600277575ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/as_map.hpp000066400000000000000000000020131265471724600317240ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_MAP_SIZE <= 10 #include #elif FUSION_MAX_MAP_SIZE <= 20 #include #elif FUSION_MAX_MAP_SIZE <= 30 #include #elif FUSION_MAX_MAP_SIZE <= 40 #include #elif FUSION_MAX_MAP_SIZE <= 50 #include #else #error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp000066400000000000000000000351651265471724600321030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template struct as_map<1, is_assoc> { template struct apply { typedef pair_from D0; typedef typename D0::type T0; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(gen::D0::call(i0)); } }; template struct as_map<2, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(gen::D0::call(i0) , gen::D1::call(i1)); } }; template struct as_map<3, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2)); } }; template struct as_map<4, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3)); } }; template struct as_map<5, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4)); } }; template struct as_map<6, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5)); } }; template struct as_map<7, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6)); } }; template struct as_map<8, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7)); } }; template struct as_map<9, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8)); } }; template struct as_map<10, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9)); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp000066400000000000000000001370171265471724600321030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template struct as_map<1, is_assoc> { template struct apply { typedef pair_from D0; typedef typename D0::type T0; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(gen::D0::call(i0)); } }; template struct as_map<2, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(gen::D0::call(i0) , gen::D1::call(i1)); } }; template struct as_map<3, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2)); } }; template struct as_map<4, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3)); } }; template struct as_map<5, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4)); } }; template struct as_map<6, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5)); } }; template struct as_map<7, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6)); } }; template struct as_map<8, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7)); } }; template struct as_map<9, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8)); } }; template struct as_map<10, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9)); } }; template struct as_map<11, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10)); } }; template struct as_map<12, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11)); } }; template struct as_map<13, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12)); } }; template struct as_map<14, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13)); } }; template struct as_map<15, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14)); } }; template struct as_map<16, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15)); } }; template struct as_map<17, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16)); } }; template struct as_map<18, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17)); } }; template struct as_map<19, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18)); } }; template struct as_map<20, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19)); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp000066400000000000000000003074011265471724600321000ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template struct as_map<1, is_assoc> { template struct apply { typedef pair_from D0; typedef typename D0::type T0; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(gen::D0::call(i0)); } }; template struct as_map<2, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(gen::D0::call(i0) , gen::D1::call(i1)); } }; template struct as_map<3, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2)); } }; template struct as_map<4, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3)); } }; template struct as_map<5, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4)); } }; template struct as_map<6, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5)); } }; template struct as_map<7, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6)); } }; template struct as_map<8, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7)); } }; template struct as_map<9, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8)); } }; template struct as_map<10, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9)); } }; template struct as_map<11, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10)); } }; template struct as_map<12, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11)); } }; template struct as_map<13, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12)); } }; template struct as_map<14, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13)); } }; template struct as_map<15, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14)); } }; template struct as_map<16, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15)); } }; template struct as_map<17, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16)); } }; template struct as_map<18, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17)); } }; template struct as_map<19, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18)); } }; template struct as_map<20, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19)); } }; template struct as_map<21, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20)); } }; template struct as_map<22, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21)); } }; template struct as_map<23, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22)); } }; template struct as_map<24, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23)); } }; template struct as_map<25, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24)); } }; template struct as_map<26, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25)); } }; template struct as_map<27, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26)); } }; template struct as_map<28, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27)); } }; template struct as_map<29, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28)); } }; template struct as_map<30, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29)); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp000066400000000000000000005265131265471724600321100ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template struct as_map<1, is_assoc> { template struct apply { typedef pair_from D0; typedef typename D0::type T0; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(gen::D0::call(i0)); } }; template struct as_map<2, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(gen::D0::call(i0) , gen::D1::call(i1)); } }; template struct as_map<3, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2)); } }; template struct as_map<4, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3)); } }; template struct as_map<5, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4)); } }; template struct as_map<6, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5)); } }; template struct as_map<7, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6)); } }; template struct as_map<8, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7)); } }; template struct as_map<9, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8)); } }; template struct as_map<10, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9)); } }; template struct as_map<11, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10)); } }; template struct as_map<12, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11)); } }; template struct as_map<13, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12)); } }; template struct as_map<14, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13)); } }; template struct as_map<15, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14)); } }; template struct as_map<16, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15)); } }; template struct as_map<17, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16)); } }; template struct as_map<18, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17)); } }; template struct as_map<19, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18)); } }; template struct as_map<20, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19)); } }; template struct as_map<21, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20)); } }; template struct as_map<22, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21)); } }; template struct as_map<23, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22)); } }; template struct as_map<24, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23)); } }; template struct as_map<25, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24)); } }; template struct as_map<26, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25)); } }; template struct as_map<27, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26)); } }; template struct as_map<28, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27)); } }; template struct as_map<29, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28)); } }; template struct as_map<30, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29)); } }; template struct as_map<31, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30)); } }; template struct as_map<32, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31)); } }; template struct as_map<33, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32)); } }; template struct as_map<34, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33)); } }; template struct as_map<35, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34)); } }; template struct as_map<36, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35)); } }; template struct as_map<37, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36)); } }; template struct as_map<38, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37)); } }; template struct as_map<39, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38)); } }; template struct as_map<40, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39)); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp000066400000000000000000010143551265471724600321060ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template struct as_map<1, is_assoc> { template struct apply { typedef pair_from D0; typedef typename D0::type T0; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(gen::D0::call(i0)); } }; template struct as_map<2, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(gen::D0::call(i0) , gen::D1::call(i1)); } }; template struct as_map<3, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2)); } }; template struct as_map<4, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3)); } }; template struct as_map<5, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4)); } }; template struct as_map<6, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5)); } }; template struct as_map<7, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6)); } }; template struct as_map<8, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7)); } }; template struct as_map<9, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8)); } }; template struct as_map<10, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9)); } }; template struct as_map<11, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10)); } }; template struct as_map<12, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11)); } }; template struct as_map<13, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12)); } }; template struct as_map<14, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13)); } }; template struct as_map<15, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14)); } }; template struct as_map<16, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15)); } }; template struct as_map<17, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16)); } }; template struct as_map<18, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17)); } }; template struct as_map<19, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18)); } }; template struct as_map<20, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19)); } }; template struct as_map<21, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20)); } }; template struct as_map<22, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21)); } }; template struct as_map<23, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22)); } }; template struct as_map<24, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23)); } }; template struct as_map<25, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24)); } }; template struct as_map<26, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25)); } }; template struct as_map<27, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26)); } }; template struct as_map<28, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27)); } }; template struct as_map<29, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28)); } }; template struct as_map<30, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29)); } }; template struct as_map<31, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30)); } }; template struct as_map<32, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31)); } }; template struct as_map<33, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32)); } }; template struct as_map<34, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33)); } }; template struct as_map<35, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34)); } }; template struct as_map<36, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35)); } }; template struct as_map<37, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36)); } }; template struct as_map<38, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37)); } }; template struct as_map<39, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38)); } }; template struct as_map<40, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39)); } }; template struct as_map<41, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40)); } }; template struct as_map<42, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41)); } }; template struct as_map<43, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42)); } }; template struct as_map<44, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43)); } }; template struct as_map<45, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44)); } }; template struct as_map<46, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; typedef pair_from D45; typedef typename D45::type T45; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44) , gen::D45::call(i45)); } }; template struct as_map<47, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; typedef pair_from D45; typedef typename D45::type T45; typedef pair_from D46; typedef typename D46::type T46; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44) , gen::D45::call(i45) , gen::D46::call(i46)); } }; template struct as_map<48, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; typedef pair_from D45; typedef typename D45::type T45; typedef pair_from D46; typedef typename D46::type T46; typedef pair_from D47; typedef typename D47::type T47; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44) , gen::D45::call(i45) , gen::D46::call(i46) , gen::D47::call(i47)); } }; template struct as_map<49, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; typedef pair_from D45; typedef typename D45::type T45; typedef pair_from D46; typedef typename D46::type T46; typedef pair_from D47; typedef typename D47::type T47; typedef pair_from D48; typedef typename D48::type T48; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44) , gen::D45::call(i45) , gen::D46::call(i46) , gen::D47::call(i47) , gen::D48::call(i48)); } }; template struct as_map<50, is_assoc> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; typedef pair_from D45; typedef typename D45::type T45; typedef pair_from D46; typedef typename D46::type T46; typedef pair_from D47; typedef typename D47::type T47; typedef pair_from D48; typedef typename D48::type T48; typedef pair_from D49; typedef typename D49::type T49; typedef map type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); typename gen::I49 i49 = fusion::next(i48); return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44) , gen::D45::call(i45) , gen::D46::call(i46) , gen::D47::call(i47) , gen::D48::call(i48) , gen::D49::call(i49)); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/map.hpp000066400000000000000000000017741265471724600312560ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_MAP_SIZE <= 10 #include #elif FUSION_MAX_MAP_SIZE <= 20 #include #elif FUSION_MAX_MAP_SIZE <= 30 #include #elif FUSION_MAX_MAP_SIZE <= 40 #include #elif FUSION_MAX_MAP_SIZE <= 50 #include #else #error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp000066400000000000000000000245111265471724600314110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct map : sequence_base > { struct category : random_access_traversal_tag, associative_tag {}; typedef map_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> storage_type; typedef typename storage_type::size size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map() : data() {} BOOST_FUSION_GPU_ENABLED map(map const& rhs) : data(rhs.data) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(Sequence const& rhs) : data(rhs) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit map(typename detail::call_param::type arg0) : data(arg0) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED explicit map(U0 && arg0 # if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) , typename enable_if >::type* = 0 # endif ) : data(std::forward( arg0)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : data(arg0 , arg1) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 ) : data(std::forward( arg0) , std::forward( arg1)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : data(arg0 , arg1 , arg2) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : data(arg0 , arg1 , arg2 , arg3) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : data(arg0 , arg1 , arg2 , arg3 , arg4) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} # endif template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T const& rhs) { data = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map const& rhs) { data = rhs.data; return *this; } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(map&& rhs) : data(std::move(rhs.data)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T&& rhs) { data = std::forward( rhs); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map&& rhs) { data = std::move(rhs.data); return *this; } # endif BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; }; }} KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp000066400000000000000000000014141265471724600322460ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct map_tag; struct map_iterator_tag; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ > struct map; }} KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp000066400000000000000000000720151265471724600314140ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct map : sequence_base > { struct category : random_access_traversal_tag, associative_tag {}; typedef map_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> storage_type; typedef typename storage_type::size size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map() : data() {} BOOST_FUSION_GPU_ENABLED map(map const& rhs) : data(rhs.data) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(Sequence const& rhs) : data(rhs) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit map(typename detail::call_param::type arg0) : data(arg0) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED explicit map(U0 && arg0 # if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) , typename enable_if >::type* = 0 # endif ) : data(std::forward( arg0)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : data(arg0 , arg1) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 ) : data(std::forward( arg0) , std::forward( arg1)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : data(arg0 , arg1 , arg2) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : data(arg0 , arg1 , arg2 , arg3) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : data(arg0 , arg1 , arg2 , arg3 , arg4) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} # endif template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T const& rhs) { data = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map const& rhs) { data = rhs.data; return *this; } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(map&& rhs) : data(std::move(rhs.data)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T&& rhs) { data = std::forward( rhs); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map&& rhs) { data = std::move(rhs.data); return *this; } # endif BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; }; }} KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp000066400000000000000000000017621265471724600322550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct map_tag; struct map_iterator_tag; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ > struct map; }} KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp000066400000000000000000001655311265471724600314230ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct map : sequence_base > { struct category : random_access_traversal_tag, associative_tag {}; typedef map_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef vector< 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> storage_type; typedef typename storage_type::size size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map() : data() {} BOOST_FUSION_GPU_ENABLED map(map const& rhs) : data(rhs.data) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(Sequence const& rhs) : data(rhs) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit map(typename detail::call_param::type arg0) : data(arg0) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED explicit map(U0 && arg0 # if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) , typename enable_if >::type* = 0 # endif ) : data(std::forward( arg0)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : data(arg0 , arg1) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 ) : data(std::forward( arg0) , std::forward( arg1)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : data(arg0 , arg1 , arg2) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : data(arg0 , arg1 , arg2 , arg3) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : data(arg0 , arg1 , arg2 , arg3 , arg4) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} # endif template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T const& rhs) { data = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map const& rhs) { data = rhs.data; return *this; } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(map&& rhs) : data(std::move(rhs.data)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T&& rhs) { data = std::forward( rhs); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map&& rhs) { data = std::move(rhs.data); return *this; } # endif BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; }; }} KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp000066400000000000000000000023301265471724600322460ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct map_tag; struct map_iterator_tag; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ > struct map; }} KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp000066400000000000000000003074551265471724600314270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct map : sequence_base > { struct category : random_access_traversal_tag, associative_tag {}; typedef map_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef vector< 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> storage_type; typedef typename storage_type::size size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map() : data() {} BOOST_FUSION_GPU_ENABLED map(map const& rhs) : data(rhs.data) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(Sequence const& rhs) : data(rhs) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit map(typename detail::call_param::type arg0) : data(arg0) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED explicit map(U0 && arg0 # if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) , typename enable_if >::type* = 0 # endif ) : data(std::forward( arg0)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : data(arg0 , arg1) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 ) : data(std::forward( arg0) , std::forward( arg1)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : data(arg0 , arg1 , arg2) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : data(arg0 , arg1 , arg2 , arg3) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : data(arg0 , arg1 , arg2 , arg3 , arg4) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} # endif template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T const& rhs) { data = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map const& rhs) { data = rhs.data; return *this; } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(map&& rhs) : data(std::move(rhs.data)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T&& rhs) { data = std::forward( rhs); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map&& rhs) { data = std::move(rhs.data); return *this; } # endif BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; }; }} KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp000066400000000000000000000026761265471724600322640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct map_tag; struct map_iterator_tag; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ > struct map; }} KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp000066400000000000000000004576111265471724600314300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct map : sequence_base > { struct category : random_access_traversal_tag, associative_tag {}; typedef map_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef vector< 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> storage_type; typedef typename storage_type::size size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map() : data() {} BOOST_FUSION_GPU_ENABLED map(map const& rhs) : data(rhs.data) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(Sequence const& rhs) : data(rhs) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit map(typename detail::call_param::type arg0) : data(arg0) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED explicit map(U0 && arg0 # if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) , typename enable_if >::type* = 0 # endif ) : data(std::forward( arg0)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : data(arg0 , arg1) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 ) : data(std::forward( arg0) , std::forward( arg1)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : data(arg0 , arg1 , arg2) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : data(arg0 , arg1 , arg2 , arg3) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : data(arg0 , arg1 , arg2 , arg3 , arg4) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48)) {} # endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , U49 && arg49 ) : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48) , std::forward( arg49)) {} # endif template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T const& rhs) { data = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map const& rhs) { data = rhs.data; return *this; } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(map&& rhs) : data(std::move(rhs.data)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T&& rhs) { data = std::forward( rhs); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map&& rhs) { data = std::move(rhs.data); return *this; } # endif BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; }; }} KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp000066400000000000000000000032441265471724600322550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct map_tag; struct map_iterator_tag; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ > struct map; }} KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp000066400000000000000000000020201265471724600320770ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_MAP_SIZE <= 10 #include #elif FUSION_MAX_MAP_SIZE <= 20 #include #elif FUSION_MAX_MAP_SIZE <= 30 #include #elif FUSION_MAX_MAP_SIZE <= 40 #include #elif FUSION_MAX_MAP_SIZE <= 50 #include #else #error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp000066400000000000000000000020561265471724600306160ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2011 Brandon Kohn Distributed under the 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_FUSION_MAP_DETAIL_VALUE_AT_IMPL_HPP) #define BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_HPP #include #include namespace boost { namespace fusion { struct map_tag; namespace extension { template struct value_at_impl; template <> struct value_at_impl { template struct apply { typedef typename mpl::at::type type; }; }; } }} #endif //BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_HPP KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/value_of_data_impl.hpp000066400000000000000000000020151265471724600316020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_DATA_IMPL_HPP #define BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_DATA_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct value_of_data_impl; template <> struct value_of_data_impl { template struct apply { typedef typename value_of_impl:: template apply::type::second_type type; }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/cpp03/value_of_impl.hpp000066400000000000000000000024071265471724600306160ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_IMPL_HPP #define BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_IMPL_HPP #include #include #include namespace boost { namespace fusion { namespace extension { template struct value_of_impl; template <> struct value_of_impl { template struct apply { typedef typename result_of::value_at< typename mpl::if_< is_const , typename It::seq_type::storage_type const , typename It::seq_type::storage_type >::type , typename It::index >::type type; }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/end_impl.hpp000066400000000000000000000021711265471724600266350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2013 Joel de Guzman Distributed under the 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_FUSION_MAP_END_IMPL_02042013_0857) #define BOOST_FUSION_MAP_END_IMPL_02042013_0857 #include #include namespace boost { namespace fusion { struct map_tag; namespace extension { template struct end_impl; template<> struct end_impl { template struct apply { typedef map_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return type(seq); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/map_impl.hpp000066400000000000000000000144001265471724600266420ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2013 Joel de Guzman Distributed under the 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_FUSION_MAP_IMPL_02032013_2233) #define BOOST_FUSION_MAP_IMPL_02032013_2233 #include #include #include #include #include #include namespace boost { namespace fusion { struct fusion_sequence_tag; }} namespace boost { namespace fusion { namespace detail { struct map_impl_from_iterator {}; template struct map_impl; template struct map_impl { typedef fusion_sequence_tag tag; static int const index = index_; static int const size = 0; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl() BOOST_NOEXCEPT {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl(Iterator const&, map_impl_from_iterator) BOOST_NOEXCEPT {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED void assign(Iterator const&, map_impl_from_iterator) BOOST_NOEXCEPT {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED void get(); BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED void get_val(); BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED void get_key(); }; template struct map_impl : map_impl { typedef fusion_sequence_tag tag; typedef map_impl rest_type; using rest_type::get; using rest_type::get_val; using rest_type::get_key; static int const index = index_; static int const size = rest_type::size + 1; typedef Pair pair_type; typedef typename Pair::first_type key_type; typedef typename Pair::second_type value_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl() : rest_type(), element() {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl(map_impl const& rhs) : rest_type(rhs.get_base()), element(rhs.element) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl(map_impl&& rhs) : rest_type(BOOST_FUSION_FWD_ELEM(rest_type, *static_cast(&rhs))) , element(BOOST_FUSION_FWD_ELEM(Pair, rhs.element)) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl(map_impl const& rhs) : rest_type(rhs.get_base()), element(rhs.element) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl(typename detail::call_param::type element_ , typename detail::call_param::type... rest) : rest_type(rest...), element(element_) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl(Pair&& element_, T&&... rest) : rest_type(BOOST_FUSION_FWD_ELEM(T, rest)...) , element(BOOST_FUSION_FWD_ELEM(Pair, element_)) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl(Iterator const& iter, map_impl_from_iterator fi) : rest_type(fusion::next(iter), fi) , element(*iter) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED rest_type& get_base() { return *this; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED rest_type const& get_base() const { return *this; } BOOST_FUSION_GPU_ENABLED value_type get_val(mpl::identity); BOOST_FUSION_GPU_ENABLED pair_type get_val(mpl::int_); BOOST_FUSION_GPU_ENABLED value_type get_val(mpl::identity) const; BOOST_FUSION_GPU_ENABLED pair_type get_val(mpl::int_) const; BOOST_FUSION_GPU_ENABLED mpl::identity get_key(mpl::int_); BOOST_FUSION_GPU_ENABLED mpl::identity get_key(mpl::int_) const; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename cref_result::type get(mpl::identity) const { return element.second; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename ref_result::type get(mpl::identity) { return element.second; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename cref_result::type get(mpl::int_) const { return element; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename ref_result::type get(mpl::int_) { return element; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl& operator=(map_impl const& rhs) { rest_type::operator=(rhs); element = rhs.element; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl& operator=(map_impl const& rhs) { rest_type::operator=(rhs); element = rhs.element; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl& operator=(map_impl&& rhs) { rest_type::operator=(std::forward(rhs)); element = BOOST_FUSION_FWD_ELEM(Pair, rhs.element); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED void assign(Iterator const& iter, map_impl_from_iterator fi) { rest_type::assign(fusion::next(iter), fi); element = *iter; } Pair element; }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/map_index.hpp000066400000000000000000000011501265471724600270060ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2013 Joel de Guzman Distributed under the 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_FUSION_MAP_INDEX_02032013_2233) #define BOOST_FUSION_MAP_INDEX_02032013_2233 namespace boost { namespace fusion { namespace detail { template struct map_index { static int const value = N; }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/value_at_impl.hpp000066400000000000000000000021421265471724600276650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2013 Joel de Guzman Distributed under the 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_FUSION_MAP_DETAIL_VALUE_AT_IMPL_02042013_0821) #define BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_02042013_0821 #include #include #include namespace boost { namespace fusion { struct map_tag; namespace extension { template struct value_at_impl; template <> struct value_at_impl { template struct apply { typedef mpl::int_ index; typedef decltype(boost::declval().get_val(index())) type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/map/detail/value_at_key_impl.hpp000066400000000000000000000023131265471724600305350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2013 Joel de Guzman Distributed under the 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_FUSION_MAP_DETAIL_VALUE_AT_KEY_IMPL_02042013_0821) #define BOOST_FUSION_MAP_DETAIL_VALUE_AT_KEY_IMPL_02042013_0821 #include #include #include #include #include #include namespace boost { namespace fusion { struct map_tag; namespace extension { template struct value_at_key_impl; template <> struct value_at_key_impl { template struct apply { typedef decltype(boost::declval().get_val(mpl::identity())) type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/map/map.hpp000066400000000000000000000114401265471724600243600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_MAP_MAIN_07212005_1106) #define FUSION_MAP_MAIN_07212005_1106 #include #include #include /////////////////////////////////////////////////////////////////////////////// // Without variadics, we will use the PP version /////////////////////////////////////////////////////////////////////////////// #if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) # include #else /////////////////////////////////////////////////////////////////////////////// // C++11 interface /////////////////////////////////////////////////////////////////////////////// #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct map_tag; template struct map : detail::map_impl<0, T...>, sequence_base> { typedef map_tag fusion_tag; typedef detail::map_impl<0, T...> base_type; struct category : random_access_traversal_tag, associative_tag {}; typedef mpl::int_ size; typedef mpl::false_ is_view; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map() {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(map const& seq) : base_type(seq.base()) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(map&& seq) : base_type(std::forward(seq)) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(Sequence const& seq , typename enable_if>::type* /*dummy*/ = 0) : base_type(begin(seq), detail::map_impl_from_iterator()) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(Sequence& seq , typename enable_if>::type* /*dummy*/ = 0) : base_type(begin(seq), detail::map_impl_from_iterator()) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(Sequence&& seq , typename enable_if>::type* /*dummy*/ = 0) : base_type(begin(seq), detail::map_impl_from_iterator()) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(First const& first, T_ const&... rest) : base_type(first, rest...) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(First&& first, T_&&... rest) : base_type(BOOST_FUSION_FWD_ELEM(First, first), BOOST_FUSION_FWD_ELEM(T_, rest)...) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map const& rhs) { base_type::operator=(rhs.base()); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map&& rhs) { base_type::operator=(std::forward(rhs.base())); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename enable_if, map&>::type operator=(Sequence const& seq) { base().assign(begin(seq), detail::map_impl_from_iterator()); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED base_type& base() BOOST_NOEXCEPT { return *this; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED base_type const& base() const BOOST_NOEXCEPT { return *this; } }; }} #endif #endif KWStyle-master/Utilities/boost/fusion/container/map/map_fwd.hpp000066400000000000000000000035051265471724600252230ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_MAP_FORWARD_MAIN_07212005_1105) #define FUSION_MAP_FORWARD_MAIN_07212005_1105 #include #include #if (defined(BOOST_NO_CXX11_DECLTYPE) \ || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)) \ || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) # if defined(BOOST_FUSION_HAS_VARIADIC_MAP) # undef BOOST_FUSION_HAS_VARIADIC_MAP # endif #else # if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) # define BOOST_FUSION_HAS_VARIADIC_MAP # endif #endif // MSVC variadics at this point in time is not ready yet (ICE!) #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900)) # if defined(BOOST_FUSION_HAS_VARIADIC_MAP) # undef BOOST_FUSION_HAS_VARIADIC_MAP # endif #endif /////////////////////////////////////////////////////////////////////////////// // With no decltype and variadics, we will use the C++03 version /////////////////////////////////////////////////////////////////////////////// #if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) # include #else #include /////////////////////////////////////////////////////////////////////////////// // C++11 interface /////////////////////////////////////////////////////////////////////////////// namespace boost { namespace fusion { template struct map; }} #endif #endif KWStyle-master/Utilities/boost/fusion/container/map/map_iterator.hpp000066400000000000000000000120241265471724600262700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2013 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_MAP_ITERATOR_02042013_0835) #define BOOST_FUSION_MAP_ITERATOR_02042013_0835 #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct random_access_traversal_tag; template struct map_iterator : iterator_facade< map_iterator , typename Seq::category> { typedef Seq sequence; typedef mpl::int_ index; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_iterator(Seq& seq) : seq_(seq) {} template struct value_of { typedef typename Iterator::sequence sequence; typedef typename Iterator::index index; typedef decltype(boost::declval().get_val(index())) type; }; template struct value_of_data { typedef typename Iterator::sequence sequence; typedef typename Iterator::index index; typedef decltype(boost::declval().get_val(index()).second) type; }; template struct key_of { typedef typename Iterator::sequence sequence; typedef typename Iterator::index index; typedef decltype(boost::declval().get_key(index())) key_identity_type; typedef typename key_identity_type::type type; }; template struct deref { typedef typename Iterator::sequence sequence; typedef typename Iterator::index index; typedef decltype(boost::declval().get(index())) type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& it) { return it.seq_.get(typename Iterator::index()); } }; template struct deref_data { typedef typename Iterator::sequence sequence; typedef typename Iterator::index index; typedef decltype(boost::declval().get(index()).second) second_type_; typedef typename mpl::if_< is_const , typename add_const::type , second_type_ >::type second_type; typedef typename add_reference::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& it) { return it.seq_.get(typename Iterator::index()).second; } }; template struct advance { typedef typename Iterator::index index; typedef typename Iterator::sequence sequence; typedef map_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.seq_); } }; template struct next : advance > {}; template struct prior : advance > {}; template struct distance { typedef typename mpl::minus< typename I2::index, typename I1::index >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(I1 const&, I2 const&) { return type(); } }; template struct equal_to : mpl::equal_to {}; Seq& seq_; private: // silence MSVC warning C4512: assignment operator could not be generated map_iterator& operator= (map_iterator const&); }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::map_iterator > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/container/set.hpp000066400000000000000000000013051265471724600236200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_CLASS_SET_10022005_0607) #define FUSION_SEQUENCE_CLASS_SET_10022005_0607 #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/container/set/000077500000000000000000000000001265471724600231105ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/set/convert.hpp000066400000000000000000000032601265471724600253020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_CONVERT_09232005_1341) #define FUSION_CONVERT_09232005_1341 #include #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct as_set { typedef typename detail::as_set::value> gen; typedef typename gen:: template apply::type>::type type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_set::type as_set(Sequence& seq) { typedef typename result_of::as_set::gen gen; return gen::call(fusion::begin(seq)); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_set::type as_set(Sequence const& seq) { typedef typename result_of::as_set::gen gen; return gen::call(fusion::begin(seq)); } }} #endif KWStyle-master/Utilities/boost/fusion/container/set/detail/000077500000000000000000000000001265471724600243525ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/set/detail/as_set.hpp000066400000000000000000000107721265471724600263500ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_AS_SET_0932005_1341) #define FUSION_AS_SET_0932005_1341 #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template struct as_set; template <> struct as_set<0> { template struct apply { typedef set<> type; }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator) { return set<>(); } }; BOOST_FUSION_BARRIER_END }}} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_set" FUSION_MAX_SET_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN #define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ typedef typename fusion::result_of::next::type \ BOOST_PP_CAT(I, BOOST_PP_INC(n)); #define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); #define BOOST_FUSION_VALUE_OF_ITERATOR(z, n, data) \ typedef typename fusion::result_of::value_of::type \ BOOST_PP_CAT(T, n); #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE) #include BOOST_PP_ITERATE() #undef BOOST_FUSION_NEXT_ITERATOR #undef BOOST_FUSION_NEXT_CALL_ITERATOR #undef BOOST_FUSION_VALUE_OF_ITERATOR BOOST_FUSION_BARRIER_END }}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() template <> struct as_set { template struct apply { BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _) BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) return result(BOOST_PP_ENUM_PARAMS(N, *i)); } }; #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/set/detail/begin_impl.hpp000066400000000000000000000023431265471724600271720ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_CONTAINER_SET_DETAIL_BEGIN_IMPL_HPP #define BOOST_FUSION_CONTAINER_SET_DETAIL_BEGIN_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct begin_impl; template <> struct begin_impl { template struct apply { typedef basic_iterator< set_iterator_tag , typename Seq::category , Seq , 0 > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return type(seq,0); } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/set/detail/convert_impl.hpp000066400000000000000000000027501265471724600275700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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(FUSION_CONVERT_IMPL_09232005_1341) #define FUSION_CONVERT_IMPL_09232005_1341 #include #include #include #include #include namespace boost { namespace fusion { struct set_tag; namespace extension { template struct convert_impl; template <> struct convert_impl { template struct apply { typedef typename detail::as_set::value> gen; typedef typename gen:: template apply::type>::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return gen::call(fusion::begin(seq)); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/set/detail/deref_data_impl.hpp000066400000000000000000000014641265471724600301670ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_CONTAINER_SET_DETAIL_DEREF_DATA_IMPL_HPP #define BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_DATA_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct deref_data_impl; template <> struct deref_data_impl : deref_impl {}; }}} #endif KWStyle-master/Utilities/boost/fusion/container/set/detail/deref_impl.hpp000066400000000000000000000027141265471724600271750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_CONTAINER_SET_DETAIL_DEREF_IMPL_HPP #define BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_IMPL_HPP #include #include #include namespace boost { namespace fusion { namespace extension { template struct deref_impl; template <> struct deref_impl { template struct apply { typedef typename result_of::at< typename mpl::if_< is_const , typename It::seq_type::storage_type const , typename It::seq_type::storage_type >::type , typename It::index >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return ::boost::fusion::at(it.seq->get_data()); } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/set/detail/end_impl.hpp000066400000000000000000000023521265471724600266540ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_CONTAINER_SET_DETAIL_END_IMPL_HPP #define BOOST_FUSION_CONTAINER_SET_DETAIL_END_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct end_impl; template <> struct end_impl { template struct apply { typedef basic_iterator< set_iterator_tag , typename Seq::category , Seq , Seq::size::value > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return type(seq,0); } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/set/detail/key_of_impl.hpp000066400000000000000000000014571265471724600273670ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_CONTAINER_SET_DETAIL_KEY_OF_IMPL_HPP #define BOOST_FUSION_CONTAINER_SET_DETAIL_KEY_OF_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct key_of_impl; template <> struct key_of_impl : value_of_impl {}; }}} #endif KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/000077500000000000000000000000001265471724600270505ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/as_set.hpp000066400000000000000000000017551265471724600310470ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_SET_SIZE <= 10 #include #elif FUSION_MAX_SET_SIZE <= 20 #include #elif FUSION_MAX_SET_SIZE <= 30 #include #elif FUSION_MAX_SET_SIZE <= 40 #include #elif FUSION_MAX_SET_SIZE <= 50 #include #else #error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/as_set10.hpp000066400000000000000000000334621265471724600312100ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template <> struct as_set<1> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::value_of::type T0; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(*i0); } }; template <> struct as_set<2> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(*i0 , *i1); } }; template <> struct as_set<3> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(*i0 , *i1 , *i2); } }; template <> struct as_set<4> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(*i0 , *i1 , *i2 , *i3); } }; template <> struct as_set<5> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(*i0 , *i1 , *i2 , *i3 , *i4); } }; template <> struct as_set<6> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } }; template <> struct as_set<7> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } }; template <> struct as_set<8> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } }; template <> struct as_set<9> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } }; template <> struct as_set<10> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/as_set20.hpp000066400000000000000000001273041265471724600312100ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template <> struct as_set<1> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::value_of::type T0; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(*i0); } }; template <> struct as_set<2> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(*i0 , *i1); } }; template <> struct as_set<3> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(*i0 , *i1 , *i2); } }; template <> struct as_set<4> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(*i0 , *i1 , *i2 , *i3); } }; template <> struct as_set<5> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(*i0 , *i1 , *i2 , *i3 , *i4); } }; template <> struct as_set<6> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } }; template <> struct as_set<7> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } }; template <> struct as_set<8> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } }; template <> struct as_set<9> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } }; template <> struct as_set<10> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; template <> struct as_set<11> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); } }; template <> struct as_set<12> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); } }; template <> struct as_set<13> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); } }; template <> struct as_set<14> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); } }; template <> struct as_set<15> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); } }; template <> struct as_set<16> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); } }; template <> struct as_set<17> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); } }; template <> struct as_set<18> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); } }; template <> struct as_set<19> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); } }; template <> struct as_set<20> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/as_set30.hpp000066400000000000000000002651161265471724600312150ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template <> struct as_set<1> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::value_of::type T0; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(*i0); } }; template <> struct as_set<2> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(*i0 , *i1); } }; template <> struct as_set<3> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(*i0 , *i1 , *i2); } }; template <> struct as_set<4> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(*i0 , *i1 , *i2 , *i3); } }; template <> struct as_set<5> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(*i0 , *i1 , *i2 , *i3 , *i4); } }; template <> struct as_set<6> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } }; template <> struct as_set<7> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } }; template <> struct as_set<8> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } }; template <> struct as_set<9> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } }; template <> struct as_set<10> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; template <> struct as_set<11> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); } }; template <> struct as_set<12> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); } }; template <> struct as_set<13> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); } }; template <> struct as_set<14> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); } }; template <> struct as_set<15> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); } }; template <> struct as_set<16> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); } }; template <> struct as_set<17> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); } }; template <> struct as_set<18> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); } }; template <> struct as_set<19> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); } }; template <> struct as_set<20> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } }; template <> struct as_set<21> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); } }; template <> struct as_set<22> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); } }; template <> struct as_set<23> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); } }; template <> struct as_set<24> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); } }; template <> struct as_set<25> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); } }; template <> struct as_set<26> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); } }; template <> struct as_set<27> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); } }; template <> struct as_set<28> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); } }; template <> struct as_set<29> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); } }; template <> struct as_set<30> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/as_set40.hpp000066400000000000000000004647201265471724600312200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template <> struct as_set<1> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::value_of::type T0; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(*i0); } }; template <> struct as_set<2> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(*i0 , *i1); } }; template <> struct as_set<3> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(*i0 , *i1 , *i2); } }; template <> struct as_set<4> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(*i0 , *i1 , *i2 , *i3); } }; template <> struct as_set<5> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(*i0 , *i1 , *i2 , *i3 , *i4); } }; template <> struct as_set<6> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } }; template <> struct as_set<7> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } }; template <> struct as_set<8> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } }; template <> struct as_set<9> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } }; template <> struct as_set<10> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; template <> struct as_set<11> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); } }; template <> struct as_set<12> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); } }; template <> struct as_set<13> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); } }; template <> struct as_set<14> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); } }; template <> struct as_set<15> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); } }; template <> struct as_set<16> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); } }; template <> struct as_set<17> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); } }; template <> struct as_set<18> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); } }; template <> struct as_set<19> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); } }; template <> struct as_set<20> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } }; template <> struct as_set<21> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); } }; template <> struct as_set<22> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); } }; template <> struct as_set<23> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); } }; template <> struct as_set<24> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); } }; template <> struct as_set<25> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); } }; template <> struct as_set<26> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); } }; template <> struct as_set<27> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); } }; template <> struct as_set<28> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); } }; template <> struct as_set<29> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); } }; template <> struct as_set<30> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); } }; template <> struct as_set<31> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); } }; template <> struct as_set<32> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); } }; template <> struct as_set<33> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); } }; template <> struct as_set<34> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); } }; template <> struct as_set<35> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); } }; template <> struct as_set<36> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); } }; template <> struct as_set<37> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); } }; template <> struct as_set<38> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); } }; template <> struct as_set<39> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); } }; template <> struct as_set<40> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/as_set50.hpp000066400000000000000000007265121265471724600312210ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template <> struct as_set<1> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::value_of::type T0; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(*i0); } }; template <> struct as_set<2> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(*i0 , *i1); } }; template <> struct as_set<3> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(*i0 , *i1 , *i2); } }; template <> struct as_set<4> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(*i0 , *i1 , *i2 , *i3); } }; template <> struct as_set<5> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(*i0 , *i1 , *i2 , *i3 , *i4); } }; template <> struct as_set<6> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } }; template <> struct as_set<7> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } }; template <> struct as_set<8> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } }; template <> struct as_set<9> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } }; template <> struct as_set<10> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; template <> struct as_set<11> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); } }; template <> struct as_set<12> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); } }; template <> struct as_set<13> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); } }; template <> struct as_set<14> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); } }; template <> struct as_set<15> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); } }; template <> struct as_set<16> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); } }; template <> struct as_set<17> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); } }; template <> struct as_set<18> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); } }; template <> struct as_set<19> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); } }; template <> struct as_set<20> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } }; template <> struct as_set<21> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); } }; template <> struct as_set<22> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); } }; template <> struct as_set<23> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); } }; template <> struct as_set<24> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); } }; template <> struct as_set<25> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); } }; template <> struct as_set<26> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); } }; template <> struct as_set<27> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); } }; template <> struct as_set<28> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); } }; template <> struct as_set<29> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); } }; template <> struct as_set<30> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); } }; template <> struct as_set<31> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); } }; template <> struct as_set<32> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); } }; template <> struct as_set<33> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); } }; template <> struct as_set<34> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); } }; template <> struct as_set<35> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); } }; template <> struct as_set<36> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); } }; template <> struct as_set<37> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); } }; template <> struct as_set<38> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); } }; template <> struct as_set<39> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); } }; template <> struct as_set<40> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); } }; template <> struct as_set<41> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40); } }; template <> struct as_set<42> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41); } }; template <> struct as_set<43> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42); } }; template <> struct as_set<44> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43); } }; template <> struct as_set<45> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44); } }; template <> struct as_set<46> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45); } }; template <> struct as_set<47> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46); } }; template <> struct as_set<48> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47); } }; template <> struct as_set<49> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48); } }; template <> struct as_set<50> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; typedef typename fusion::result_of::next::type I50; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; typedef typename fusion::result_of::value_of::type T49; typedef set type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); typename gen::I49 i49 = fusion::next(i48); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/set.hpp000066400000000000000000000017361265471724600303630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_SET_SIZE <= 10 #include #elif FUSION_MAX_SET_SIZE <= 20 #include #elif FUSION_MAX_SET_SIZE <= 30 #include #elif FUSION_MAX_SET_SIZE <= 40 #include #elif FUSION_MAX_SET_SIZE <= 50 #include #else #error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/set10.hpp000066400000000000000000000125531265471724600305230ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct set : sequence_base > { struct category : forward_traversal_tag, associative_tag {}; typedef set_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> storage_type; typedef typename storage_type::size size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set() : data() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(Sequence const& rhs , typename boost::enable_if >::type* = 0) : data(rhs) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit set(typename detail::call_param::type arg0) : data(arg0) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : data(arg0 , arg1) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : data(arg0 , arg1 , arg2) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : data(arg0 , arg1 , arg2 , arg3) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : data(arg0 , arg1 , arg2 , arg3 , arg4) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED set& operator=(T const& rhs) { data = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; }; }} KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/set10_fwd.hpp000066400000000000000000000014141265471724600313550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct set_tag; struct set_iterator_tag; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ > struct set; }} KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/set20.hpp000066400000000000000000000347471265471724600305350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct set : sequence_base > { struct category : forward_traversal_tag, associative_tag {}; typedef set_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> storage_type; typedef typename storage_type::size size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set() : data() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(Sequence const& rhs , typename boost::enable_if >::type* = 0) : data(rhs) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit set(typename detail::call_param::type arg0) : data(arg0) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : data(arg0 , arg1) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : data(arg0 , arg1 , arg2) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : data(arg0 , arg1 , arg2 , arg3) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : data(arg0 , arg1 , arg2 , arg3 , arg4) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED set& operator=(T const& rhs) { data = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; }; }} KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/set20_fwd.hpp000066400000000000000000000017621265471724600313640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct set_tag; struct set_iterator_tag; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ > struct set; }} KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/set30.hpp000066400000000000000000000721031265471724600305220ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct set : sequence_base > { struct category : forward_traversal_tag, associative_tag {}; typedef set_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef vector< 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> storage_type; typedef typename storage_type::size size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set() : data() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(Sequence const& rhs , typename boost::enable_if >::type* = 0) : data(rhs) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit set(typename detail::call_param::type arg0) : data(arg0) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : data(arg0 , arg1) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : data(arg0 , arg1 , arg2) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : data(arg0 , arg1 , arg2 , arg3) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : data(arg0 , arg1 , arg2 , arg3 , arg4) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED set& operator=(T const& rhs) { data = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; }; }} KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/set30_fwd.hpp000066400000000000000000000023301265471724600313550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct set_tag; struct set_iterator_tag; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ > struct set; }} KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/set40.hpp000066400000000000000000001421771265471724600305340ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct set : sequence_base > { struct category : forward_traversal_tag, associative_tag {}; typedef set_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef vector< 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> storage_type; typedef typename storage_type::size size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set() : data() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(Sequence const& rhs , typename boost::enable_if >::type* = 0) : data(rhs) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit set(typename detail::call_param::type arg0) : data(arg0) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : data(arg0 , arg1) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : data(arg0 , arg1 , arg2) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : data(arg0 , arg1 , arg2 , arg3) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : data(arg0 , arg1 , arg2 , arg3 , arg4) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED set& operator=(T const& rhs) { data = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; }; }} KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/set40_fwd.hpp000066400000000000000000000026761265471724600313730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct set_tag; struct set_iterator_tag; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ > struct set; }} KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/set50.hpp000066400000000000000000002252331265471724600305300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct set : sequence_base > { struct category : forward_traversal_tag, associative_tag {}; typedef set_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef vector< 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> storage_type; typedef typename storage_type::size size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set() : data() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(Sequence const& rhs , typename boost::enable_if >::type* = 0) : data(rhs) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit set(typename detail::call_param::type arg0) : data(arg0) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : data(arg0 , arg1) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : data(arg0 , arg1 , arg2) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : data(arg0 , arg1 , arg2 , arg3) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : data(arg0 , arg1 , arg2 , arg3 , arg4) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED set& operator=(T const& rhs) { data = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; }; }} KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/set50_fwd.hpp000066400000000000000000000032441265471724600313640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct set_tag; struct set_iterator_tag; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ > struct set; }} KWStyle-master/Utilities/boost/fusion/container/set/detail/preprocessed/set_fwd.hpp000066400000000000000000000017621265471724600312220ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_SET_SIZE <= 10 #include #elif FUSION_MAX_SET_SIZE <= 20 #include #elif FUSION_MAX_SET_SIZE <= 30 #include #elif FUSION_MAX_SET_SIZE <= 40 #include #elif FUSION_MAX_SET_SIZE <= 50 #include #else #error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/set/detail/set_forward_ctor.hpp000066400000000000000000000025561265471724600304410ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_SET_FORWARD_CTOR_09162005_1115) #define FUSION_SET_FORWARD_CTOR_09162005_1115 #include #include #include #define BOOST_PP_FILENAME_1 \ #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE) #include BOOST_PP_ITERATE() #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED #if N == 1 explicit #endif set(BOOST_PP_ENUM_BINARY_PARAMS( N, typename detail::call_param::type arg)) : data(BOOST_PP_ENUM_PARAMS(N, arg)) {} #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/set/detail/value_of_data_impl.hpp000066400000000000000000000015131265471724600306750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_DATA_IMPL_HPP #define BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_DATA_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct value_of_data_impl; template <> struct value_of_data_impl : value_of_impl {}; }}} #endif KWStyle-master/Utilities/boost/fusion/container/set/detail/value_of_impl.hpp000066400000000000000000000020341265471724600277030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_IMPL_HPP #define BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct value_of_impl; template <> struct value_of_impl { template struct apply { typedef typename result_of::value_at< typename It::seq_type::storage_type , typename It::index >::type type; }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/container/set/limits.hpp000066400000000000000000000017101265471724600251210ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SET_LIMITS_09162005_1103) #define FUSION_SET_LIMITS_09162005_1103 #include #include #if !defined(FUSION_MAX_SET_SIZE) # define FUSION_MAX_SET_SIZE FUSION_MAX_VECTOR_SIZE #else # if FUSION_MAX_SET_SIZE < 3 # undef FUSION_MAX_SET_SIZE # if (FUSION_MAX_VECTOR_SIZE > 10) # define FUSION_MAX_SET_SIZE 10 # else # define FUSION_MAX_SET_SIZE FUSION_MAX_VECTOR_SIZE # endif # endif #endif #define FUSION_MAX_SET_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_SET_SIZE)) #endif KWStyle-master/Utilities/boost/fusion/container/set/set.hpp000066400000000000000000000073351265471724600244240ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SET_09162005_1104) #define FUSION_SET_09162005_1104 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/set" FUSION_MAX_SET_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct set : sequence_base > { struct category : forward_traversal_tag, associative_tag {}; typedef set_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::false_ is_view; typedef vector< BOOST_PP_ENUM_PARAMS(FUSION_MAX_SET_SIZE, T)> storage_type; typedef typename storage_type::size size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set() : data() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED set(Sequence const& rhs , typename boost::enable_if >::type* = 0) : data(rhs) {} #include template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED set& operator=(T const& rhs) { data = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; }; }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/container/set/set_fwd.hpp000066400000000000000000000035301265471724600252550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SET_FORWARD_09162005_1102) #define FUSION_SET_FORWARD_09162005_1102 #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/set" FUSION_MAX_SET_SIZE_STR "_fwd.hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; struct set_tag; struct set_iterator_tag; template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_SET_SIZE, typename T, void_) > struct set; }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/container/vector.hpp000066400000000000000000000023161265471724600243320ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_CLASS_VECTOR_10022005_0602) #define FUSION_SEQUENCE_CLASS_VECTOR_10022005_0602 #include #include #include #if (FUSION_MAX_VECTOR_SIZE > 10) #include #endif #if (FUSION_MAX_VECTOR_SIZE > 20) #include #endif #if (FUSION_MAX_VECTOR_SIZE > 30) #include #endif #if (FUSION_MAX_VECTOR_SIZE > 40) #include #endif #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/container/vector/000077500000000000000000000000001265471724600236175ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/vector/convert.hpp000066400000000000000000000033271265471724600260150ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_CONVERT_09222005_1104) #define FUSION_CONVERT_09222005_1104 #include #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct as_vector { typedef typename detail::as_vector::value> gen; typedef typename gen:: template apply::type>::type type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_vector::type as_vector(Sequence& seq) { typedef typename result_of::as_vector::gen gen; return gen::call(fusion::begin(seq)); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_vector::type as_vector(Sequence const& seq) { typedef typename result_of::as_vector::gen gen; return gen::call(fusion::begin(seq)); } }} #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/000077500000000000000000000000001265471724600250615ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/vector/detail/advance_impl.hpp000066400000000000000000000024101265471724600302110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ADVANCE_IMPL_09172005_1156) #define FUSION_ADVANCE_IMPL_09172005_1156 namespace boost { namespace fusion { struct vector_iterator_tag; template struct vector_iterator; namespace extension { template struct advance_impl; template <> struct advance_impl { template struct apply { typedef typename Iterator::index index; typedef typename Iterator::vector vector; typedef vector_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.vec); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/as_vector.hpp000066400000000000000000000111021265471724600275520ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_AS_VECTOR_09222005_0950) #define FUSION_AS_VECTOR_09222005_0950 #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template struct as_vector; template <> struct as_vector<0> { template struct apply { typedef vector0<> type; }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator) { return vector0<>(); } }; BOOST_FUSION_BARRIER_END }}} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_vector" FUSION_MAX_VECTOR_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN #define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ typedef typename fusion::result_of::next::type \ BOOST_PP_CAT(I, BOOST_PP_INC(n)); #define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); #define BOOST_FUSION_VALUE_OF_ITERATOR(z, n, data) \ typedef typename fusion::result_of::value_of::type \ BOOST_PP_CAT(T, n); #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) #include BOOST_PP_ITERATE() #undef BOOST_FUSION_NEXT_ITERATOR #undef BOOST_FUSION_NEXT_CALL_ITERATOR #undef BOOST_FUSION_VALUE_OF_ITERATOR BOOST_FUSION_BARRIER_END }}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() template <> struct as_vector { template struct apply { BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _) BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) typedef BOOST_PP_CAT(vector, N) type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) return result(BOOST_PP_ENUM_PARAMS(N, *i)); } }; #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/vector/detail/at_impl.hpp000066400000000000000000000037011265471724600272200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_AT_IMPL_05042005_0741) #define FUSION_AT_IMPL_05042005_0741 #include #include #include #include #include namespace boost { namespace fusion { struct vector_tag; namespace extension { template struct at_impl; template <> struct at_impl { template struct apply { typedef typename mpl::at::type element; typedef typename detail::ref_result::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& v) { BOOST_STATIC_ASSERT((N::value < Sequence::size::value)); return v.at_impl(N()); } }; template struct apply { typedef typename mpl::at::type element; typedef typename detail::cref_result::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence const& v) { BOOST_STATIC_ASSERT((N::value < Sequence::size::value)); return v.at_impl(N()); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/begin_impl.hpp000066400000000000000000000021721265471724600277010ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_BEGIN_IMPL_05042005_1136) #define FUSION_BEGIN_IMPL_05042005_1136 #include #include namespace boost { namespace fusion { struct vector_tag; namespace extension { template struct begin_impl; template <> struct begin_impl { template struct apply { typedef vector_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& v) { return type(v); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/convert_impl.hpp000066400000000000000000000027751265471724600303060ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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(FUSION_CONVERT_IMPL_09222005_1104) #define FUSION_CONVERT_IMPL_09222005_1104 #include #include #include #include #include namespace boost { namespace fusion { struct vector_tag; namespace extension { template struct convert_impl; template <> struct convert_impl { template struct apply { typedef typename detail::as_vector::value> gen; typedef typename gen:: template apply::type>::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return gen::call(fusion::begin(seq)); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/deref_impl.hpp000066400000000000000000000033351265471724600277040ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_DEREF_IMPL_05042005_1037) #define FUSION_DEREF_IMPL_05042005_1037 #include #include #include #include #include namespace boost { namespace fusion { struct vector_iterator_tag; namespace extension { template struct deref_impl; template <> struct deref_impl { template struct apply { typedef typename Iterator::vector vector; typedef typename Iterator::index index; typedef typename mpl::at< typename vector::types, index>::type element; typedef typename mpl::if_< is_const , typename fusion::detail::cref_result::type , typename fusion::detail::ref_result::type >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return i.vec.at_impl(index()); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/distance_impl.hpp000066400000000000000000000026031265471724600304060ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_DISTANCE_IMPL_09172005_0751) #define FUSION_DISTANCE_IMPL_09172005_0751 #include #include namespace boost { namespace fusion { struct vector_iterator_tag; namespace extension { template struct distance_impl; template <> struct distance_impl { template struct apply : mpl::minus { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename mpl::minus< typename Last::index, typename First::index>::type call(First const&, Last const&) { typedef typename mpl::minus< typename Last::index, typename First::index>::type result; return result(); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/end_impl.hpp000066400000000000000000000022621265471724600273630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_END_IMPL_05042005_1142) #define FUSION_END_IMPL_05042005_1142 #include #include namespace boost { namespace fusion { struct vector_tag; namespace extension { template struct end_impl; template <> struct end_impl { template struct apply { typedef typename Sequence::size size; typedef vector_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& v) { return type(v); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/equal_to_impl.hpp000066400000000000000000000021211265471724600304200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_EQUAL_TO_IMPL_05052005_1215) #define FUSION_EQUAL_TO_IMPL_05052005_1215 #include #include #include #include namespace boost { namespace fusion { struct vector_iterator_tag; namespace extension { template struct equal_to_impl; template <> struct equal_to_impl { template struct apply : is_same< typename I1::identity , typename I2::identity > { }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/next_impl.hpp000066400000000000000000000025211265471724600275710ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_NEXT_IMPL_05042005_1058) #define FUSION_NEXT_IMPL_05042005_1058 #include #include namespace boost { namespace fusion { struct vector_iterator_tag; template struct vector_iterator; namespace extension { template struct next_impl; template <> struct next_impl { template struct apply { typedef typename Iterator::vector vector; typedef typename Iterator::index index; typedef vector_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.vec); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/000077500000000000000000000000001265471724600275575ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/as_vector.hpp000066400000000000000000000020351265471724600322550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_VECTOR_SIZE <= 10 #include #elif FUSION_MAX_VECTOR_SIZE <= 20 #include #elif FUSION_MAX_VECTOR_SIZE <= 30 #include #elif FUSION_MAX_VECTOR_SIZE <= 40 #include #elif FUSION_MAX_VECTOR_SIZE <= 50 #include #else #error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/as_vector10.hpp000066400000000000000000000335711265471724600324270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template <> struct as_vector<1> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::value_of::type T0; typedef vector1 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(*i0); } }; template <> struct as_vector<2> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef vector2 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(*i0 , *i1); } }; template <> struct as_vector<3> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef vector3 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(*i0 , *i1 , *i2); } }; template <> struct as_vector<4> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef vector4 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(*i0 , *i1 , *i2 , *i3); } }; template <> struct as_vector<5> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef vector5 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(*i0 , *i1 , *i2 , *i3 , *i4); } }; template <> struct as_vector<6> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef vector6 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } }; template <> struct as_vector<7> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef vector7 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } }; template <> struct as_vector<8> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef vector8 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } }; template <> struct as_vector<9> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef vector9 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } }; template <> struct as_vector<10> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef vector10 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/as_vector20.hpp000066400000000000000000001275331265471724600324320ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template <> struct as_vector<1> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::value_of::type T0; typedef vector1 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(*i0); } }; template <> struct as_vector<2> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef vector2 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(*i0 , *i1); } }; template <> struct as_vector<3> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef vector3 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(*i0 , *i1 , *i2); } }; template <> struct as_vector<4> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef vector4 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(*i0 , *i1 , *i2 , *i3); } }; template <> struct as_vector<5> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef vector5 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(*i0 , *i1 , *i2 , *i3 , *i4); } }; template <> struct as_vector<6> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef vector6 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } }; template <> struct as_vector<7> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef vector7 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } }; template <> struct as_vector<8> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef vector8 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } }; template <> struct as_vector<9> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef vector9 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } }; template <> struct as_vector<10> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef vector10 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; template <> struct as_vector<11> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef vector11 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); } }; template <> struct as_vector<12> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef vector12 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); } }; template <> struct as_vector<13> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef vector13 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); } }; template <> struct as_vector<14> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef vector14 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); } }; template <> struct as_vector<15> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef vector15 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); } }; template <> struct as_vector<16> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef vector16 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); } }; template <> struct as_vector<17> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef vector17 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); } }; template <> struct as_vector<18> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef vector18 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); } }; template <> struct as_vector<19> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef vector19 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); } }; template <> struct as_vector<20> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef vector20 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/as_vector30.hpp000066400000000000000000002654651265471724600324420ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template <> struct as_vector<1> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::value_of::type T0; typedef vector1 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(*i0); } }; template <> struct as_vector<2> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef vector2 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(*i0 , *i1); } }; template <> struct as_vector<3> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef vector3 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(*i0 , *i1 , *i2); } }; template <> struct as_vector<4> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef vector4 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(*i0 , *i1 , *i2 , *i3); } }; template <> struct as_vector<5> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef vector5 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(*i0 , *i1 , *i2 , *i3 , *i4); } }; template <> struct as_vector<6> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef vector6 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } }; template <> struct as_vector<7> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef vector7 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } }; template <> struct as_vector<8> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef vector8 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } }; template <> struct as_vector<9> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef vector9 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } }; template <> struct as_vector<10> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef vector10 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; template <> struct as_vector<11> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef vector11 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); } }; template <> struct as_vector<12> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef vector12 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); } }; template <> struct as_vector<13> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef vector13 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); } }; template <> struct as_vector<14> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef vector14 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); } }; template <> struct as_vector<15> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef vector15 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); } }; template <> struct as_vector<16> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef vector16 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); } }; template <> struct as_vector<17> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef vector17 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); } }; template <> struct as_vector<18> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef vector18 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); } }; template <> struct as_vector<19> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef vector19 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); } }; template <> struct as_vector<20> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef vector20 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } }; template <> struct as_vector<21> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef vector21 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); } }; template <> struct as_vector<22> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef vector22 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); } }; template <> struct as_vector<23> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef vector23 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); } }; template <> struct as_vector<24> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef vector24 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); } }; template <> struct as_vector<25> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef vector25 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); } }; template <> struct as_vector<26> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef vector26 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); } }; template <> struct as_vector<27> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef vector27 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); } }; template <> struct as_vector<28> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef vector28 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); } }; template <> struct as_vector<29> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef vector29 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); } }; template <> struct as_vector<30> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef vector30 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/as_vector40.hpp000066400000000000000000004654071265471724600324410ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template <> struct as_vector<1> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::value_of::type T0; typedef vector1 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(*i0); } }; template <> struct as_vector<2> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef vector2 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(*i0 , *i1); } }; template <> struct as_vector<3> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef vector3 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(*i0 , *i1 , *i2); } }; template <> struct as_vector<4> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef vector4 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(*i0 , *i1 , *i2 , *i3); } }; template <> struct as_vector<5> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef vector5 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(*i0 , *i1 , *i2 , *i3 , *i4); } }; template <> struct as_vector<6> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef vector6 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } }; template <> struct as_vector<7> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef vector7 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } }; template <> struct as_vector<8> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef vector8 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } }; template <> struct as_vector<9> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef vector9 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } }; template <> struct as_vector<10> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef vector10 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; template <> struct as_vector<11> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef vector11 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); } }; template <> struct as_vector<12> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef vector12 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); } }; template <> struct as_vector<13> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef vector13 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); } }; template <> struct as_vector<14> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef vector14 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); } }; template <> struct as_vector<15> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef vector15 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); } }; template <> struct as_vector<16> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef vector16 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); } }; template <> struct as_vector<17> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef vector17 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); } }; template <> struct as_vector<18> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef vector18 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); } }; template <> struct as_vector<19> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef vector19 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); } }; template <> struct as_vector<20> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef vector20 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } }; template <> struct as_vector<21> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef vector21 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); } }; template <> struct as_vector<22> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef vector22 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); } }; template <> struct as_vector<23> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef vector23 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); } }; template <> struct as_vector<24> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef vector24 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); } }; template <> struct as_vector<25> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef vector25 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); } }; template <> struct as_vector<26> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef vector26 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); } }; template <> struct as_vector<27> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef vector27 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); } }; template <> struct as_vector<28> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef vector28 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); } }; template <> struct as_vector<29> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef vector29 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); } }; template <> struct as_vector<30> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef vector30 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); } }; template <> struct as_vector<31> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef vector31 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); } }; template <> struct as_vector<32> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef vector32 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); } }; template <> struct as_vector<33> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef vector33 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); } }; template <> struct as_vector<34> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef vector34 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); } }; template <> struct as_vector<35> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef vector35 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); } }; template <> struct as_vector<36> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef vector36 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); } }; template <> struct as_vector<37> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef vector37 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); } }; template <> struct as_vector<38> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef vector38 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); } }; template <> struct as_vector<39> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef vector39 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); } }; template <> struct as_vector<40> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef vector40 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/as_vector50.hpp000066400000000000000000007273211265471724600324360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { BOOST_FUSION_BARRIER_BEGIN template <> struct as_vector<1> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::value_of::type T0; typedef vector1 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; return result(*i0); } }; template <> struct as_vector<2> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef vector2 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); return result(*i0 , *i1); } }; template <> struct as_vector<3> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef vector3 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); return result(*i0 , *i1 , *i2); } }; template <> struct as_vector<4> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef vector4 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); return result(*i0 , *i1 , *i2 , *i3); } }; template <> struct as_vector<5> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef vector5 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); return result(*i0 , *i1 , *i2 , *i3 , *i4); } }; template <> struct as_vector<6> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef vector6 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } }; template <> struct as_vector<7> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef vector7 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } }; template <> struct as_vector<8> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef vector8 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } }; template <> struct as_vector<9> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef vector9 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } }; template <> struct as_vector<10> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef vector10 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; template <> struct as_vector<11> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef vector11 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); } }; template <> struct as_vector<12> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef vector12 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); } }; template <> struct as_vector<13> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef vector13 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); } }; template <> struct as_vector<14> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef vector14 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); } }; template <> struct as_vector<15> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef vector15 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); } }; template <> struct as_vector<16> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef vector16 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); } }; template <> struct as_vector<17> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef vector17 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); } }; template <> struct as_vector<18> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef vector18 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); } }; template <> struct as_vector<19> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef vector19 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); } }; template <> struct as_vector<20> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef vector20 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } }; template <> struct as_vector<21> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef vector21 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); } }; template <> struct as_vector<22> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef vector22 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); } }; template <> struct as_vector<23> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef vector23 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); } }; template <> struct as_vector<24> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef vector24 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); } }; template <> struct as_vector<25> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef vector25 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); } }; template <> struct as_vector<26> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef vector26 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); } }; template <> struct as_vector<27> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef vector27 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); } }; template <> struct as_vector<28> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef vector28 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); } }; template <> struct as_vector<29> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef vector29 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); } }; template <> struct as_vector<30> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef vector30 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); } }; template <> struct as_vector<31> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef vector31 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); } }; template <> struct as_vector<32> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef vector32 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); } }; template <> struct as_vector<33> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef vector33 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); } }; template <> struct as_vector<34> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef vector34 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); } }; template <> struct as_vector<35> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef vector35 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); } }; template <> struct as_vector<36> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef vector36 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); } }; template <> struct as_vector<37> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef vector37 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); } }; template <> struct as_vector<38> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef vector38 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); } }; template <> struct as_vector<39> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef vector39 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); } }; template <> struct as_vector<40> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef vector40 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); } }; template <> struct as_vector<41> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef vector41 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40); } }; template <> struct as_vector<42> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef vector42 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41); } }; template <> struct as_vector<43> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef vector43 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42); } }; template <> struct as_vector<44> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef vector44 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43); } }; template <> struct as_vector<45> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef vector45 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44); } }; template <> struct as_vector<46> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef vector46 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45); } }; template <> struct as_vector<47> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef vector47 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46); } }; template <> struct as_vector<48> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef vector48 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47); } }; template <> struct as_vector<49> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; typedef vector49 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48); } }; template <> struct as_vector<50> { template struct apply { typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; typedef typename fusion::result_of::next::type I50; typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; typedef typename fusion::result_of::value_of::type T49; typedef vector50 type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); typename gen::I49 i49 = fusion::next(i48); return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); } }; BOOST_FUSION_BARRIER_END }}} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector.hpp000066400000000000000000000020231265471724600315670ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_VECTOR_SIZE <= 10 #include #elif FUSION_MAX_VECTOR_SIZE <= 20 #include #elif FUSION_MAX_VECTOR_SIZE <= 30 #include #elif FUSION_MAX_VECTOR_SIZE <= 40 #include #elif FUSION_MAX_VECTOR_SIZE <= 50 #include #else #error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector10.hpp000066400000000000000000003144621265471724600317450ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct vector_tag; struct fusion_sequence_tag; struct random_access_traversal_tag; template struct vector_data1 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data1() : m0() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data1(U0 && arg0 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data1( vector_data1&& other) : m0(std::forward( other.m0)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data1( typename detail::call_param::type arg0) : m0(arg0) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data1( vector_data1 const& other) : m0(other.m0) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data1& operator=(vector_data1 const& vec) { this->m0 = vec.m0; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data1 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); return vector_data1(*i0); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data1 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); return vector_data1(*i0); } T0 m0; }; template struct vector1 : vector_data1 , sequence_base > { typedef vector1 this_type; typedef vector_data1 base_type; typedef mpl::vector1 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<1> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector1() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED explicit vector1( typename detail::call_param::type arg0) : base_type(arg0) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED explicit vector1(U0&& _0 , typename boost::enable_if >::type* = 0 ) : base_type(std::forward( _0)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector1(vector1&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector1(vector1 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector1& operator=(vector1 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector1& operator=(vector1&& vec) { this->m0 = std::forward< T0>(vec.m0); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector1( vector1 const& vec) : base_type(vec.m0) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector1( Sequence const& seq , typename boost::enable_if >::type* = 0 , typename boost::disable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector1( Sequence& seq , typename boost::enable_if >::type* = 0 , typename boost::disable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector1& operator=(vector1 const& vec) { this->m0 = vec.m0; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); this->m0 = *i0; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data2 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data2() : m0() , m1() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data2(U0 && arg0 , U1 && arg1 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data2( vector_data2&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data2( typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : m0(arg0) , m1(arg1) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data2( vector_data2 const& other) : m0(other.m0) , m1(other.m1) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data2& operator=(vector_data2 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data2 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); return vector_data2(*i0 , *i1); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data2 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); return vector_data2(*i0 , *i1); } T0 m0; T1 m1; }; template struct vector2 : vector_data2 , sequence_base > { typedef vector2 this_type; typedef vector_data2 base_type; typedef mpl::vector2 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<2> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector2() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector2( typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : base_type(arg0 , arg1) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector2(U0 && arg0 , U1 && arg1) : base_type(std::forward( arg0) , std::forward( arg1)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector2(vector2&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector2(vector2 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector2& operator=(vector2 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector2& operator=(vector2&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector2( vector2 const& vec) : base_type(vec.m0 , vec.m1) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector2( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector2( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector2& operator=(vector2 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); this->m0 = *i0; this->m1 = *i1; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data3 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data3() : m0() , m1() , m2() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data3(U0 && arg0 , U1 && arg1 , U2 && arg2 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data3( vector_data3&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data3( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : m0(arg0) , m1(arg1) , m2(arg2) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data3( vector_data3 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data3& operator=(vector_data3 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data3 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); return vector_data3(*i0 , *i1 , *i2); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data3 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); return vector_data3(*i0 , *i1 , *i2); } T0 m0; T1 m1; T2 m2; }; template struct vector3 : vector_data3 , sequence_base > { typedef vector3 this_type; typedef vector_data3 base_type; typedef mpl::vector3 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<3> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector3() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector3( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : base_type(arg0 , arg1 , arg2) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector3(U0 && arg0 , U1 && arg1 , U2 && arg2) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector3(vector3&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector3(vector3 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector3& operator=(vector3 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector3& operator=(vector3&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector3( vector3 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector3( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector3( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector3& operator=(vector3 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data4 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data4() : m0() , m1() , m2() , m3() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data4(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data4( vector_data4&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data4( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data4( vector_data4 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data4& operator=(vector_data4 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data4 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); return vector_data4(*i0 , *i1 , *i2 , *i3); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data4 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); return vector_data4(*i0 , *i1 , *i2 , *i3); } T0 m0; T1 m1; T2 m2; T3 m3; }; template struct vector4 : vector_data4 , sequence_base > { typedef vector4 this_type; typedef vector_data4 base_type; typedef mpl::vector4 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<4> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector4() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector4( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : base_type(arg0 , arg1 , arg2 , arg3) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector4(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector4(vector4&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector4(vector4 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector4& operator=(vector4 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector4& operator=(vector4&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector4( vector4 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector4( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector4( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector4& operator=(vector4 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data5 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data5() : m0() , m1() , m2() , m3() , m4() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data5(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data5( vector_data5&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data5( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data5( vector_data5 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data5& operator=(vector_data5 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data5 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); return vector_data5(*i0 , *i1 , *i2 , *i3 , *i4); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data5 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); return vector_data5(*i0 , *i1 , *i2 , *i3 , *i4); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; }; template struct vector5 : vector_data5 , sequence_base > { typedef vector5 this_type; typedef vector_data5 base_type; typedef mpl::vector5 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<5> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector5() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector5( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector5(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector5(vector5&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector5(vector5 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector5& operator=(vector5 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector5& operator=(vector5&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector5( vector5 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector5( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector5( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector5& operator=(vector5 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data6 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data6() : m0() , m1() , m2() , m3() , m4() , m5() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data6(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data6( vector_data6&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data6( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data6( vector_data6 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data6& operator=(vector_data6 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data6 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); return vector_data6(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data6 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); return vector_data6(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; }; template struct vector6 : vector_data6 , sequence_base > { typedef vector6 this_type; typedef vector_data6 base_type; typedef mpl::vector6 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<6> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector6() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector6( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector6(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector6(vector6&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector6(vector6 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector6& operator=(vector6 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector6& operator=(vector6&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector6( vector6 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector6( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector6( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector6& operator=(vector6 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data7 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data7() : m0() , m1() , m2() , m3() , m4() , m5() , m6() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data7(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data7( vector_data7&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data7( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data7( vector_data7 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data7& operator=(vector_data7 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data7 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); return vector_data7(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data7 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); return vector_data7(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; }; template struct vector7 : vector_data7 , sequence_base > { typedef vector7 this_type; typedef vector_data7 base_type; typedef mpl::vector7 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<7> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector7() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector7( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector7(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector7(vector7&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector7(vector7 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector7& operator=(vector7 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector7& operator=(vector7&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector7( vector7 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector7( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector7( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector7& operator=(vector7 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data8 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data8() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data8(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data8( vector_data8&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data8( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data8( vector_data8 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data8& operator=(vector_data8 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data8 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); return vector_data8(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data8 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); return vector_data8(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; }; template struct vector8 : vector_data8 , sequence_base > { typedef vector8 this_type; typedef vector_data8 base_type; typedef mpl::vector8 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<8> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector8() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector8( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector8(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector8(vector8&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector8(vector8 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector8& operator=(vector8 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector8& operator=(vector8&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector8( vector8 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector8( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector8( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector8& operator=(vector8 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data9 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data9() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data9(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data9( vector_data9&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data9( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data9( vector_data9 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data9& operator=(vector_data9 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data9 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); return vector_data9(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data9 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); return vector_data9(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; }; template struct vector9 : vector_data9 , sequence_base > { typedef vector9 this_type; typedef vector_data9 base_type; typedef mpl::vector9 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<9> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector9() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector9( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector9(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector9(vector9&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector9(vector9 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector9& operator=(vector9 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector9& operator=(vector9&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector9( vector9 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector9( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector9( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector9& operator=(vector9 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data10 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data10() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data10(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data10( vector_data10&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data10( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data10( vector_data10 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data10& operator=(vector_data10 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data10 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); return vector_data10(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data10 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); return vector_data10(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; }; template struct vector10 : vector_data10 , sequence_base > { typedef vector10 this_type; typedef vector_data10 base_type; typedef mpl::vector10 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<10> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector10() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector10( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector10(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector10(vector10&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector10(vector10 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector10& operator=(vector10 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector10& operator=(vector10&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector10( vector10 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector10( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector10( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector10& operator=(vector10 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector10_fwd.hpp000066400000000000000000000030701265471724600325730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 Eric Niebler Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template struct vector1; template struct vector2; template struct vector3; template struct vector4; template struct vector5; template struct vector6; template struct vector7; template struct vector8; template struct vector9; template struct vector10; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector20.hpp000066400000000000000000006235661265471724600317560ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct vector_tag; struct fusion_sequence_tag; struct random_access_traversal_tag; template struct vector_data11 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data11() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data11(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data11( vector_data11&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data11( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data11( vector_data11 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data11& operator=(vector_data11 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data11 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); return vector_data11(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data11 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); return vector_data11(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; }; template struct vector11 : vector_data11 , sequence_base > { typedef vector11 this_type; typedef vector_data11 base_type; typedef mpl::vector11 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<11> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector11() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector11( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector11(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector11(vector11&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector11(vector11 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector11& operator=(vector11 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector11& operator=(vector11&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector11( vector11 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector11( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector11( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector11& operator=(vector11 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data12 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data12() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data12(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data12( vector_data12&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data12( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data12( vector_data12 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data12& operator=(vector_data12 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data12 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); return vector_data12(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data12 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); return vector_data12(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; }; template struct vector12 : vector_data12 , sequence_base > { typedef vector12 this_type; typedef vector_data12 base_type; typedef mpl::vector12 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<12> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector12() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector12( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector12(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector12(vector12&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector12(vector12 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector12& operator=(vector12 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector12& operator=(vector12&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector12( vector12 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector12( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector12( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector12& operator=(vector12 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data13 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data13() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data13(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data13( vector_data13&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data13( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data13( vector_data13 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data13& operator=(vector_data13 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data13 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); return vector_data13(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data13 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); return vector_data13(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; }; template struct vector13 : vector_data13 , sequence_base > { typedef vector13 this_type; typedef vector_data13 base_type; typedef mpl::vector13 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<13> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector13() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector13( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector13(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector13(vector13&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector13(vector13 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector13& operator=(vector13 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector13& operator=(vector13&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector13( vector13 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector13( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector13( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector13& operator=(vector13 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data14 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data14() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data14(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data14( vector_data14&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data14( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data14( vector_data14 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data14& operator=(vector_data14 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data14 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); return vector_data14(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data14 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); return vector_data14(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; }; template struct vector14 : vector_data14 , sequence_base > { typedef vector14 this_type; typedef vector_data14 base_type; typedef mpl::vector14 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<14> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector14() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector14( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector14(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector14(vector14&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector14(vector14 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector14& operator=(vector14 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector14& operator=(vector14&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector14( vector14 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector14( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector14( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector14& operator=(vector14 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data15 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data15() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data15(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data15( vector_data15&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data15( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data15( vector_data15 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data15& operator=(vector_data15 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data15 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); return vector_data15(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data15 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); return vector_data15(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; }; template struct vector15 : vector_data15 , sequence_base > { typedef vector15 this_type; typedef vector_data15 base_type; typedef mpl::vector15 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<15> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector15() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector15( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector15(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector15(vector15&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector15(vector15 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector15& operator=(vector15 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector15& operator=(vector15&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector15( vector15 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector15( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector15( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector15& operator=(vector15 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data16 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data16() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data16(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data16( vector_data16&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data16( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data16( vector_data16 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data16& operator=(vector_data16 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data16 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); return vector_data16(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data16 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); return vector_data16(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; }; template struct vector16 : vector_data16 , sequence_base > { typedef vector16 this_type; typedef vector_data16 base_type; typedef mpl::vector16 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<16> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector16() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector16( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector16(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector16(vector16&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector16(vector16 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector16& operator=(vector16 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector16& operator=(vector16&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector16( vector16 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector16( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector16( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector16& operator=(vector16 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data17 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data17() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data17(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data17( vector_data17&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data17( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data17( vector_data17 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data17& operator=(vector_data17 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data17 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); return vector_data17(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data17 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); return vector_data17(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; }; template struct vector17 : vector_data17 , sequence_base > { typedef vector17 this_type; typedef vector_data17 base_type; typedef mpl::vector17 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<17> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector17() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector17( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector17(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector17(vector17&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector17(vector17 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector17& operator=(vector17 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector17& operator=(vector17&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector17( vector17 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector17( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector17( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector17& operator=(vector17 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data18 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data18() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data18(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data18( vector_data18&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data18( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data18( vector_data18 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data18& operator=(vector_data18 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data18 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); return vector_data18(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data18 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); return vector_data18(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; }; template struct vector18 : vector_data18 , sequence_base > { typedef vector18 this_type; typedef vector_data18 base_type; typedef mpl::vector18 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<18> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector18() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector18( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector18(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector18(vector18&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector18(vector18 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector18& operator=(vector18 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector18& operator=(vector18&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector18( vector18 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector18( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector18( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector18& operator=(vector18 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data19 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data19() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data19(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data19( vector_data19&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data19( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data19( vector_data19 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data19& operator=(vector_data19 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data19 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); return vector_data19(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data19 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); return vector_data19(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; }; template struct vector19 : vector_data19 , sequence_base > { typedef vector19 this_type; typedef vector_data19 base_type; typedef mpl::vector19 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<19> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector19() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector19( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector19(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector19(vector19&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector19(vector19 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector19& operator=(vector19 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector19& operator=(vector19&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector19( vector19 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector19( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector19( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector19& operator=(vector19 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data20 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data20() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data20(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data20( vector_data20&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data20( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data20( vector_data20 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data20& operator=(vector_data20 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data20 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); return vector_data20(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data20 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); return vector_data20(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; }; template struct vector20 : vector_data20 , sequence_base > { typedef vector20 this_type; typedef vector_data20 base_type; typedef mpl::vector20 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<20> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector20() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector20( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector20(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector20(vector20&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector20(vector20 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector20& operator=(vector20 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector20& operator=(vector20&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector20( vector20 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector20( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector20( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector20& operator=(vector20 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector20_fwd.hpp000066400000000000000000000057601265471724600326040ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 Eric Niebler Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template struct vector11; template struct vector12; template struct vector13; template struct vector14; template struct vector15; template struct vector16; template struct vector17; template struct vector18; template struct vector19; template struct vector20; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector30.hpp000066400000000000000000011410021265471724600317340ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct vector_tag; struct fusion_sequence_tag; struct random_access_traversal_tag; template struct vector_data21 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data21() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data21(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data21( vector_data21&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data21( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data21( vector_data21 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data21& operator=(vector_data21 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data21 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); return vector_data21(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data21 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); return vector_data21(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; }; template struct vector21 : vector_data21 , sequence_base > { typedef vector21 this_type; typedef vector_data21 base_type; typedef mpl::vector21 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<21> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector21() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector21( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector21(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector21(vector21&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector21(vector21 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector21& operator=(vector21 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector21& operator=(vector21&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector21( vector21 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector21( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector21( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector21& operator=(vector21 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data22 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data22() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data22(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data22( vector_data22&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data22( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data22( vector_data22 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data22& operator=(vector_data22 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data22 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); return vector_data22(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data22 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); return vector_data22(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; }; template struct vector22 : vector_data22 , sequence_base > { typedef vector22 this_type; typedef vector_data22 base_type; typedef mpl::vector22 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<22> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector22() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector22( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector22(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector22(vector22&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector22(vector22 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector22& operator=(vector22 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector22& operator=(vector22&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector22( vector22 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector22( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector22( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector22& operator=(vector22 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data23 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data23() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data23(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data23( vector_data23&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data23( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data23( vector_data23 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data23& operator=(vector_data23 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data23 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); return vector_data23(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data23 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); return vector_data23(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; }; template struct vector23 : vector_data23 , sequence_base > { typedef vector23 this_type; typedef vector_data23 base_type; typedef mpl::vector23 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<23> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector23() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector23( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector23(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector23(vector23&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector23(vector23 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector23& operator=(vector23 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector23& operator=(vector23&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector23( vector23 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector23( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector23( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector23& operator=(vector23 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data24 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data24() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data24(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data24( vector_data24&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data24( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data24( vector_data24 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data24& operator=(vector_data24 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data24 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); return vector_data24(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data24 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); return vector_data24(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; }; template struct vector24 : vector_data24 , sequence_base > { typedef vector24 this_type; typedef vector_data24 base_type; typedef mpl::vector24 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<24> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector24() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector24( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector24(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector24(vector24&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector24(vector24 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector24& operator=(vector24 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector24& operator=(vector24&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector24( vector24 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector24( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector24( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector24& operator=(vector24 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data25 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data25() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data25(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data25( vector_data25&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data25( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data25( vector_data25 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data25& operator=(vector_data25 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data25 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); return vector_data25(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data25 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); return vector_data25(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; }; template struct vector25 : vector_data25 , sequence_base > { typedef vector25 this_type; typedef vector_data25 base_type; typedef mpl::vector25 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<25> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector25() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector25( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector25(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector25(vector25&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector25(vector25 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector25& operator=(vector25 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector25& operator=(vector25&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector25( vector25 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector25( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector25( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector25& operator=(vector25 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data26 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data26() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data26(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data26( vector_data26&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data26( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data26( vector_data26 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data26& operator=(vector_data26 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data26 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); return vector_data26(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data26 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); return vector_data26(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; }; template struct vector26 : vector_data26 , sequence_base > { typedef vector26 this_type; typedef vector_data26 base_type; typedef mpl::vector26 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<26> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector26() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector26( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector26(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector26(vector26&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector26(vector26 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector26& operator=(vector26 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector26& operator=(vector26&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector26( vector26 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector26( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector26( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector26& operator=(vector26 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data27 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data27() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data27(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data27( vector_data27&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data27( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data27( vector_data27 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data27& operator=(vector_data27 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data27 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); return vector_data27(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data27 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); return vector_data27(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; }; template struct vector27 : vector_data27 , sequence_base > { typedef vector27 this_type; typedef vector_data27 base_type; typedef mpl::vector27 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<27> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector27() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector27( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector27(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector27(vector27&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector27(vector27 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector27& operator=(vector27 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector27& operator=(vector27&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector27( vector27 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector27( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector27( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector27& operator=(vector27 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data28 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data28() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data28(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data28( vector_data28&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data28( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data28( vector_data28 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data28& operator=(vector_data28 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data28 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); return vector_data28(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data28 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); return vector_data28(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; }; template struct vector28 : vector_data28 , sequence_base > { typedef vector28 this_type; typedef vector_data28 base_type; typedef mpl::vector28 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<28> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector28() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector28( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector28(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector28(vector28&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector28(vector28 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector28& operator=(vector28 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector28& operator=(vector28&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector28( vector28 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector28( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector28( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector28& operator=(vector28 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data29 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data29() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data29(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data29( vector_data29&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data29( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data29( vector_data29 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data29& operator=(vector_data29 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data29 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); return vector_data29(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data29 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); return vector_data29(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; }; template struct vector29 : vector_data29 , sequence_base > { typedef vector29 this_type; typedef vector_data29 base_type; typedef mpl::vector29 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<29> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector29() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector29( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector29(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector29(vector29&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector29(vector29 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector29& operator=(vector29 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector29& operator=(vector29&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector29( vector29 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector29( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector29( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector29& operator=(vector29 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data30 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data30() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data30(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data30( vector_data30&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data30( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data30( vector_data30 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data30& operator=(vector_data30 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data30 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); return vector_data30(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data30 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); return vector_data30(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; }; template struct vector30 : vector_data30 , sequence_base > { typedef vector30 this_type; typedef vector_data30 base_type; typedef mpl::vector30 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<30> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector30() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector30( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector30(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector30(vector30&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector30(vector30 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector30& operator=(vector30 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector30& operator=(vector30&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector30( vector30 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector30( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector30( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector30& operator=(vector30 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector30_fwd.hpp000066400000000000000000000107141265471724600326000ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 Eric Niebler Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template struct vector21; template struct vector22; template struct vector23; template struct vector24; template struct vector25; template struct vector26; template struct vector27; template struct vector28; template struct vector29; template struct vector30; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector40.hpp000066400000000000000000014562161265471724600317550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct vector_tag; struct fusion_sequence_tag; struct random_access_traversal_tag; template struct vector_data31 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data31() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data31(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data31( vector_data31&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data31( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data31( vector_data31 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data31& operator=(vector_data31 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data31 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); return vector_data31(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data31 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); return vector_data31(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; }; template struct vector31 : vector_data31 , sequence_base > { typedef vector31 this_type; typedef vector_data31 base_type; typedef mpl::vector31 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<31> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector31() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector31( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector31(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector31(vector31&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector31(vector31 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector31& operator=(vector31 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector31& operator=(vector31&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector31( vector31 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector31( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector31( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector31& operator=(vector31 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data32 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data32() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data32(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data32( vector_data32&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data32( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data32( vector_data32 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data32& operator=(vector_data32 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data32 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); return vector_data32(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data32 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); return vector_data32(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; }; template struct vector32 : vector_data32 , sequence_base > { typedef vector32 this_type; typedef vector_data32 base_type; typedef mpl::vector32 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<32> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector32() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector32( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector32(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector32(vector32&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector32(vector32 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector32& operator=(vector32 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector32& operator=(vector32&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector32( vector32 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector32( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector32( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector32& operator=(vector32 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data33 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data33() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data33(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data33( vector_data33&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data33( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data33( vector_data33 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data33& operator=(vector_data33 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data33 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); return vector_data33(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data33 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); return vector_data33(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; }; template struct vector33 : vector_data33 , sequence_base > { typedef vector33 this_type; typedef vector_data33 base_type; typedef mpl::vector33 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<33> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector33() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector33( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector33(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector33(vector33&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector33(vector33 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector33& operator=(vector33 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector33& operator=(vector33&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector33( vector33 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector33( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector33( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector33& operator=(vector33 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data34 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data34() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data34(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data34( vector_data34&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data34( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data34( vector_data34 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data34& operator=(vector_data34 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data34 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); return vector_data34(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data34 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); return vector_data34(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; }; template struct vector34 : vector_data34 , sequence_base > { typedef vector34 this_type; typedef vector_data34 base_type; typedef mpl::vector34 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<34> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector34() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector34( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector34(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector34(vector34&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector34(vector34 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector34& operator=(vector34 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector34& operator=(vector34&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector34( vector34 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector34( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector34( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector34& operator=(vector34 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data35 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data35() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data35(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data35( vector_data35&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data35( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data35( vector_data35 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data35& operator=(vector_data35 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data35 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); return vector_data35(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data35 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); return vector_data35(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; }; template struct vector35 : vector_data35 , sequence_base > { typedef vector35 this_type; typedef vector_data35 base_type; typedef mpl::vector35 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<35> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector35() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector35( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector35(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector35(vector35&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector35(vector35 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector35& operator=(vector35 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector35& operator=(vector35&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector35( vector35 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector35( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector35( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector35& operator=(vector35 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data36 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data36() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data36(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data36( vector_data36&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data36( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data36( vector_data36 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data36& operator=(vector_data36 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data36 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); return vector_data36(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data36 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); return vector_data36(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; }; template struct vector36 : vector_data36 , sequence_base > { typedef vector36 this_type; typedef vector_data36 base_type; typedef mpl::vector36 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<36> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector36() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector36( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector36(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector36(vector36&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector36(vector36 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector36& operator=(vector36 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector36& operator=(vector36&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector36( vector36 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector36( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector36( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector36& operator=(vector36 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data37 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data37() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data37(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data37( vector_data37&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data37( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data37( vector_data37 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data37& operator=(vector_data37 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data37 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); return vector_data37(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data37 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); return vector_data37(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; }; template struct vector37 : vector_data37 , sequence_base > { typedef vector37 this_type; typedef vector_data37 base_type; typedef mpl::vector37 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<37> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector37() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector37( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector37(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector37(vector37&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector37(vector37 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector37& operator=(vector37 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector37& operator=(vector37&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector37( vector37 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector37( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector37( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector37& operator=(vector37 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data38 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data38() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data38(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data38( vector_data38&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data38( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data38( vector_data38 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data38& operator=(vector_data38 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data38 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); return vector_data38(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data38 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); return vector_data38(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; }; template struct vector38 : vector_data38 , sequence_base > { typedef vector38 this_type; typedef vector_data38 base_type; typedef mpl::vector38 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<38> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector38() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector38( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector38(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector38(vector38&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector38(vector38 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector38& operator=(vector38 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector38& operator=(vector38&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector38( vector38 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector38( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector38( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector38& operator=(vector38 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data39 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data39() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data39(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data39( vector_data39&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data39( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data39( vector_data39 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data39& operator=(vector_data39 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data39 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); return vector_data39(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data39 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); return vector_data39(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; }; template struct vector39 : vector_data39 , sequence_base > { typedef vector39 this_type; typedef vector_data39 base_type; typedef mpl::vector39 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<39> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector39() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector39( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector39(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector39(vector39&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector39(vector39 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector39& operator=(vector39 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector39& operator=(vector39&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector39( vector39 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector39( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector39( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector39& operator=(vector39 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data40 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data40() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data40(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data40( vector_data40&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data40( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data40( vector_data40 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data40& operator=(vector_data40 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data40 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); return vector_data40(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data40 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); return vector_data40(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; }; template struct vector40 : vector_data40 , sequence_base > { typedef vector40 this_type; typedef vector_data40 base_type; typedef mpl::vector40 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<40> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector40() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector40( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector40(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector40(vector40&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector40(vector40 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector40& operator=(vector40 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector40& operator=(vector40&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector40( vector40 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector40( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector40( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector40& operator=(vector40 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector40_fwd.hpp000066400000000000000000000136501265471724600326030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 Eric Niebler Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template struct vector31; template struct vector32; template struct vector33; template struct vector34; template struct vector35; template struct vector36; template struct vector37; template struct vector38; template struct vector39; template struct vector40; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector50.hpp000066400000000000000000017734321265471724600317600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct vector_tag; struct fusion_sequence_tag; struct random_access_traversal_tag; template struct vector_data41 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data41() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data41(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data41( vector_data41&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data41( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data41( vector_data41 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data41& operator=(vector_data41 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data41 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); return vector_data41(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data41 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); return vector_data41(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; }; template struct vector41 : vector_data41 , sequence_base > { typedef vector41 this_type; typedef vector_data41 base_type; typedef mpl::vector41 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<41> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector41() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector41( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector41(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector41(vector41&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector41(vector41 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector41& operator=(vector41 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector41& operator=(vector41&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector41( vector41 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector41( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector41( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector41& operator=(vector41 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data42 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data42() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data42(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data42( vector_data42&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data42( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data42( vector_data42 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data42& operator=(vector_data42 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data42 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); return vector_data42(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data42 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); return vector_data42(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; }; template struct vector42 : vector_data42 , sequence_base > { typedef vector42 this_type; typedef vector_data42 base_type; typedef mpl::vector42 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<42> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector42() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector42( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector42(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector42(vector42&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector42(vector42 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector42& operator=(vector42 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector42& operator=(vector42&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector42( vector42 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector42( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector42( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector42& operator=(vector42 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data43 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data43() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data43(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data43( vector_data43&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data43( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data43( vector_data43 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data43& operator=(vector_data43 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data43 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); return vector_data43(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data43 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); return vector_data43(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; }; template struct vector43 : vector_data43 , sequence_base > { typedef vector43 this_type; typedef vector_data43 base_type; typedef mpl::vector43 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<43> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector43() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector43( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector43(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector43(vector43&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector43(vector43 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector43& operator=(vector43 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector43& operator=(vector43&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector43( vector43 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector43( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector43( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector43& operator=(vector43 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data44 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data44() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data44(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data44( vector_data44&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data44( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data44( vector_data44 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data44& operator=(vector_data44 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data44 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); return vector_data44(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data44 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); return vector_data44(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; }; template struct vector44 : vector_data44 , sequence_base > { typedef vector44 this_type; typedef vector_data44 base_type; typedef mpl::vector44 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<44> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector44() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector44( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector44(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector44(vector44&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector44(vector44 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector44& operator=(vector44 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector44& operator=(vector44&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector44( vector44 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector44( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector44( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector44& operator=(vector44 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data45 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data45() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data45(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data45( vector_data45&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data45( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data45( vector_data45 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data45& operator=(vector_data45 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data45 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); return vector_data45(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data45 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); return vector_data45(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; }; template struct vector45 : vector_data45 , sequence_base > { typedef vector45 this_type; typedef vector_data45 base_type; typedef mpl::vector45 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<45> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector45() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector45( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector45(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector45(vector45&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector45(vector45 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector45& operator=(vector45 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector45& operator=(vector45&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector45( vector45 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector45( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector45( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector45& operator=(vector45 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data46 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data46() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data46(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data46( vector_data46&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data46( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data46( vector_data46 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data46& operator=(vector_data46 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data46 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); return vector_data46(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data46 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); return vector_data46(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; }; template struct vector46 : vector_data46 , sequence_base > { typedef vector46 this_type; typedef vector_data46 base_type; typedef mpl::vector46 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<46> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector46() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector46( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector46(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector46(vector46&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector46(vector46 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector46& operator=(vector46 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector46& operator=(vector46&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); this->m45 = std::forward< T45>(vec.m45); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector46( vector46 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector46( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector46( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector46& operator=(vector46 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data47 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data47() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data47(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) , m46(std::forward( arg46)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data47( vector_data47&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) , m46(std::forward( other.m46)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data47( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) , m46(arg46) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data47( vector_data47 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) , m46(other.m46) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data47& operator=(vector_data47 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data47 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); return vector_data47(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data47 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); return vector_data47(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; T46 m46; }; template struct vector47 : vector_data47 , sequence_base > { typedef vector47 this_type; typedef vector_data47 base_type; typedef mpl::vector47 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<47> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector47() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector47( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector47(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector47(vector47&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector47(vector47 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector47& operator=(vector47 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector47& operator=(vector47&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); this->m45 = std::forward< T45>(vec.m45); this->m46 = std::forward< T46>(vec.m46); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector47( vector47 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector47( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector47( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector47& operator=(vector47 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; this->m46 = *i46; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data48 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data48() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() , m47() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data48(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) , m46(std::forward( arg46)) , m47(std::forward( arg47)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data48( vector_data48&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) , m46(std::forward( other.m46)) , m47(std::forward( other.m47)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data48( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) , m46(arg46) , m47(arg47) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data48( vector_data48 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) , m46(other.m46) , m47(other.m47) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data48& operator=(vector_data48 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data48 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); return vector_data48(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data48 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); return vector_data48(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; T46 m46; T47 m47; }; template struct vector48 : vector_data48 , sequence_base > { typedef vector48 this_type; typedef vector_data48 base_type; typedef mpl::vector48 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<48> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector48() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector48( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector48(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector48(vector48&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector48(vector48 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector48& operator=(vector48 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector48& operator=(vector48&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); this->m45 = std::forward< T45>(vec.m45); this->m46 = std::forward< T46>(vec.m46); this->m47 = std::forward< T47>(vec.m47); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector48( vector48 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46 , vec.m47) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector48( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector48( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector48& operator=(vector48 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; this->m46 = *i46; this->m47 = *i47; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<47>) { return this->m47; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<47>) const { return this->m47; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data49 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data49() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() , m47() , m48() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data49(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) , m46(std::forward( arg46)) , m47(std::forward( arg47)) , m48(std::forward( arg48)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data49( vector_data49&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) , m46(std::forward( other.m46)) , m47(std::forward( other.m47)) , m48(std::forward( other.m48)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data49( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) , m46(arg46) , m47(arg47) , m48(arg48) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data49( vector_data49 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) , m46(other.m46) , m47(other.m47) , m48(other.m48) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data49& operator=(vector_data49 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; this->m48 = vec.m48; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data49 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); return vector_data49(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data49 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); return vector_data49(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; T46 m46; T47 m47; T48 m48; }; template struct vector49 : vector_data49 , sequence_base > { typedef vector49 this_type; typedef vector_data49 base_type; typedef mpl::vector49 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<49> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector49() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector49( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector49(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector49(vector49&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector49(vector49 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector49& operator=(vector49 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector49& operator=(vector49&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); this->m45 = std::forward< T45>(vec.m45); this->m46 = std::forward< T46>(vec.m46); this->m47 = std::forward< T47>(vec.m47); this->m48 = std::forward< T48>(vec.m48); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector49( vector49 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46 , vec.m47 , vec.m48) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector49( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector49( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector49& operator=(vector49 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; this->m48 = vec.m48; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; this->m46 = *i46; this->m47 = *i47; this->m48 = *i48; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<47>) { return this->m47; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<47>) const { return this->m47; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<48>) { return this->m48; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<48>) const { return this->m48; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data50 { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data50() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() , m47() , m48() , m49() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data50(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , U49 && arg49 , typename boost::enable_if >::type* = 0 ) : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) , m46(std::forward( arg46)) , m47(std::forward( arg47)) , m48(std::forward( arg48)) , m49(std::forward( arg49)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data50( vector_data50&& other) : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) , m46(std::forward( other.m46)) , m47(std::forward( other.m47)) , m48(std::forward( other.m48)) , m49(std::forward( other.m49)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data50( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) , m46(arg46) , m47(arg47) , m48(arg48) , m49(arg49) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data50( vector_data50 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) , m46(other.m46) , m47(other.m47) , m48(other.m48) , m49(other.m49) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data50& operator=(vector_data50 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; this->m48 = vec.m48; this->m49 = vec.m49; return *this; } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data50 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); typedef typename result_of::next< I48>::type I49; I49 i49 = fusion::next(i48); return vector_data50(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); } template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED static vector_data50 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); typedef typename result_of::next< I48>::type I49; I49 i49 = fusion::next(i48); return vector_data50(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; T46 m46; T47 m47; T48 m48; T49 m49; }; template struct vector50 : vector_data50 , sequence_base > { typedef vector50 this_type; typedef vector_data50 base_type; typedef mpl::vector50 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<50> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector50() {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector50( typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector50(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , U49 && arg49) : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48) , std::forward( arg49)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector50(vector50&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector50(vector50 const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector50& operator=(vector50 const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector50& operator=(vector50&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); this->m45 = std::forward< T45>(vec.m45); this->m46 = std::forward< T46>(vec.m46); this->m47 = std::forward< T47>(vec.m47); this->m48 = std::forward< T48>(vec.m48); this->m49 = std::forward< T49>(vec.m49); return *this; } # endif template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector50( vector50 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46 , vec.m47 , vec.m48 , vec.m49) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector50( Sequence const& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector50( Sequence& seq , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector50& operator=(vector50 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; this->m48 = vec.m48; this->m49 = vec.m49; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); typedef typename result_of::next< I48>::type I49; I49 i49 = fusion::next(i48); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; this->m46 = *i46; this->m47 = *i47; this->m48 = *i48; this->m49 = *i49; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<47>) { return this->m47; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<47>) const { return this->m47; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<48>) { return this->m48; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<48>) const { return this->m48; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<49>) { return this->m49; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<49>) const { return this->m49; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector50_fwd.hpp000066400000000000000000000166041265471724600326060ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 Eric Niebler Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template struct vector41; template struct vector42; template struct vector43; template struct vector44; template struct vector45; template struct vector46; template struct vector47; template struct vector48; template struct vector49; template struct vector50; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector_chooser.hpp000066400000000000000000000020651265471724600333170ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_VECTOR_SIZE <= 10 #include #elif FUSION_MAX_VECTOR_SIZE <= 20 #include #elif FUSION_MAX_VECTOR_SIZE <= 30 #include #elif FUSION_MAX_VECTOR_SIZE <= 40 #include #elif FUSION_MAX_VECTOR_SIZE <= 50 #include #else #error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector_chooser10.hpp000066400000000000000000000062531265471724600334630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct vector_n_chooser { typedef vector10 type; }; template <> struct vector_n_chooser { typedef vector0<> type; }; template struct vector_n_chooser< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector1 type; }; template struct vector_n_chooser< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector2 type; }; template struct vector_n_chooser< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector3 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector4 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_> { typedef vector5 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_> { typedef vector6 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_> { typedef vector7 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_> { typedef vector8 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_> { typedef vector9 type; }; }}} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector_chooser20.hpp000066400000000000000000000221341265471724600334600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct vector_n_chooser { typedef vector20 type; }; template <> struct vector_n_chooser { typedef vector0<> type; }; template struct vector_n_chooser< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector1 type; }; template struct vector_n_chooser< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector2 type; }; template struct vector_n_chooser< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector3 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector4 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector5 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector6 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector7 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector8 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector9 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector10 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector11 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector12 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector13 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector14 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_> { typedef vector15 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_> { typedef vector16 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_> { typedef vector17 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_> { typedef vector18 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_> { typedef vector19 type; }; }}} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector_chooser30.hpp000066400000000000000000000446711265471724600334730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct vector_n_chooser { typedef vector30 type; }; template <> struct vector_n_chooser { typedef vector0<> type; }; template struct vector_n_chooser< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector1 type; }; template struct vector_n_chooser< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector2 type; }; template struct vector_n_chooser< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector3 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector4 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector5 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector6 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector7 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector8 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector9 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector10 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector11 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector12 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector13 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector14 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector15 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector16 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector17 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector18 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector19 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector20 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector21 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector22 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector23 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector24 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_> { typedef vector25 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_> { typedef vector26 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_> { typedef vector27 type; }; template struct vector_n_chooser< 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 , void_ , void_> { typedef vector28 type; }; template struct vector_n_chooser< 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 , void_> { typedef vector29 type; }; }}} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector_chooser40.hpp000066400000000000000000000763021265471724600334700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct vector_n_chooser { typedef vector40 type; }; template <> struct vector_n_chooser { typedef vector0<> type; }; template struct vector_n_chooser< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector1 type; }; template struct vector_n_chooser< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector2 type; }; template struct vector_n_chooser< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector3 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector4 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector5 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector6 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector7 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector8 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector9 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector10 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector11 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector12 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector13 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector14 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector15 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector16 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector17 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector18 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector19 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector20 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector21 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector22 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector23 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector24 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector25 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector26 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector27 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector28 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector29 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector30 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector31 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector32 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector33 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector34 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_> { typedef vector35 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_> { typedef vector36 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_> { typedef vector37 type; }; template struct vector_n_chooser< 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 , void_ , void_> { typedef vector38 type; }; template struct vector_n_chooser< 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 , void_> { typedef vector39 type; }; }}} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector_chooser50.hpp000066400000000000000000001365671265471724600335030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { namespace detail { template struct vector_n_chooser { typedef vector50 type; }; template <> struct vector_n_chooser { typedef vector0<> type; }; template struct vector_n_chooser< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector1 type; }; template struct vector_n_chooser< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector2 type; }; template struct vector_n_chooser< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector3 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector4 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector5 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector6 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector7 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector8 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector9 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector10 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector11 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector12 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector13 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector14 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector15 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector16 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector17 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector18 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector19 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector20 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector21 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector22 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector23 type; }; template struct vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector24 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector25 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector26 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector27 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector28 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector29 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector30 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector31 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector32 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector33 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector34 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector35 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector36 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector37 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector38 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector39 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector40 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector41 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector42 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector43 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_ , void_> { typedef vector44 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_ , void_> { typedef vector45 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_ , void_> { typedef vector46 type; }; template struct vector_n_chooser< 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 , void_ , void_ , void_> { typedef vector47 type; }; template struct vector_n_chooser< 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 , void_ , void_> { typedef vector48 type; }; template struct vector_n_chooser< 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 , void_> { typedef vector49 type; }; }}} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vector_fwd.hpp000066400000000000000000000020471265471724600324350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_VECTOR_SIZE <= 10 #include #elif FUSION_MAX_VECTOR_SIZE <= 20 #include #elif FUSION_MAX_VECTOR_SIZE <= 30 #include #elif FUSION_MAX_VECTOR_SIZE <= 40 #include #elif FUSION_MAX_VECTOR_SIZE <= 50 #include #else #error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vvector10.hpp000066400000000000000000000330551265471724600321270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct vector : sequence_base > { private: typedef typename detail::vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type vector_n; template friend struct vector; public: typedef typename vector_n::types types; typedef typename vector_n::fusion_tag fusion_tag; typedef typename vector_n::tag tag; typedef typename vector_n::size size; typedef typename vector_n::category category; typedef typename vector_n::is_view is_view; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector() : vec() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector const& rhs) : vec(rhs.vec) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector const& rhs) : vec(rhs.vec) {} template # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(Sequence const& rhs, typename boost::enable_if >::type* = 0) : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED explicit vector(typename detail::call_param::type arg0) : vec(arg0) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED explicit vector(U0 && arg0) : vec(std::forward( arg0)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : vec(arg0 , arg1) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1) : vec(std::forward( arg0) , std::forward( arg1)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : vec(arg0 , arg1 , arg2) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : vec(arg0 , arg1 , arg2 , arg3) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} # endif template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector const& rhs) { vec = rhs.vec; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(T const& rhs) { vec = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector const& rhs) { vec = rhs.vec; return *this; } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector&& rhs) : vec(std::forward(rhs.vec)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector&& rhs) { vec = std::forward(rhs.vec); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(T&& rhs) { vec = std::forward( rhs); return *this; } # endif template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename mpl::at_c::type >::type at_impl(mpl::int_ index) { return vec.at_impl(index); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename add_const< typename mpl::at_c::type >::type >::type at_impl(mpl::int_ index) const { return vec.at_impl(index); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename mpl::at::type >::type at_impl(I ) { return vec.at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename add_const< typename mpl::at::type >::type >::type at_impl(I ) const { return vec.at_impl(mpl::int_()); } private: BOOST_FUSION_VECTOR_CTOR_HELPER() vector_n vec; }; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vvector10_fwd.hpp000066400000000000000000000013361265471724600327640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ > struct vector; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vvector20.hpp000066400000000000000000001035051265471724600321260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct vector : sequence_base > { private: typedef typename detail::vector_n_chooser< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>::type vector_n; template friend struct vector; public: typedef typename vector_n::types types; typedef typename vector_n::fusion_tag fusion_tag; typedef typename vector_n::tag tag; typedef typename vector_n::size size; typedef typename vector_n::category category; typedef typename vector_n::is_view is_view; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector() : vec() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector const& rhs) : vec(rhs.vec) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector const& rhs) : vec(rhs.vec) {} template # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(Sequence const& rhs, typename boost::enable_if >::type* = 0) : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED explicit vector(typename detail::call_param::type arg0) : vec(arg0) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED explicit vector(U0 && arg0) : vec(std::forward( arg0)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : vec(arg0 , arg1) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1) : vec(std::forward( arg0) , std::forward( arg1)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : vec(arg0 , arg1 , arg2) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : vec(arg0 , arg1 , arg2 , arg3) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} # endif template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector const& rhs) { vec = rhs.vec; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(T const& rhs) { vec = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector const& rhs) { vec = rhs.vec; return *this; } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector&& rhs) : vec(std::forward(rhs.vec)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector&& rhs) { vec = std::forward(rhs.vec); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(T&& rhs) { vec = std::forward( rhs); return *this; } # endif template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename mpl::at_c::type >::type at_impl(mpl::int_ index) { return vec.at_impl(index); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename add_const< typename mpl::at_c::type >::type >::type at_impl(mpl::int_ index) const { return vec.at_impl(index); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename mpl::at::type >::type at_impl(I ) { return vec.at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename add_const< typename mpl::at::type >::type >::type at_impl(I ) const { return vec.at_impl(mpl::int_()); } private: BOOST_FUSION_VECTOR_CTOR_HELPER() vector_n vec; }; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vvector20_fwd.hpp000066400000000000000000000017041265471724600327640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ > struct vector; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vvector30.hpp000066400000000000000000002023451265471724600321310ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct vector : sequence_base > { private: typedef typename detail::vector_n_chooser< 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>::type vector_n; template friend struct vector; public: typedef typename vector_n::types types; typedef typename vector_n::fusion_tag fusion_tag; typedef typename vector_n::tag tag; typedef typename vector_n::size size; typedef typename vector_n::category category; typedef typename vector_n::is_view is_view; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector() : vec() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector const& rhs) : vec(rhs.vec) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector const& rhs) : vec(rhs.vec) {} template # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(Sequence const& rhs, typename boost::enable_if >::type* = 0) : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED explicit vector(typename detail::call_param::type arg0) : vec(arg0) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED explicit vector(U0 && arg0) : vec(std::forward( arg0)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : vec(arg0 , arg1) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1) : vec(std::forward( arg0) , std::forward( arg1)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : vec(arg0 , arg1 , arg2) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : vec(arg0 , arg1 , arg2 , arg3) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} # endif template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector const& rhs) { vec = rhs.vec; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(T const& rhs) { vec = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector const& rhs) { vec = rhs.vec; return *this; } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector&& rhs) : vec(std::forward(rhs.vec)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector&& rhs) { vec = std::forward(rhs.vec); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(T&& rhs) { vec = std::forward( rhs); return *this; } # endif template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename mpl::at_c::type >::type at_impl(mpl::int_ index) { return vec.at_impl(index); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename add_const< typename mpl::at_c::type >::type >::type at_impl(mpl::int_ index) const { return vec.at_impl(index); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename mpl::at::type >::type at_impl(I ) { return vec.at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename add_const< typename mpl::at::type >::type >::type at_impl(I ) const { return vec.at_impl(mpl::int_()); } private: BOOST_FUSION_VECTOR_CTOR_HELPER() vector_n vec; }; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vvector30_fwd.hpp000066400000000000000000000022521265471724600327640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ > struct vector; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vvector40.hpp000066400000000000000000003274151265471724600321400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct vector : sequence_base > { private: typedef typename detail::vector_n_chooser< 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>::type vector_n; template friend struct vector; public: typedef typename vector_n::types types; typedef typename vector_n::fusion_tag fusion_tag; typedef typename vector_n::tag tag; typedef typename vector_n::size size; typedef typename vector_n::category category; typedef typename vector_n::is_view is_view; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector() : vec() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector const& rhs) : vec(rhs.vec) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector const& rhs) : vec(rhs.vec) {} template # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(Sequence const& rhs, typename boost::enable_if >::type* = 0) : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED explicit vector(typename detail::call_param::type arg0) : vec(arg0) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED explicit vector(U0 && arg0) : vec(std::forward( arg0)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : vec(arg0 , arg1) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1) : vec(std::forward( arg0) , std::forward( arg1)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : vec(arg0 , arg1 , arg2) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : vec(arg0 , arg1 , arg2 , arg3) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} # endif template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector const& rhs) { vec = rhs.vec; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(T const& rhs) { vec = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector const& rhs) { vec = rhs.vec; return *this; } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector&& rhs) : vec(std::forward(rhs.vec)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector&& rhs) { vec = std::forward(rhs.vec); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(T&& rhs) { vec = std::forward( rhs); return *this; } # endif template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename mpl::at_c::type >::type at_impl(mpl::int_ index) { return vec.at_impl(index); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename add_const< typename mpl::at_c::type >::type >::type at_impl(mpl::int_ index) const { return vec.at_impl(index); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename mpl::at::type >::type at_impl(I ) { return vec.at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename add_const< typename mpl::at::type >::type >::type at_impl(I ) const { return vec.at_impl(mpl::int_()); } private: BOOST_FUSION_VECTOR_CTOR_HELPER() vector_n vec; }; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vvector40_fwd.hpp000066400000000000000000000026201265471724600327640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ > struct vector; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vvector50.hpp000066400000000000000000005026751265471724600321440ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct vector : sequence_base > { private: typedef typename detail::vector_n_chooser< 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>::type vector_n; template friend struct vector; public: typedef typename vector_n::types types; typedef typename vector_n::fusion_tag fusion_tag; typedef typename vector_n::tag tag; typedef typename vector_n::size size; typedef typename vector_n::category category; typedef typename vector_n::is_view is_view; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector() : vec() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector const& rhs) : vec(rhs.vec) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector const& rhs) : vec(rhs.vec) {} template # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(Sequence const& rhs, typename boost::enable_if >::type* = 0) : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED explicit vector(typename detail::call_param::type arg0) : vec(arg0) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED explicit vector(U0 && arg0) : vec(std::forward( arg0)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : vec(arg0 , arg1) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1) : vec(std::forward( arg0) , std::forward( arg1)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : vec(arg0 , arg1 , arg2) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : vec(arg0 , arg1 , arg2 , arg3) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48)) {} # endif # if !defined(BOOST_CLANG) BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template # if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , U49 && arg49) : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48) , std::forward( arg49)) {} # endif template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector const& rhs) { vec = rhs.vec; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(T const& rhs) { vec = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector const& rhs) { vec = rhs.vec; return *this; } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector&& rhs) : vec(std::forward(rhs.vec)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector&& rhs) { vec = std::forward(rhs.vec); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(T&& rhs) { vec = std::forward( rhs); return *this; } # endif template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename mpl::at_c::type >::type at_impl(mpl::int_ index) { return vec.at_impl(index); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename add_const< typename mpl::at_c::type >::type >::type at_impl(mpl::int_ index) const { return vec.at_impl(index); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename mpl::at::type >::type at_impl(I ) { return vec.at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename add_const< typename mpl::at::type >::type >::type at_impl(I ) const { return vec.at_impl(mpl::int_()); } private: BOOST_FUSION_VECTOR_CTOR_HELPER() vector_n vec; }; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/preprocessed/vvector50_fwd.hpp000066400000000000000000000031661265471724600327730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ > struct vector; }} KWStyle-master/Utilities/boost/fusion/container/vector/detail/prior_impl.hpp000066400000000000000000000025251265471724600277520ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_PRIOR_IMPL_05042005_1145) #define FUSION_PRIOR_IMPL_05042005_1145 #include #include namespace boost { namespace fusion { struct vector_iterator_tag; template struct vector_iterator; namespace extension { template struct prior_impl; template <> struct prior_impl { template struct apply { typedef typename Iterator::vector vector; typedef typename Iterator::index index; typedef vector_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.vec); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/value_at_impl.hpp000066400000000000000000000017101265471724600304120ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VALUE_AT_IMPL_05052005_0232) #define FUSION_VALUE_AT_IMPL_05052005_0232 #include #include namespace boost { namespace fusion { struct vector_tag; namespace extension { template struct value_at_impl; template <> struct value_at_impl { template struct apply { typedef typename mpl::at::type type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/value_of_impl.hpp000066400000000000000000000021471265471724600304170ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VALUE_OF_IMPL_05052005_1128) #define FUSION_VALUE_OF_IMPL_05052005_1128 #include #include namespace boost { namespace fusion { struct vector_iterator_tag; namespace extension { template struct value_of_impl; template <> struct value_of_impl { template struct apply { typedef typename Iterator::vector vector; typedef typename Iterator::index index; typedef typename mpl::at< typename vector::types, index>::type type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/container/vector/detail/vector_forward_ctor.hpp000066400000000000000000000045541265471724600316570ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_VECTOR_FORWARD_CTOR_07122005_1123) #define FUSION_VECTOR_FORWARD_CTOR_07122005_1123 #define FUSION_FORWARD_CTOR_FORWARD(z, n, _) BOOST_FUSION_FWD_ELEM(U##n, _##n) #define BOOST_PP_FILENAME_1 \ #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) #include BOOST_PP_ITERATE() #undef FUSION_FORWARD_CTOR_FORWARD #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define M BOOST_PP_ITERATION() // XXX: #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_CLANG) BOOST_CONSTEXPR FUSION_HASH endif #else #if !defined(BOOST_CLANG) BOOST_CONSTEXPR #endif #endif BOOST_FUSION_GPU_ENABLED #if M == 1 explicit #endif vector(BOOST_PP_ENUM_BINARY_PARAMS( M, typename detail::call_param::type arg)) : vec(BOOST_PP_ENUM_PARAMS(M, arg)) {} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #endif #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) template // XXX: #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR FUSION_HASH endif #else #if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR #endif #endif BOOST_FUSION_GPU_ENABLED #if M == 1 explicit #endif vector(BOOST_PP_ENUM_BINARY_PARAMS(M, U, && arg)) : vec(BOOST_PP_ENUM(M, FUSION_FORWARD_CTOR_FORWARD, arg)) {} #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH endif #endif #undef M #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/vector/detail/vector_n.hpp000066400000000000000000000311321265471724600274110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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. This file is meant to be included many times #if !defined(FUSION_MACRO_05042005) #define FUSION_MACRO_05042005 #define FUSION_VECTOR_CTOR_DEFAULT_INIT(z, n, _) \ m##n() #define FUSION_VECTOR_CTOR_INIT(z, n, _) \ m##n(_##n) #define FUSION_VECTOR_MEMBER_CTOR_INIT(z, n, _) \ m##n(other.m##n) #define FUSION_VECTOR_CTOR_FORWARD(z, n, _) \ m##n(BOOST_FUSION_FWD_ELEM(T##n, other.m##n)) #define FUSION_VECTOR_CTOR_ARG_FWD(z, n, _) \ m##n(BOOST_FUSION_FWD_ELEM(U##n, _##n)) #define FUSION_VECTOR_MEMBER_DECL(z, n, _) \ T##n m##n; #define FUSION_VECTOR_MEMBER_FORWARD(z, n, _) \ BOOST_FUSION_FWD_ELEM(U##n, _##n) #define FUSION_VECTOR_MEMBER_ASSIGN(z, n, _) \ this->BOOST_PP_CAT(m, n) = vec.BOOST_PP_CAT(m, n); #define FUSION_VECTOR_MEMBER_DEREF_ASSIGN(z, n, _) \ this->BOOST_PP_CAT(m, n) = *BOOST_PP_CAT(i, n); #define FUSION_VECTOR_MEMBER_MOVE(z, n, _) \ this->BOOST_PP_CAT(m, n) = std::forward< \ BOOST_PP_CAT(T, n)>(vec.BOOST_PP_CAT(m, n)); #define FUSION_VECTOR_MEMBER_AT_IMPL(z, n, _) \ BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ typename add_reference::type \ at_impl(mpl::int_) { return this->m##n; } \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ typename add_reference::type>::type \ at_impl(mpl::int_) const { return this->m##n; } #define FUSION_VECTOR_MEMBER_ITER_DECL_VAR(z, n, _) \ typedef typename result_of::next< \ BOOST_PP_CAT(I, BOOST_PP_DEC(n))>::type BOOST_PP_CAT(I, n); \ BOOST_PP_CAT(I, n) BOOST_PP_CAT(i, n) \ = fusion::next(BOOST_PP_CAT(i, BOOST_PP_DEC(n))); #endif #define N BOOST_PP_ITERATION() template struct BOOST_PP_CAT(vector_data, N) { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector_data, N)() : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_DEFAULT_INIT, _) {} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #endif #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) template #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR FUSION_HASH endif #else #if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR #endif #endif BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector_data, N)(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && arg) , typename boost::enable_if >::type* /*dummy*/ = 0 ) : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_ARG_FWD, arg) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector_data, N)( BOOST_PP_CAT(vector_data, N)&& other) : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_FORWARD, arg) {} #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH endif #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_CLANG) BOOST_CONSTEXPR FUSION_HASH endif #else #if !defined(BOOST_CLANG) BOOST_CONSTEXPR #endif #endif BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector_data, N)( BOOST_PP_ENUM_BINARY_PARAMS( N, typename detail::call_param::type arg)) : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_INIT, arg) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector_data, N)( BOOST_PP_CAT(vector_data, N) const& other) : BOOST_PP_ENUM(N, FUSION_VECTOR_MEMBER_CTOR_INIT, _) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector_data, N)& operator=(BOOST_PP_CAT(vector_data, N) const& vec) { BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_ASSIGN, _) return *this; } template #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR FUSION_HASH endif #else #if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR #endif #endif BOOST_FUSION_GPU_ENABLED static BOOST_PP_CAT(vector_data, N) init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); BOOST_PP_REPEAT_FROM_TO(1, N, FUSION_VECTOR_MEMBER_ITER_DECL_VAR, _) return BOOST_PP_CAT(vector_data, N)(BOOST_PP_ENUM_PARAMS(N, *i)); } template #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR FUSION_HASH endif #else #if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR #endif #endif BOOST_FUSION_GPU_ENABLED static BOOST_PP_CAT(vector_data, N) init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); BOOST_PP_REPEAT_FROM_TO(1, N, FUSION_VECTOR_MEMBER_ITER_DECL_VAR, _) return BOOST_PP_CAT(vector_data, N)(BOOST_PP_ENUM_PARAMS(N, *i)); } BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_DECL, _) }; template struct BOOST_PP_CAT(vector, N) : BOOST_PP_CAT(vector_data, N) , sequence_base > { typedef BOOST_PP_CAT(vector, N) this_type; typedef BOOST_PP_CAT(vector_data, N) base_type; typedef mpl::BOOST_PP_CAT(vector, N) types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_ size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)() {} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_CLANG) BOOST_CONSTEXPR FUSION_HASH endif #else #if !defined(BOOST_CLANG) BOOST_CONSTEXPR #endif #endif BOOST_FUSION_GPU_ENABLED #if (N == 1) explicit #endif BOOST_PP_CAT(vector, N)( BOOST_PP_ENUM_BINARY_PARAMS( N, typename detail::call_param::type arg)) : base_type(BOOST_PP_ENUM_PARAMS(N, arg)) {} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #endif #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) template #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR FUSION_HASH endif #else #if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR #endif #endif BOOST_FUSION_GPU_ENABLED #if (N == 1) explicit BOOST_PP_CAT(vector, N)(U0&& _0 , typename boost::enable_if >::type* /*dummy*/ = 0 ) : base_type(BOOST_FUSION_FWD_ELEM(U0, _0)) {} #else BOOST_PP_CAT(vector, N)(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && arg)) : base_type(BOOST_PP_ENUM(N, FUSION_VECTOR_MEMBER_FORWARD, arg)) {} #endif BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)(BOOST_PP_CAT(vector, N)&& rhs) : base_type(std::forward(rhs)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)(BOOST_PP_CAT(vector, N) const& rhs) : base_type(static_cast(rhs)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)& operator=(BOOST_PP_CAT(vector, N) const& vec) { base_type::operator=(vec); return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)& operator=(BOOST_PP_CAT(vector, N)&& vec) { BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_MOVE, _) return *this; } #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH endif #endif template #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR FUSION_HASH endif #else #if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR #endif #endif BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)( BOOST_PP_CAT(vector, N) const& vec) : base_type(BOOST_PP_ENUM_PARAMS(N, vec.m)) {} template #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR FUSION_HASH endif #else #if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR #endif #endif BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)( Sequence const& seq , typename boost::enable_if >::type* = 0 #if (N == 1) , typename boost::disable_if >::type* /*dummy*/ = 0 #endif ) : base_type(base_type::init_from_sequence(seq)) {} template #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR FUSION_HASH endif #else #if !defined(BOOST_CLANG) BOOST_CXX14_CONSTEXPR #endif #endif BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)( Sequence& seq , typename boost::enable_if >::type* = 0 #if (N == 1) , typename boost::disable_if >::type* /*dummy*/ = 0 #endif ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)& operator=(BOOST_PP_CAT(vector, N) const& vec) { BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_ASSIGN, _) return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); BOOST_PP_REPEAT_FROM_TO(1, N, FUSION_VECTOR_MEMBER_ITER_DECL_VAR, _) BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_DEREF_ASSIGN, _) return *this; } BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_AT_IMPL, _) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; #undef N KWStyle-master/Utilities/boost/fusion/container/vector/detail/vector_n_chooser.hpp000066400000000000000000000072311265471724600311360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_VECTOR_N_CHOOSER_07072005_1248) #define FUSION_VECTOR_N_CHOOSER_07072005_1248 #include // include vector0..N where N is FUSION_MAX_VECTOR_SIZE #include #if (FUSION_MAX_VECTOR_SIZE > 10) #include #endif #if (FUSION_MAX_VECTOR_SIZE > 20) #include #endif #if (FUSION_MAX_VECTOR_SIZE > 30) #include #endif #if (FUSION_MAX_VECTOR_SIZE > 40) #include #endif #include #include #include #include #include #include namespace boost { namespace fusion { struct void_; }} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector_chooser" FUSION_MAX_VECTOR_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { namespace detail { template struct vector_n_chooser { typedef BOOST_PP_CAT(vector, FUSION_MAX_VECTOR_SIZE) type; }; template <> struct vector_n_chooser { typedef vector0<> type; }; #define BOOST_PP_FILENAME_1 \ #define BOOST_PP_ITERATION_LIMITS (1, BOOST_PP_DEC(FUSION_MAX_VECTOR_SIZE)) #include BOOST_PP_ITERATE() }}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #else // defined(BOOST_PP_IS_ITERATING) #define N BOOST_PP_ITERATION() template struct vector_n_chooser< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_SUB(FUSION_MAX_VECTOR_SIZE, N), void_ BOOST_PP_INTERCEPT)> { typedef BOOST_PP_CAT(vector, N) type; }; #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/container/vector/limits.hpp000066400000000000000000000015311265471724600256310ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VECTOR_LIMITS_07072005_1246) #define FUSION_VECTOR_LIMITS_07072005_1246 #include #include #if !defined(FUSION_MAX_VECTOR_SIZE) # define FUSION_MAX_VECTOR_SIZE 10 #else # if FUSION_MAX_VECTOR_SIZE < 3 # undef FUSION_MAX_VECTOR_SIZE # define FUSION_MAX_VECTOR_SIZE 10 # endif #endif #define FUSION_MAX_VECTOR_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_VECTOR_SIZE)) #endif KWStyle-master/Utilities/boost/fusion/container/vector/vector.hpp000066400000000000000000000212271265471724600256360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VECTOR_07072005_1244) #define FUSION_VECTOR_07072005_1244 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define FUSION_HASH # #if BOOST_WORKAROUND(BOOST_MSVC, <= 1600) #define BOOST_FUSION_VECTOR_COPY_INIT() \ ctor_helper(rhs, is_base_of()) \ #define BOOST_FUSION_VECTOR_CTOR_HELPER() \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static vector_n const& \ ctor_helper(vector const& rhs, mpl::true_) \ { \ return rhs.vec; \ } \ \ template \ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static T const& \ ctor_helper(T const& rhs, mpl::false_) \ { \ return rhs; \ } #else #define BOOST_FUSION_VECTOR_COPY_INIT() \ rhs \ #define BOOST_FUSION_VECTOR_CTOR_HELPER() #endif #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vvector" FUSION_MAX_VECTOR_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; struct fusion_sequence_tag; template struct vector : sequence_base > { private: typedef typename detail::vector_n_chooser< BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>::type vector_n; template friend struct vector; public: typedef typename vector_n::types types; typedef typename vector_n::fusion_tag fusion_tag; typedef typename vector_n::tag tag; typedef typename vector_n::size size; typedef typename vector_n::category category; typedef typename vector_n::is_view is_view; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector() : vec() {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector const& rhs) : vec(rhs.vec) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector const& rhs) : vec(rhs.vec) {} template // XXX: #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_CLANG) BOOST_CONSTEXPR FUSION_HASH endif #else #if !defined(BOOST_CLANG) BOOST_CONSTEXPR #endif #endif BOOST_FUSION_GPU_ENABLED vector(Sequence const& rhs, typename boost::enable_if >::type* = 0) : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} // Expand a couple of forwarding constructors for arguments // of type (T0), (T0, T1), (T0, T1, T2) etc. Example: // // vector( // typename detail::call_param::type arg0 // , typename detail::call_param::type arg1) // : vec(arg0, arg1) {} #include template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector const& rhs) { vec = rhs.vec; return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(T const& rhs) { vec = rhs; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector const& rhs) { vec = rhs.vec; return *this; } #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #endif #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(vector&& rhs) : vec(std::forward(rhs.vec)) {} BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(vector&& rhs) { vec = std::forward(rhs.vec); return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector& operator=(T&& rhs) { vec = BOOST_FUSION_FWD_ELEM(T, rhs); return *this; } #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH endif #endif template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename mpl::at_c::type >::type at_impl(mpl::int_ index) { return vec.at_impl(index); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename add_const< typename mpl::at_c::type >::type >::type at_impl(mpl::int_ index) const { return vec.at_impl(index); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename mpl::at::type >::type at_impl(I /*index*/) { return vec.at_impl(mpl::int_()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference< typename add_const< typename mpl::at::type >::type >::type at_impl(I /*index*/) const { return vec.at_impl(mpl::int_()); } private: BOOST_FUSION_VECTOR_CTOR_HELPER() vector_n vec; }; }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #undef FUSION_HASH #endif KWStyle-master/Utilities/boost/fusion/container/vector/vector10.hpp000066400000000000000000000073431265471724600260020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VECTOR10_05042005_0257) #define FUSION_VECTOR10_05042005_0257 #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 fusion { struct vector_tag; struct fusion_sequence_tag; struct random_access_traversal_tag; template struct vector0 : sequence_base > { typedef mpl::vector0<> types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<0> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector0() BOOST_NOEXCEPT {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector0(Sequence const& /*seq*/) BOOST_NOEXCEPT {} }; }} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector10.hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct vector_tag; struct fusion_sequence_tag; struct random_access_traversal_tag; #define FUSION_HASH # // expand vector1 to vector10 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, 10) #include BOOST_PP_ITERATE() #undef FUSION_HASH }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/container/vector/vector10_fwd.hpp000066400000000000000000000042731265471724600266410ustar00rootroot00000000000000#ifndef BOOST_PP_IS_ITERATING /*============================================================================= Copyright (c) 2011 Eric Niebler Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_VECTOR10_FWD_HPP_INCLUDED) #define BOOST_FUSION_VECTOR10_FWD_HPP_INCLUDED #include #include #include #include namespace boost { namespace fusion { template struct vector0; }} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector10_fwd.hpp") #endif /*============================================================================= Copyright (c) 2011 Eric Niebler Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { // expand vector1 to vector10 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, 10) #include BOOST_PP_ITERATE() }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else template struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION()); #endif KWStyle-master/Utilities/boost/fusion/container/vector/vector20.hpp000066400000000000000000000060501265471724600257750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VECTOR20_05052005_0205) #define FUSION_VECTOR20_05052005_0205 #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_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector20.hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct vector_tag; struct fusion_sequence_tag; struct random_access_traversal_tag; #define FUSION_HASH # // expand vector11 to vector20 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (11, 20) #include BOOST_PP_ITERATE() #undef FUSION_HASH }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/container/vector/vector20_fwd.hpp000066400000000000000000000041341265471724600266360ustar00rootroot00000000000000#ifndef BOOST_PP_IS_ITERATING /*============================================================================= Copyright (c) 2011 Eric Niebler Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_VECTOR20_FWD_HPP_INCLUDED) #define BOOST_FUSION_VECTOR20_FWD_HPP_INCLUDED #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector20_fwd.hpp") #endif /*============================================================================= Copyright (c) 2011 Eric Niebler Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { // expand vector11 to vector20 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (11, 20) #include BOOST_PP_ITERATE() }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else template struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION()); #endif KWStyle-master/Utilities/boost/fusion/container/vector/vector30.hpp000066400000000000000000000057751265471724600260130ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VECTOR30_05052005_0206) #define FUSION_VECTOR30_05052005_0206 #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_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector30.hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct vector_tag; struct fusion_sequence_tag; struct random_access_traversal_tag; #define FUSION_HASH # // expand vector21 to vector30 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (21, 30) #include BOOST_PP_ITERATE() #undef FUSION_HASH }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/container/vector/vector30_fwd.hpp000066400000000000000000000041341265471724600266370ustar00rootroot00000000000000#ifndef BOOST_PP_IS_ITERATING /*============================================================================= Copyright (c) 2011 Eric Niebler Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_VECTOR30_FWD_HPP_INCLUDED) #define BOOST_FUSION_VECTOR30_FWD_HPP_INCLUDED #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector30_fwd.hpp") #endif /*============================================================================= Copyright (c) 2011 Eric Niebler Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { // expand vector21 to vector30 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (21, 30) #include BOOST_PP_ITERATE() }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else template struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION()); #endif KWStyle-master/Utilities/boost/fusion/container/vector/vector40.hpp000066400000000000000000000060501265471724600257770ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VECTOR40_05052005_0208) #define FUSION_VECTOR40_05052005_0208 #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_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector40.hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct vector_tag; struct fusion_sequence_tag; struct random_access_traversal_tag; #define FUSION_HASH # // expand vector31 to vector40 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (31, 40) #include BOOST_PP_ITERATE() #undef FUSION_HASH }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/container/vector/vector40_fwd.hpp000066400000000000000000000041341265471724600266400ustar00rootroot00000000000000#ifndef BOOST_PP_IS_ITERATING /*============================================================================= Copyright (c) 2011 Eric Niebler Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_VECTOR40_FWD_HPP_INCLUDED) #define BOOST_FUSION_VECTOR40_FWD_HPP_INCLUDED #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector40_fwd.hpp") #endif /*============================================================================= Copyright (c) 2011 Eric Niebler Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { // expand vector31 to vector40 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (31, 40) #include BOOST_PP_ITERATE() }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else template struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION()); #endif KWStyle-master/Utilities/boost/fusion/container/vector/vector50.hpp000066400000000000000000000057751265471724600260150ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VECTOR50_05052005_0207) #define FUSION_VECTOR50_05052005_0207 #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_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector50.hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct vector_tag; struct fusion_sequence_tag; struct random_access_traversal_tag; #define FUSION_HASH # // expand vector41 to vector50 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (41, 50) #include BOOST_PP_ITERATE() #undef FUSION_HASH }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/container/vector/vector50_fwd.hpp000066400000000000000000000041341265471724600266410ustar00rootroot00000000000000#ifndef BOOST_PP_IS_ITERATING /*============================================================================= Copyright (c) 2011 Eric Niebler Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_VECTOR50_FWD_HPP_INCLUDED) #define BOOST_FUSION_VECTOR50_FWD_HPP_INCLUDED #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector50_fwd.hpp") #endif /*============================================================================= Copyright (c) 2011 Eric Niebler Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { // expand vector41 to vector50 #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (41, 50) #include BOOST_PP_ITERATE() }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else template struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION()); #endif KWStyle-master/Utilities/boost/fusion/container/vector/vector_fwd.hpp000066400000000000000000000044371265471724600265020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VECTOR_FORWARD_07072005_0125) #define FUSION_VECTOR_FORWARD_07072005_0125 #include #include #include #include #if (FUSION_MAX_VECTOR_SIZE > 10) #include #endif #if (FUSION_MAX_VECTOR_SIZE > 20) #include #endif #if (FUSION_MAX_VECTOR_SIZE > 30) #include #endif #if (FUSION_MAX_VECTOR_SIZE > 40) #include #endif #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vvector" FUSION_MAX_VECTOR_SIZE_STR "_fwd.hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_VECTOR_SIZE, typename T, void_) > struct vector; }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/container/vector/vector_iterator.hpp000066400000000000000000000041531265471724600275460ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VECTOR_ITERATOR_05042005_0635) #define FUSION_VECTOR_ITERATOR_05042005_0635 #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct vector_iterator_tag; struct random_access_traversal_tag; template struct vector_iterator_identity; template struct vector_iterator : iterator_base > { typedef mpl::int_ index; typedef Vector vector; typedef vector_iterator_tag fusion_tag; typedef random_access_traversal_tag category; typedef vector_iterator_identity< typename add_const::type, N> identity; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_iterator(Vector& in_vec) : vec(in_vec) {} Vector& vec; private: // silence MSVC warning C4512: assignment operator could not be generated vector_iterator& operator= (vector_iterator const&); }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::vector_iterator > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/functional.hpp000066400000000000000000000012721265471724600232100ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2006-2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_HPP_INCLUDED) #define BOOST_FUSION_FUNCTIONAL_HPP_INCLUDED #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/functional/000077500000000000000000000000001265471724600224755ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/functional/adapter.hpp000066400000000000000000000015411265471724600246270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2006-2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_ADAPTER_HPP_INCLUDED) #define BOOST_FUSION_FUNCTIONAL_ADAPTER_HPP_INCLUDED #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/functional/adapter/000077500000000000000000000000001265471724600241155ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/functional/adapter/detail/000077500000000000000000000000001265471724600253575ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/functional/adapter/detail/access.hpp000066400000000000000000000040741265471724600273360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2006-2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_ADAPTER_DETAIL_ACCESS_HPP_INCLUDED) #define BOOST_FUSION_FUNCTIONAL_ADAPTER_DETAIL_ACCESS_HPP_INCLUDED namespace boost { namespace fusion { namespace detail { // const reference deduction for function templates that accept T const & template struct cref { typedef T const& type; }; template struct cref { typedef T const& type; }; template struct cref { typedef T const& type; }; // mutable reference deduction for function templates that accept T & template struct mref { typedef T & type; }; template struct mref { typedef T & type; }; // generic reference deduction for function templates that are overloaded // to accept both T const & and T & template struct gref { typedef T const& type; }; template struct gref { typedef T & type; }; template struct gref { typedef T const& type; }; // appropriately qualified target function in const context template struct qf_c { typedef T const type; }; template struct qf_c { typedef T const type; }; template struct qf_c { typedef T type; }; // appropriately qualified target function in non-const context template struct qf { typedef T type; }; template struct qf { typedef T const type; }; template struct qf { typedef T type; }; }}} #endif KWStyle-master/Utilities/boost/fusion/functional/adapter/fused.hpp000066400000000000000000000060301265471724600257330ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2006-2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP_INCLUDED) #define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP_INCLUDED #include #include #include #include #include #if defined (BOOST_MSVC) # pragma warning(push) # pragma warning (disable: 4512) // assignment operator could not be generated. #endif namespace boost { namespace fusion { template class fused; //----- ---- --- -- - - - - template class fused { Function fnc_transformed; typedef typename detail::qf_c::type & func_const_fwd_t; typedef typename detail::qf::type & func_fwd_t; public: BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline explicit fused(func_const_fwd_t f = Function()) : fnc_transformed(f) { } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke::type operator()(Seq const & s) const { return fusion::invoke(this->fnc_transformed,s); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke::type operator()(Seq const & s) { return fusion::invoke(this->fnc_transformed,s); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke::type operator()(Seq & s) const { return fusion::invoke(this->fnc_transformed,s); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke::type operator()(Seq & s) { return fusion::invoke(this->fnc_transformed,s); } template struct result; template struct result< Self const (Seq) > : result_of::invoke::type > { }; template struct result< Self(Seq) > : result_of::invoke::type > { }; }; }} #if defined (BOOST_MSVC) # pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/fusion/functional/adapter/fused_function_object.hpp000066400000000000000000000065461265471724600312020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2006-2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_ADAPTER_FUSED_FUNCTION_OBJECT_HPP_INCLUDED) #define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_FUNCTION_OBJECT_HPP_INCLUDED #include #include #include #include #include #if defined (BOOST_MSVC) # pragma warning(push) # pragma warning (disable: 4512) // assignment operator could not be generated. #endif namespace boost { namespace fusion { template class fused_function_object; //----- ---- --- -- - - - - template class fused_function_object { Function fnc_transformed; typedef typename detail::qf_c::type & func_const_fwd_t; typedef typename detail::qf::type & func_fwd_t; public: BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline explicit fused_function_object(func_const_fwd_t f = Function()) : fnc_transformed(f) { } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke_function_object::type operator()(Seq const & s) const { return fusion::invoke_function_object< func_const_fwd_t >(this->fnc_transformed,s); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke_function_object::type operator()(Seq const & s) { return fusion::invoke_function_object< func_fwd_t >(this->fnc_transformed,s); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke_function_object::type operator()(Seq & s) const { return fusion::invoke_function_object< func_const_fwd_t >(this->fnc_transformed,s); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke_function_object::type operator()(Seq & s) { return fusion::invoke_function_object< func_fwd_t >(this->fnc_transformed,s); } template struct result; template struct result< Self const (Seq) > : result_of::invoke_function_object::type > { }; template struct result< Self(Seq) > : result_of::invoke_function_object::type > { }; }; }} #if defined (BOOST_MSVC) # pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/fusion/functional/adapter/fused_procedure.hpp000066400000000000000000000050431265471724600300060ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2006-2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_ADAPTER_FUSED_PROCEDURE_HPP_INCLUDED) #define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_PROCEDURE_HPP_INCLUDED #include #include #include #include #include #if defined (BOOST_MSVC) # pragma warning(push) # pragma warning (disable: 4512) // assignment operator could not be generated. #endif namespace boost { namespace fusion { template class fused_procedure; //----- ---- --- -- - - - - template class fused_procedure { Function fnc_transformed; typedef typename detail::qf_c::type & func_const_fwd_t; typedef typename detail::qf::type & func_fwd_t; public: BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline explicit fused_procedure(func_const_fwd_t f = Function()) : fnc_transformed(f) { } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void operator()(Seq const & s) const { fusion::invoke_procedure< func_const_fwd_t >(this->fnc_transformed,s); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void operator()(Seq const & s) { fusion::invoke_procedure< func_fwd_t >(this->fnc_transformed,s); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void operator()(Seq & s) const { fusion::invoke_procedure< func_const_fwd_t >(this->fnc_transformed,s); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void operator()(Seq & s) { return fusion::invoke_procedure< func_fwd_t >(this->fnc_transformed,s); } typedef void result_type; }; }} #if defined (BOOST_MSVC) # pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/fusion/functional/adapter/limits.hpp000066400000000000000000000021431265471724600261270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2006-2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_ADAPTER_LIMITS_HPP_INCLUDED) # define BOOST_FUSION_FUNCTIONAL_ADAPTER_LIMITS_HPP_INCLUDED # include # if !defined(BOOST_FUSION_UNFUSED_MAX_ARITY) # define BOOST_FUSION_UNFUSED_MAX_ARITY 6 # elif BOOST_FUSION_UNFUSED_GENERIC_MAX_ARITY > FUSION_MAX_VECTOR_SIZE # error "BOOST_FUSION_UNFUSED_GENERIC_MAX_ARITY > FUSION_MAX_VECTOR_SIZE" # endif # if !defined(BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY) # define BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY 6 # elif BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY > FUSION_MAX_VECTOR_SIZE # error "BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY > FUSION_MAX_VECTOR_SIZE" # endif #endif KWStyle-master/Utilities/boost/fusion/functional/adapter/unfused.hpp000066400000000000000000000142721265471724600263050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2006-2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_HPP_INCLUDED) #if !defined(BOOST_PP_IS_ITERATING) #include #include #include #include #include #include #include #include #include #include #if defined (BOOST_MSVC) # pragma warning(push) # pragma warning (disable: 4512) // assignment operator could not be generated. #endif namespace boost { namespace fusion { template class unfused; //----- ---- --- -- - - - - template class unfused : public unfused { typedef typename detail::qf_c::type function_c; typedef typename detail::qf::type function; typedef typename detail::call_param::type func_const_fwd_t; public: using unfused::operator(); BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline explicit unfused(func_const_fwd_t f = function()) : unfused(f) { } typedef typename boost::result_of< function_c(fusion::vector0<> &) >::type call_const_0_result; BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline call_const_0_result operator()() const { fusion::vector0<> arg; return this->fnc_transformed(arg); } typedef typename boost::result_of< function(fusion::vector0<> &) >::type call_0_result; BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline call_0_result operator()() { fusion::vector0<> arg; return this->fnc_transformed(arg); } }; template class unfused { protected: Function fnc_transformed; typedef typename detail::qf_c::type function_c; typedef typename detail::qf::type function; typedef typename detail::call_param::type func_const_fwd_t; public: BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline explicit unfused(func_const_fwd_t f = function()) : fnc_transformed(f) { } template struct result; #define BOOST_PP_FILENAME_1 \ #define BOOST_PP_ITERATION_LIMITS \ (1,BOOST_FUSION_UNFUSED_MAX_ARITY) #include BOOST_PP_ITERATE() }; }} #if defined (BOOST_MSVC) # pragma warning(pop) #endif namespace boost { #if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_CXX11_DECLTYPE) template struct result_of< boost::fusion::unfused const () > { typedef typename boost::fusion::unfused::call_const_0_result type; }; template struct result_of< boost::fusion::unfused() > { typedef typename boost::fusion::unfused::call_0_result type; }; #endif template struct tr1_result_of< boost::fusion::unfused const () > { typedef typename boost::fusion::unfused::call_const_0_result type; }; template struct tr1_result_of< boost::fusion::unfused() > { typedef typename boost::fusion::unfused::call_0_result type; }; } #define BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_HPP_INCLUDED #else // defined(BOOST_PP_IS_ITERATING) //////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // //////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() template struct result< Self const (BOOST_PP_ENUM_PARAMS(N,T)) > : boost::result_of< function_c( BOOST_PP_CAT(fusion::vector,N)< BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::mref::type BOOST_PP_INTERCEPT) > & )> { }; template struct result< Self(BOOST_PP_ENUM_PARAMS(N,T)) > : boost::result_of< function( BOOST_PP_CAT(fusion::vector,N)< BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::mref::type BOOST_PP_INTERCEPT) > & )> { }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::result_of & )>::type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const { BOOST_PP_CAT(fusion::vector,N)< BOOST_PP_ENUM_BINARY_PARAMS(N,T,& BOOST_PP_INTERCEPT) > arg(BOOST_PP_ENUM_PARAMS(N,a)); return this->fnc_transformed(arg); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::result_of & )>::type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) { BOOST_PP_CAT(fusion::vector,N)< BOOST_PP_ENUM_BINARY_PARAMS(N,T,& BOOST_PP_INTERCEPT) > arg(BOOST_PP_ENUM_PARAMS(N,a)); return this->fnc_transformed(arg); } #undef N #endif // defined(BOOST_PP_IS_ITERATING) #endif KWStyle-master/Utilities/boost/fusion/functional/adapter/unfused_typed.hpp000066400000000000000000000135771265471724600275210ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2006-2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_TYPED_HPP_INCLUDED) #if !defined(BOOST_PP_IS_ITERATING) #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if defined (BOOST_MSVC) # pragma warning(push) # pragma warning (disable: 4512) // assignment operator could not be generated. #endif namespace boost { namespace fusion { template class unfused_typed; //----- ---- --- -- - - - - namespace detail { template struct unfused_typed_impl; } template class unfused_typed : public detail::unfused_typed_impl < unfused_typed, Function, Sequence, result_of::size::value > { Function fnc_transformed; template friend struct detail::unfused_typed_impl; typedef typename detail::call_param::type func_const_fwd_t; public: BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline explicit unfused_typed(func_const_fwd_t f = Function()) : fnc_transformed(f) { } }; #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (0,BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY) #include BOOST_PP_ITERATE() }} #if defined (BOOST_MSVC) # pragma warning(pop) #endif namespace boost { #if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_CXX11_DECLTYPE) template struct result_of< boost::fusion::unfused_typed const () > : boost::fusion::unfused_typed::template result< boost::fusion::unfused_typed const () > { }; template struct result_of< boost::fusion::unfused_typed() > : boost::fusion::unfused_typed::template result< boost::fusion::unfused_typed () > { }; #endif template struct tr1_result_of< boost::fusion::unfused_typed const () > : boost::fusion::unfused_typed::template result< boost::fusion::unfused_typed const () > { }; template struct tr1_result_of< boost::fusion::unfused_typed() > : boost::fusion::unfused_typed::template result< boost::fusion::unfused_typed () > { }; } #define BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_TYPED_HPP_INCLUDED #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() namespace detail { template struct unfused_typed_impl { typedef typename detail::qf_c::type function_c; typedef typename detail::qf::type function; typedef typename result_of::as_vector::type arg_vector_t; public: #define M(z,i,s) \ typename call_param::type>::type a##i BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::result_of< function_c(arg_vector_t &) >::type operator()(BOOST_PP_ENUM(N,M,arg_vector_t)) const { #if N > 0 arg_vector_t arg(BOOST_PP_ENUM_PARAMS(N,a)); #else arg_vector_t arg; #endif return static_cast(this)->fnc_transformed(arg); } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::result_of< function(arg_vector_t &) >::type operator()(BOOST_PP_ENUM(N,M,arg_vector_t)) { #if N > 0 arg_vector_t arg(BOOST_PP_ENUM_PARAMS(N,a)); #else arg_vector_t arg; #endif return static_cast(this)->fnc_transformed(arg); } #undef M template struct result { typedef void type; }; template struct result< Self const (BOOST_PP_ENUM_PARAMS(N,T)) > : boost::result_of< function_c(arg_vector_t &) > { }; template struct result< Self (BOOST_PP_ENUM_PARAMS(N,T)) > : boost::result_of< function(arg_vector_t &) > { }; }; } // namespace detail #undef N #endif // defined(BOOST_PP_IS_ITERATING) #endif KWStyle-master/Utilities/boost/fusion/functional/generation.hpp000066400000000000000000000015071265471724600253440ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_GENERATION_HPP_INCLUDED) #define BOOST_FUSION_FUNCTIONAL_GENERATION_HPP_INCLUDED #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/functional/generation/000077500000000000000000000000001265471724600246305ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/functional/generation/detail/000077500000000000000000000000001265471724600260725ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/functional/generation/detail/gen_make_adapter.hpp000066400000000000000000000025421265471724600320540ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Use modification and distribution are subject to the 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 - this file is included multiple times intentionally. #include #include #if !defined(BOOST_FUSION_CLASS_TPL_NAME) # error "BOOST_FUSION_CLASS_TPL_NAME undefined" #endif #define BOOST_FUSION_FUNC_NAME BOOST_PP_CAT(make_,BOOST_FUSION_CLASS_TPL_NAME) namespace boost { namespace fusion { namespace result_of { template struct BOOST_FUSION_FUNC_NAME { typedef fusion::BOOST_FUSION_CLASS_TPL_NAME< typename fusion::detail::as_fusion_element::type > type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::BOOST_FUSION_FUNC_NAME::type BOOST_FUSION_FUNC_NAME(F const & f) { return typename result_of::BOOST_FUSION_FUNC_NAME::type(f); } }} #undef BOOST_FUSION_CLASS_TPL_NAME #undef BOOST_FUSION_FUNC_NAME KWStyle-master/Utilities/boost/fusion/functional/generation/make_fused.hpp000066400000000000000000000013701265471724600274450ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_HPP_INCLUDED) #define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_HPP_INCLUDED #include #include #define BOOST_FUSION_CLASS_TPL_NAME fused #include #endif KWStyle-master/Utilities/boost/fusion/functional/generation/make_fused_function_object.hpp000066400000000000000000000014701265471724600327010ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_FUNCTION_OBJECT_HPP_INCLUDED) #define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_FUNCTION_OBJECT_HPP_INCLUDED #include #include #define BOOST_FUSION_CLASS_TPL_NAME fused_function_object #include #endif KWStyle-master/Utilities/boost/fusion/functional/generation/make_fused_procedure.hpp000066400000000000000000000014401265471724600315130ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_PROCEDURE_HPP_INCLUDED) #define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_PROCEDURE_HPP_INCLUDED #include #include #define BOOST_FUSION_CLASS_TPL_NAME fused_procedure #include #endif KWStyle-master/Utilities/boost/fusion/functional/generation/make_unfused.hpp000066400000000000000000000014001265471724600300020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_GENERATION_MAKE_UNFUSED_HPP_INCLUDED) #define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_UNFUSED_HPP_INCLUDED #include #include #define BOOST_FUSION_CLASS_TPL_NAME unfused #include #endif KWStyle-master/Utilities/boost/fusion/functional/invocation.hpp000066400000000000000000000014011265471724600253530ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2006-2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_INVOCATION_HPP_INCLUDED) #define BOOST_FUSION_FUNCTIONAL_INVOCATION_HPP_INCLUDED #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/functional/invocation/000077500000000000000000000000001265471724600246465ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/functional/invocation/detail/000077500000000000000000000000001265471724600261105ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/functional/invocation/detail/that_ptr.hpp000066400000000000000000000052631265471724600304540ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2006-2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_INVOCATION_DETAIL_THAT_PTR_HPP_INCLUDED) #define BOOST_FUSION_FUNCTIONAL_INVOCATION_DETAIL_THAT_PTR_HPP_INCLUDED #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct that_ptr { private: typedef typename remove_reference::type pointee; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline pointee * do_get_pointer(T &, pointee * x) { return x; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline pointee * do_get_pointer(T & x, void const *) { return get_pointer(x); } public: BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline pointee * get(pointee * x) { return x; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline pointee * get(pointee & x) { return boost::addressof(x); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline pointee * get(T & x) { return do_get_pointer(x, boost::addressof(x)); } }; template struct non_const_pointee; namespace adl_barrier { using boost::get_pointer; void const * BOOST_TT_DECL get_pointer(...); // fallback template< typename T> char const_tester(T *); template< typename T> long const_tester(T const *); template struct non_const_pointee_impl { static Ptr & what; static bool const value = sizeof(const_tester(get_pointer(what))) == 1; }; } template struct non_const_pointee : adl_barrier::non_const_pointee_impl< typename remove_cv< typename remove_reference::type >::type > { typedef non_const_pointee type; typedef bool value_type; }; }}} #endif KWStyle-master/Utilities/boost/fusion/functional/invocation/invoke.hpp000066400000000000000000000326501265471724600266600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2006 Joao Abecasis Copyright (c) 2006-2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_INVOCATION_INVOKE_HPP_INCLUDED) #if !defined(BOOST_PP_IS_ITERATING) #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 fusion { namespace detail { namespace ft = function_types; template< typename Function, class Sequence, int N = result_of::size::value, bool CBI = ft::is_callable_builtin::value, bool RandomAccess = traits::is_random_access::value, typename Enable = void > struct invoke_impl; template struct invoke_param_types; template struct invoke_data_member; template struct invoke_fn_ptr; template struct invoke_mem_fn; #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (0, BOOST_FUSION_INVOKE_MAX_ARITY) #include BOOST_PP_ITERATE() template struct invoke_nonmember_builtin // use same implementation as for function objects but... : invoke_fn_ptr< // ...work around boost::result_of bugs typename mpl::eval_if< ft::is_function, boost::add_reference, boost::remove_cv >::type, Sequence, N, RandomAccess > { }; template struct invoke_impl : mpl::if_< ft::is_member_function_pointer, invoke_mem_fn, invoke_nonmember_builtin >::type { }; template struct invoke_impl : mpl::eval_if< ft::is_member_pointer, mpl::if_< ft::is_member_function_pointer, invoke_mem_fn, invoke_data_member >, mpl::identity< invoke_nonmember_builtin< Function,Sequence,1,RandomAccess> > >::type { }; template struct invoke_data_member< T C::*, Sequence > { private: typedef typename result_of::front::type that; typedef mpl::or_< boost::is_convertible, boost::is_convertible, non_const_pointee > non_const_cond; typedef typename mpl::eval_if< non_const_cond, mpl::identity, add_const >::type qualified_class; typedef typename mpl::eval_if< non_const_cond, mpl::identity, add_const >::type qualified_type; public: typedef typename boost::add_reference::type result_type; BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(T C::* f, Sequence & s) { typename result_of::front::type c = fusion::front(s); return that_ptr::get(c)->*f; } }; } namespace result_of { template struct invoke; template struct invoke::type, Sequence >::result_type >::type> { typedef typename detail::invoke_impl< typename boost::remove_reference::type, Sequence >::result_type type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke::type invoke(Function f, Sequence & s) { return detail::invoke_impl< typename boost::remove_reference::type,Sequence >::call(f,s); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke::type invoke(Function f, Sequence const & s) { return detail::invoke_impl< typename boost::remove_reference::type,Sequence const >::call(f,s); } }} #define BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_HPP_INCLUDED #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() #define M(z,j,data) typename result_of::at_c::type template struct invoke_impl::type >::type> { public: typedef typename boost::result_of< Function(BOOST_PP_ENUM(N,M,~)) >::type result_type; #undef M #if N > 0 template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & s) { #define M(z,j,data) fusion::at_c(s) return f( BOOST_PP_ENUM(N,M,~) ); } #else template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & /*s*/) { return f(); } #endif }; template struct invoke_fn_ptr { public: typedef typename ft::result_type::type result_type; #if N > 0 template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & s) { #define M(z,j,data) fusion::at_c(s) return f( BOOST_PP_ENUM(N,M,~) ); } #else template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & /*s*/) { return f(); } #endif }; #if N > 0 template struct invoke_mem_fn { public: typedef typename ft::result_type::type result_type; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & s) { return (that_ptr >::type >::get(fusion::at_c<0>(s))->*f)(BOOST_PP_ENUM_SHIFTED(N,M,~)); } }; #endif #undef M #define M(z,j,data) \ typename seq::I##j i##j = \ fusion::next(BOOST_PP_CAT(i,BOOST_PP_DEC(j))); template struct invoke_impl::BOOST_PP_CAT(T, j) typename boost::result_of::type >::type> #undef L { private: typedef invoke_param_types seq; public: typedef typename boost::result_of< Function(BOOST_PP_ENUM_PARAMS(N,typename seq::T)) >::type result_type; #if N > 0 template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & s) { typename seq::I0 i0 = fusion::begin(s); BOOST_PP_REPEAT_FROM_TO(1,N,M,~) return f( BOOST_PP_ENUM_PARAMS(N,*i) ); } #else template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & /*s*/) { return f(); } #endif }; template struct invoke_fn_ptr { private: typedef invoke_param_types seq; public: typedef typename ft::result_type::type result_type; #if N > 0 template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & s) { typename seq::I0 i0 = fusion::begin(s); BOOST_PP_REPEAT_FROM_TO(1,N,M,~) return f( BOOST_PP_ENUM_PARAMS(N,*i) ); } #else template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & /*s*/) { return f(); } #endif }; #if N > 0 template struct invoke_mem_fn { private: typedef invoke_param_types seq; public: typedef typename ft::result_type::type result_type; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & s) { typename seq::I0 i0 = fusion::begin(s); BOOST_PP_REPEAT_FROM_TO(1,N,M,~) return (that_ptr< typename mpl::front< ft::parameter_types >::type >::get(*i0)->*f)(BOOST_PP_ENUM_SHIFTED_PARAMS(N,*i)); } }; #endif #undef M template struct invoke_param_types { #if N > 0 typedef typename result_of::begin::type I0; typedef typename result_of::deref::type T0; #define M(z,i,data) \ typedef typename result_of::next< \ BOOST_PP_CAT(I,BOOST_PP_DEC(i))>::type I##i; \ typedef typename result_of::deref::type T##i; BOOST_PP_REPEAT_FROM_TO(1,N,M,~) #undef M #endif }; #undef N #endif // defined(BOOST_PP_IS_ITERATING) #endif KWStyle-master/Utilities/boost/fusion/functional/invocation/invoke_function_object.hpp000066400000000000000000000162051265471724600321110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2006 Joao Abecasis Copyright (c) 2006-2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_INVOCATION_INVOKE_FUNCTION_OBJECT_HPP_INCLUDED) #if !defined(BOOST_PP_IS_ITERATING) #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template< class Function, class Sequence, int N = result_of::size::value, bool RandomAccess = traits::is_random_access::value, typename Enable = void > struct invoke_function_object_impl; template struct invoke_function_object_param_types; #define BOOST_PP_FILENAME_1 \ #define BOOST_PP_ITERATION_LIMITS \ (0, BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY) #include BOOST_PP_ITERATE() } namespace result_of { template struct invoke_function_object; template struct invoke_function_object::type, Sequence >::result_type >::type> { typedef typename detail::invoke_function_object_impl< typename boost::remove_reference::type, Sequence >::result_type type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke_function_object::type invoke_function_object(Function f, Sequence & s) { return detail::invoke_function_object_impl< typename boost::remove_reference::type,Sequence >::call(f,s); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke_function_object::type invoke_function_object(Function f, Sequence const & s) { return detail::invoke_function_object_impl< typename boost::remove_reference::type,Sequence const >::call(f,s); } }} #define BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_FUNCTION_OBJECT_HPP_INCLUDED #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() #define M(z,j,data) \ typename result_of::at_c::type template struct invoke_function_object_impl::type >::type> { public: typedef typename boost::result_of< Function (BOOST_PP_ENUM(N,M,~)) >::type result_type; #undef M #if N > 0 template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & s) { #define M(z,j,data) fusion::at_c(s) return f( BOOST_PP_ENUM(N,M,~) ); #undef M } #else template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & /*s*/) { return f(); } #endif }; #define M(z,j,data) \ typename invoke_function_object_param_types::T ## j template struct invoke_function_object_impl::type >::type> #undef M { private: typedef invoke_function_object_param_types seq; public: typedef typename boost::result_of< Function (BOOST_PP_ENUM_PARAMS(N,typename seq::T)) >::type result_type; #if N > 0 template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & s) { typename seq::I0 i0 = fusion::begin(s); #define M(z,j,data) \ typename seq::I##j i##j = \ fusion::next(BOOST_PP_CAT(i,BOOST_PP_DEC(j))); BOOST_PP_REPEAT_FROM_TO(1,N,M,~) #undef M return f( BOOST_PP_ENUM_PARAMS(N,*i) ); } #else template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & /*s*/) { return f(); } #endif }; template struct invoke_function_object_param_types { #if N > 0 typedef typename result_of::begin::type I0; typedef typename result_of::deref::type T0; #define M(z,i,data) \ typedef typename result_of::next< \ BOOST_PP_CAT(I,BOOST_PP_DEC(i))>::type I##i; \ typedef typename result_of::deref::type T##i; BOOST_PP_REPEAT_FROM_TO(1,N,M,~) #undef M #endif }; #undef N #endif // defined(BOOST_PP_IS_ITERATING) #endif KWStyle-master/Utilities/boost/fusion/functional/invocation/invoke_procedure.hpp000066400000000000000000000156041265471724600307300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2005-2006 Joao Abecasis Copyright (c) 2006-2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_INVOCATION_INVOKE_PROCEDURE_HPP_INCLUDED) #if !defined(BOOST_PP_IS_ITERATING) #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 fusion { namespace detail { namespace ft = function_types; template< typename Function, class Sequence, int N = result_of::size::value, bool MFP = ft::is_member_function_pointer::value, bool RandomAccess = traits::is_random_access::value > struct invoke_procedure_impl; #define BOOST_PP_FILENAME_1 \ #define BOOST_PP_ITERATION_LIMITS \ (0, BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY) #include BOOST_PP_ITERATE() } namespace result_of { template struct invoke_procedure; template struct invoke_procedure::type,Sequence >::result_type >::type> { typedef void type; }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke_procedure::type invoke_procedure(Function f, Sequence & s) { detail::invoke_procedure_impl< typename boost::remove_reference::type,Sequence >::call(f,s); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke_procedure::type invoke_procedure(Function f, Sequence const & s) { detail::invoke_procedure_impl< typename boost::remove_reference::type,Sequence const >::call(f,s); } }} #define BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_PROCEDURE_HPP_INCLUDED #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() #define M(z,j,data) fusion::at_c(s) template struct invoke_procedure_impl { typedef void result_type; #if N > 0 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline void call(Function & f, Sequence & s) { f(BOOST_PP_ENUM(N,M,~)); } #else BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline void call(Function & f, Sequence & /*s*/) { f(); } #endif }; #if N > 0 template struct invoke_procedure_impl { typedef void result_type; BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline void call(Function & f, Sequence & s) { (that_ptr >::type >::get(fusion::at_c<0>(s))->*f)(BOOST_PP_ENUM_SHIFTED(N,M,~)); } }; #endif #undef M #define M(z,j,data) \ typedef typename result_of::next< BOOST_PP_CAT(I,BOOST_PP_DEC(j)) \ >::type I ## j ; \ I##j i##j = fusion::next(BOOST_PP_CAT(i,BOOST_PP_DEC(j))); template struct invoke_procedure_impl { typedef void result_type; #if N > 0 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline void call(Function & f, Sequence & s) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(s); BOOST_PP_REPEAT_FROM_TO(1,N,M,~) f( BOOST_PP_ENUM_PARAMS(N,*i) ); } #else BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline void call(Function & f, Sequence & /*s*/) { f(); } #endif }; #if N > 0 template struct invoke_procedure_impl { typedef void result_type; BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline void call(Function & f, Sequence & s) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(s); BOOST_PP_REPEAT_FROM_TO(1,N,M,~) (that_ptr >::type >::get(*i0)->*f)(BOOST_PP_ENUM_SHIFTED_PARAMS(N,*i)); } }; #endif #undef M #undef N #endif // defined(BOOST_PP_IS_ITERATING) #endif KWStyle-master/Utilities/boost/fusion/functional/invocation/limits.hpp000066400000000000000000000016171265471724600266650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2006-2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_FUNCTIONAL_INVOCATION_LIMITS_HPP_INCLUDED) # define BOOST_FUSION_FUNCTIONAL_INVOCATION_LIMITS_HPP_INCLUDED # if !defined(BOOST_FUSION_INVOKE_MAX_ARITY) # define BOOST_FUSION_INVOKE_MAX_ARITY 6 # endif # if !defined(BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY) # define BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY 6 # endif # if !defined(BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY) # define BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY 6 # endif #endif KWStyle-master/Utilities/boost/fusion/include/000077500000000000000000000000001265471724600217565ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/include/accumulate.hpp000066400000000000000000000010411265471724600246060ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ACCUMULATE) #define FUSION_INCLUDE_ACCUMULATE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/adapt_adt.hpp000066400000000000000000000010451265471724600244100ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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_FUSION_INCLUDE_ADAPT_ADT_HPP #define BOOST_FUSION_INCLUDE_ADAPT_ADT_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/adapt_adt_named.cpp000066400000000000000000000010501265471724600255430ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2009 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ADAPT_ADT_NAMED) #define FUSION_INCLUDE_ADAPT_ADT_NAMED #include #include #endif KWStyle-master/Utilities/boost/fusion/include/adapt_adt_named.hpp000066400000000000000000000010671265471724600255600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_ADAPT_ADT_NAMED_HPP #define BOOST_FUSION_INCLUDE_ADAPT_ADT_NAMED_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/adapt_assoc_adt.hpp000066400000000000000000000010671265471724600256040ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_ADAPT_ASSOC_ADT_HPP #define BOOST_FUSION_INCLUDE_ADAPT_ASSOC_ADR_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/adapt_assoc_adt_named.hpp000066400000000000000000000011111265471724600267360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_ADAPT_ASSOC_ADT_NAMED_HPP #define BOOST_FUSION_INCLUDE_ADAPT_ASSOC_ADT_NAMED_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/adapt_assoc_struct.hpp000066400000000000000000000011031265471724600263470ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_ADAPT_ASSOC_STRUCT_HPP #define BOOST_FUSION_INCLUDE_ADAPT_ASSOC_STRUCT_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/adapt_assoc_struct_named.hpp000066400000000000000000000011251265471724600275170ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_ADAPT_ASSOC_STRUCT_NAMED_HPP #define BOOST_FUSION_INCLUDE_ADAPT_ASSOC_STRUCT_NAMED_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/adapt_struct.hpp000066400000000000000000000010611265471724600251620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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_FUSION_INCLUDE_ADAPT_STRUCT_HPP #define BOOST_FUSION_INCLUDE_ADAPT_STRUCT_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/adapt_struct_named.hpp000066400000000000000000000011031265471724600263230ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_ADAPT_STRUCT_NAMED_HPP #define BOOST_FUSION_INCLUDE_ADAPT_STRUCT_NAMED_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/adapted.hpp000066400000000000000000000010041265471724600240640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ADAPTED) #define FUSION_INCLUDE_ADAPTED #include #include #endif KWStyle-master/Utilities/boost/fusion/include/adapter.hpp000066400000000000000000000010171265471724600241060ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ADAPTER) #define FUSION_INCLUDE_ADAPTER #include #include #endif KWStyle-master/Utilities/boost/fusion/include/advance.hpp000066400000000000000000000010151265471724600240650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ADVANCE) #define FUSION_INCLUDE_ADVANCE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/algorithm.hpp000066400000000000000000000010121265471724600244470ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ALGORITHM) #define FUSION_INCLUDE_ALGORITHM #include #include #endif KWStyle-master/Utilities/boost/fusion/include/all.hpp000066400000000000000000000010101265471724600232270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ALL) #define FUSION_INCLUDE_ALL #include #include #endif KWStyle-master/Utilities/boost/fusion/include/any.hpp000066400000000000000000000010101265471724600232460ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ANY) #define FUSION_INCLUDE_ANY #include #include #endif KWStyle-master/Utilities/boost/fusion/include/array.hpp000066400000000000000000000010061265471724600236020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ARRAY) #define FUSION_INCLUDE_ARRAY #include #include #endif KWStyle-master/Utilities/boost/fusion/include/as_deque.hpp000066400000000000000000000010261265471724600242540ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_AS_DEQUE) #define FUSION_INCLUDE_AS_DEQUE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/as_list.hpp000066400000000000000000000010231265471724600241210ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_AS_LIST) #define FUSION_INCLUDE_AS_LIST #include #include #endif KWStyle-master/Utilities/boost/fusion/include/as_map.hpp000066400000000000000000000010201265471724600237200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_AS_MAP) #define FUSION_INCLUDE_AS_MAP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/as_set.hpp000066400000000000000000000010201265471724600237360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_AS_SET) #define FUSION_INCLUDE_AS_SET #include #include #endif KWStyle-master/Utilities/boost/fusion/include/as_vector.hpp000066400000000000000000000010321265471724600244500ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_AS_VECTOR) #define FUSION_INCLUDE_AS_VECTOR #include #include #endif KWStyle-master/Utilities/boost/fusion/include/at.hpp000066400000000000000000000010111265471724600230640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_AT) #define FUSION_INCLUDE_AT #include #include #endif KWStyle-master/Utilities/boost/fusion/include/at_c.hpp000066400000000000000000000010161265471724600233730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_AT_C) #define FUSION_INCLUDE_AT_C #include #include #endif KWStyle-master/Utilities/boost/fusion/include/at_key.hpp000066400000000000000000000010241265471724600237400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_AT_KEY) #define FUSION_INCLUDE_AT_KEY #include #include #endif KWStyle-master/Utilities/boost/fusion/include/auxiliary.hpp000066400000000000000000000010241265471724600244730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_AUXILIARY) #define FUSION_INCLUDE_AUXILIARY #include #include #endif KWStyle-master/Utilities/boost/fusion/include/back.hpp000066400000000000000000000010161265471724600233650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_BACK) #define FUSION_INCLUDE_BACK #include #include #endif KWStyle-master/Utilities/boost/fusion/include/begin.hpp000066400000000000000000000010211265471724600235450ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_BEGIN) #define FUSION_INCLUDE_BEGIN #include #include #endif KWStyle-master/Utilities/boost/fusion/include/boost_array.hpp000066400000000000000000000010301265471724600250050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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(FUSION_INCLUDE_BOOST_ARRAY) #define FUSION_INCLUDE_BOOST_ARRAY #include #include #endif KWStyle-master/Utilities/boost/fusion/include/boost_tuple.hpp000066400000000000000000000010301265471724600250200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_BOOST_TUPLE) #define FUSION_INCLUDE_BOOST_TUPLE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/category_of.hpp000066400000000000000000000010301265471724600247620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_CATEGORY_OF) #define FUSION_INCLUDE_CATEGORY_OF #include #include #endif KWStyle-master/Utilities/boost/fusion/include/clear.hpp000066400000000000000000000010271265471724600235550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_CLEAR) #define FUSION_INCLUDE_CLEAR #include #include #endif KWStyle-master/Utilities/boost/fusion/include/comparison.hpp000066400000000000000000000010261265471724600246400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_COMPARISON) #define FUSION_INCLUDE_COMPARISON #include #include #endif KWStyle-master/Utilities/boost/fusion/include/cons.hpp000066400000000000000000000010121265471724600234230ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_CONS) #define FUSION_INCLUDE_CONS #include #include #endif KWStyle-master/Utilities/boost/fusion/include/cons_tie.hpp000066400000000000000000000010341265471724600242700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_CONS_TIE) #define FUSION_INCLUDE_CONS_TIE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/container.hpp000066400000000000000000000010121265471724600244430ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_CONTAINER) #define FUSION_INCLUDE_CONTAINER #include #include #endif KWStyle-master/Utilities/boost/fusion/include/convert.hpp000066400000000000000000000010151265471724600241440ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_CONVERT) #define FUSION_INCLUDE_CONVERT #include #include #endif KWStyle-master/Utilities/boost/fusion/include/copy.hpp000066400000000000000000000010171265471724600234400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_COPY) #define FUSION_INCLUDE_COPY #include #include #endif KWStyle-master/Utilities/boost/fusion/include/count.hpp000066400000000000000000000010161265471724600236150ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_COUNT) #define FUSION_INCLUDE_COUNT #include #include #endif KWStyle-master/Utilities/boost/fusion/include/count_if.hpp000066400000000000000000000010271265471724600242750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_COUNT_IF) #define FUSION_INCLUDE_COUNT_IF #include #include #endif KWStyle-master/Utilities/boost/fusion/include/deduce.hpp000066400000000000000000000010111265471724600237110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_DEDUCE) #define FUSION_INCLUDE_DEDUCE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/deduce_sequence.hpp000066400000000000000000000010441265471724600256070ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_DEDUCE_SEQUENCE) #define FUSION_INCLUDE_DEDUCE_SEQUENCE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/define_assoc_struct.hpp000066400000000000000000000011061265471724600265130ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_DEFINE_ASSOC_STRUCT_HPP #define BOOST_FUSION_INCLUDE_DEFINE_ASSOC_STRUCT_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/define_struct.hpp000066400000000000000000000010641265471724600253260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_DEFINE_STRUCT_HPP #define BOOST_FUSION_INCLUDE_DEFINE_STRUCT_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/define_struct_inline.hpp000066400000000000000000000011021265471724600266550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2012 Nathan Ridge Distributed under the 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_FUSION_INCLUDE_DEFINE_STRUCT_INLINE_HPP #define BOOST_FUSION_INCLUDE_DEFINE_STRUCT_INLINE_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/deque.hpp000066400000000000000000000010101265471724600235620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_DEQUE) #define FUSION_INCLUDE_DEQUE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/deque_fwd.hpp000066400000000000000000000010221265471724600244250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_DEQUE) #define FUSION_INCLUDE_DEQUE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/deque_tie.hpp000066400000000000000000000011111265471724600244250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_GENERATION) #define FUSION_INCLUDE_GENERATION #include #include #include #endif KWStyle-master/Utilities/boost/fusion/include/deref.hpp000066400000000000000000000010071265471724600235520ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_DEREF) #define FUSION_INCLUDE_DEREF #include #include #endif KWStyle-master/Utilities/boost/fusion/include/deref_data.hpp000066400000000000000000000010451265471724600245450ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_DEREF_DATA_HPP #define BOOST_FUSION_INCLUDE_DEREF_DATA_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/distance.hpp000066400000000000000000000010201265471724600242520ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_DISTANCE) #define FUSION_INCLUDE_DISTANCE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/empty.hpp000066400000000000000000000010211265471724600236170ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_EMPTY) #define FUSION_INCLUDE_EMPTY #include #include #endif KWStyle-master/Utilities/boost/fusion/include/end.hpp000066400000000000000000000010131265471724600232300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_END) #define FUSION_INCLUDE_END #include #include #endif KWStyle-master/Utilities/boost/fusion/include/equal_to.hpp000066400000000000000000000011111265471724600242720ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_EQUAL_TO) #define FUSION_INCLUDE_EQUAL_TO #include #include #include #endif KWStyle-master/Utilities/boost/fusion/include/erase.hpp000066400000000000000000000010271265471724600235660ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ERASE) #define FUSION_INCLUDE_ERASE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/erase_key.hpp000066400000000000000000000010431265471724600244340ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ERASE_KEY) #define FUSION_INCLUDE_ERASE_KEY #include #include #endif KWStyle-master/Utilities/boost/fusion/include/filter.hpp000066400000000000000000000010321265471724600237500ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_FILTER) #define FUSION_INCLUDE_FILTER #include #include #endif KWStyle-master/Utilities/boost/fusion/include/filter_if.hpp000066400000000000000000000010431265471724600244300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_FILTER_IF) #define FUSION_INCLUDE_FILTER_IF #include #include #endif KWStyle-master/Utilities/boost/fusion/include/filter_view.hpp000066400000000000000000000010251265471724600250040ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_FILTER_VIEW) #define FUSION_INCLUDE_FILTER_VIEW #include #include #endif KWStyle-master/Utilities/boost/fusion/include/find.hpp000066400000000000000000000010131265471724600234020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_FIND) #define FUSION_INCLUDE_FIND #include #include #endif KWStyle-master/Utilities/boost/fusion/include/find_if.hpp000066400000000000000000000010241265471724600240620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_FIND_IF) #define FUSION_INCLUDE_FIND_IF #include #include #endif KWStyle-master/Utilities/boost/fusion/include/flatten.hpp000066400000000000000000000007441265471724600241310ustar00rootroot00000000000000/*////////////////////////////////////////////////////////////////////////////// Copyright (c) 2014 Jamboree Distributed under the 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 FUSION_INCLUDE_FLATTEN #define FUSION_INCLUDE_FLATTEN #include #endif KWStyle-master/Utilities/boost/fusion/include/flatten_view.hpp000066400000000000000000000007371265471724600251650ustar00rootroot00000000000000/*////////////////////////////////////////////////////////////////////////////// Copyright (c) 2014 Jamboree Distributed under the 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 FUSION_INCLUDE_FLATTEN_VIEW #define FUSION_INCLUDE_FLATTEN_VIEW #include #endif KWStyle-master/Utilities/boost/fusion/include/fold.hpp000066400000000000000000000010171265471724600234120ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_FOLD) #define FUSION_INCLUDE_FOLD #include #include #endif KWStyle-master/Utilities/boost/fusion/include/for_each.hpp000066400000000000000000000010331265471724600242320ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_FOR_EACH) #define FUSION_INCLUDE_FOR_EACH #include #include #endif KWStyle-master/Utilities/boost/fusion/include/front.hpp000066400000000000000000000010211265471724600236110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_FRONT) #define FUSION_INCLUDE_FRONT #include #include #endif KWStyle-master/Utilities/boost/fusion/include/functional.hpp000066400000000000000000000010151265471724600246260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_FUNCTIONAL) #define FUSION_INCLUDE_FUNCTIONAL #include #include #endif KWStyle-master/Utilities/boost/fusion/include/fused.hpp000066400000000000000000000010211265471724600235670ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_FUSED) #define FUSION_INCLUDE_FUSED #include #include #endif KWStyle-master/Utilities/boost/fusion/include/fused_function_object.hpp000066400000000000000000000011011265471724600270210ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_FUSED_FUNCTION_OBJECT) #define FUSION_INCLUDE_FUSED_FUNCTION_OBJECT #include #include #endif KWStyle-master/Utilities/boost/fusion/include/fused_procedure.hpp000066400000000000000000000010571265471724600256500ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_FUSED_PROCEDURE) #define FUSION_INCLUDE_FUSED_PROCEDURE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/generation.hpp000066400000000000000000000011111265471724600246140ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_GENERATION) #define FUSION_INCLUDE_GENERATION #include #include #include #endif KWStyle-master/Utilities/boost/fusion/include/greater.hpp000066400000000000000000000010401265471724600241130ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_NOT_GREATER) #define FUSION_INCLUDE_NOT_GREATER #include #include #endif KWStyle-master/Utilities/boost/fusion/include/greater_equal.hpp000066400000000000000000000010521265471724600253050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_GREATER_EQUAL) #define FUSION_INCLUDE_GREATER_EQUAL #include #include #endif KWStyle-master/Utilities/boost/fusion/include/has_key.hpp000066400000000000000000000010271265471724600241120ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_HAS_KEY) #define FUSION_INCLUDE_HAS_KEY #include #include #endif KWStyle-master/Utilities/boost/fusion/include/hash.hpp000066400000000000000000000007251265471724600234160ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2014 Christoph Weiss Distributed under the 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(FUSION_INCLUDE_HASH) #define FUSION_INCLUDE_HASH #include #endif KWStyle-master/Utilities/boost/fusion/include/ignore.hpp000066400000000000000000000011111265471724600237440ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_GENERATION) #define FUSION_INCLUDE_GENERATION #include #include #include #endif KWStyle-master/Utilities/boost/fusion/include/in.hpp000066400000000000000000000010011265471724600230650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Hartmut Kaiser Distributed under the 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(FUSION_INCLUDE_IN) #define FUSION_INCLUDE_IN #include #include #endif KWStyle-master/Utilities/boost/fusion/include/insert.hpp000066400000000000000000000010321265471724600237670ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_INSERT) #define FUSION_INCLUDE_INSERT #include #include #endif KWStyle-master/Utilities/boost/fusion/include/insert_range.hpp000066400000000000000000000010541265471724600251470ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_INSERT_RANGE) #define FUSION_INCLUDE_INSERT_RANGE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/intrinsic.hpp000066400000000000000000000010231265471724600244650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_INTRINSIC) #define FUSION_INCLUDE_INTRINSIC #include #include #endif KWStyle-master/Utilities/boost/fusion/include/invocation.hpp000066400000000000000000000010301265471724600246320ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_INVOCATION) #define FUSION_INCLUDE_INVOCATION #include #include #endif KWStyle-master/Utilities/boost/fusion/include/invoke.hpp000066400000000000000000000010271265471724600237620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_INVOKE) #define FUSION_INCLUDE_INVOKE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/invoke_function_object.hpp000066400000000000000000000011071265471724600272140ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_INVOKE_FUNCTION_OBJECT) #define FUSION_INCLUDE_INVOKE_FUNCTION_OBJECT #include #include #endif KWStyle-master/Utilities/boost/fusion/include/invoke_procedure.hpp000066400000000000000000000010651265471724600260340ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_INVOKE_PROCEDURE) #define FUSION_INCLUDE_INVOKE_PROCEDURE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/io.hpp000066400000000000000000000007771265471724600231110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Hartmut Kaiser Distributed under the 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(FUSION_INCLUDE_IO) #define FUSION_INCLUDE_IO #include #include #endif KWStyle-master/Utilities/boost/fusion/include/is_iterator.hpp000066400000000000000000000010301265471724600250050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_IS_ITERATOR) #define FUSION_INCLUDE_IS_ITERATOR #include #include #endif KWStyle-master/Utilities/boost/fusion/include/is_segmented.hpp000066400000000000000000000010401265471724600251300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_INCLUDE_IS_SEGMENTED) #define BOOST_FUSION_INCLUDE_IS_SEGMENTED #include #include #endif KWStyle-master/Utilities/boost/fusion/include/is_sequence.hpp000066400000000000000000000010311265471724600247650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_IS_SEQUENCE) #define FUSION_INCLUDE_IS_SEQUENCE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/is_view.hpp000066400000000000000000000010141265471724600241300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_IS_VIEW) #define FUSION_INCLUDE_IS_VIEW #include #include #endif KWStyle-master/Utilities/boost/fusion/include/iter_fold.hpp000066400000000000000000000010551265471724600244370ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_ITER_FOLD_HPP #define BOOST_FUSION_INCLUDE_ITER_FOLD_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/iteration.hpp000066400000000000000000000010241265471724600244620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ITERATION) #define FUSION_INCLUDE_ITERATION #include #include #endif KWStyle-master/Utilities/boost/fusion/include/iterator.hpp000066400000000000000000000010071265471724600243160ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ITERATOR) #define FUSION_INCLUDE_ITERATOR #include #include #endif KWStyle-master/Utilities/boost/fusion/include/iterator_adapter.hpp000066400000000000000000000010501265471724600260140ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ITERATOR_ADAPTER) #define FUSION_INCLUDE_ITERATOR_ADAPTER #include #include #endif KWStyle-master/Utilities/boost/fusion/include/iterator_base.hpp000066400000000000000000000010361265471724600253120ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ITERATOR_BASE) #define FUSION_INCLUDE_ITERATOR_BASE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/iterator_facade.hpp000066400000000000000000000010451265471724600256030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ITERATOR_FACADE) #define FUSION_INCLUDE_ITERATOR_FACADE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/iterator_range.hpp000066400000000000000000000010361265471724600254740ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ITERATOR_RANGE) #define FUSION_INCLUDE_ITERATOR_RANGE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/join.hpp000066400000000000000000000010251265471724600234240ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_JOIN) #define FUSION_INCLUDE_JOIN #include #include #endif KWStyle-master/Utilities/boost/fusion/include/joint_view.hpp000066400000000000000000000010231265471724600246400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_JOINT_VIEW) #define FUSION_INCLUDE_JOINT_VIEW #include #include #endif KWStyle-master/Utilities/boost/fusion/include/key_of.hpp000066400000000000000000000010311265471724600237360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_KEY_OF_HPP #define BOOST_FUSION_INCLUDE_KEY_OF_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/less.hpp000066400000000000000000000010171265471724600234340ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_LESS) #define FUSION_INCLUDE_LESS #include #include #endif KWStyle-master/Utilities/boost/fusion/include/less_equal.hpp000066400000000000000000000010411265471724600246200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_LESS_EQUAL) #define FUSION_INCLUDE_LESS_EQUAL #include #include #endif KWStyle-master/Utilities/boost/fusion/include/list.hpp000066400000000000000000000010051265471724600234360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_LIST) #define FUSION_INCLUDE_LIST #include #include #endif KWStyle-master/Utilities/boost/fusion/include/list_fwd.hpp000066400000000000000000000010261265471724600243010ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_LIST_FWD) #define FUSION_INCLUDE_LIST_FWD #include #include #endif KWStyle-master/Utilities/boost/fusion/include/list_tie.hpp000066400000000000000000000011111265471724600242750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_GENERATION) #define FUSION_INCLUDE_GENERATION #include #include #include #endif KWStyle-master/Utilities/boost/fusion/include/make_cons.hpp000066400000000000000000000010371265471724600244270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_MAKE_CONS) #define FUSION_INCLUDE_MAKE_CONS #include #include #endif KWStyle-master/Utilities/boost/fusion/include/make_deque.hpp000066400000000000000000000010421265471724600245640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_MAKE_DEQUE) #define FUSION_INCLUDE_MAKE_DEQUE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/make_fused.hpp000066400000000000000000000010431265471724600245700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_MAKE_FUSED) #define FUSION_INCLUDE_MAKE_FUSED #include #include #endif KWStyle-master/Utilities/boost/fusion/include/make_fused_function_object.hpp000066400000000000000000000011231265471724600300220ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_MAKE_FUSED_FUNCTION_OBJECT) #define FUSION_INCLUDE_MAKE_FUSED_FUNCTION_OBJECT #include #include #endif KWStyle-master/Utilities/boost/fusion/include/make_fused_procedure.hpp000066400000000000000000000011011265471724600266330ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_MAKE_FUSED_PROCEDURE) #define FUSION_INCLUDE_MAKE_FUSED_PROCEDURE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/make_list.hpp000066400000000000000000000010371265471724600244400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_MAKE_LIST) #define FUSION_INCLUDE_MAKE_LIST #include #include #endif KWStyle-master/Utilities/boost/fusion/include/make_map.hpp000066400000000000000000000010341265471724600242370ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_MAKE_MAP) #define FUSION_INCLUDE_MAKE_MAP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/make_set.hpp000066400000000000000000000010341265471724600242550ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_MAKE_SET) #define FUSION_INCLUDE_MAKE_SET #include #include #endif KWStyle-master/Utilities/boost/fusion/include/make_tuple.hpp000066400000000000000000000010231265471724600246110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_MAKE_TUPLE) #define FUSION_INCLUDE_MAKE_TUPLE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/make_unfused.hpp000066400000000000000000000010711265471724600251340ustar00rootroot00000000000000/*============================================================================== Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_MAKE_UNFUSED_HPP #define BOOST_FUSION_INCLUDE_MAKE_UNFUSED_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/make_vector.hpp000066400000000000000000000010451265471724600247660ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_MAKE_VECTOR) #define FUSION_INCLUDE_MAKE_VECTOR #include #include #endif KWStyle-master/Utilities/boost/fusion/include/map.hpp000066400000000000000000000010021265471724600232350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_MAP) #define FUSION_INCLUDE_MAP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/map_fwd.hpp000066400000000000000000000010221265471724600240770ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_MAP_FWD) #define FUSION_INCLUDE_MAP_FWD #include #include #endif KWStyle-master/Utilities/boost/fusion/include/map_tie.hpp000066400000000000000000000010311265471724600241000ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_MAP_TIE) #define FUSION_INCLUDE_MAP_TIE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/move.hpp000066400000000000000000000010171265471724600234340ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2013 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_MOVE) #define FUSION_INCLUDE_MOVE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/mpl.hpp000066400000000000000000000010401265471724600232520ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_MPL) #define FUSION_INCLUDE_MPL #include #include #include #endif KWStyle-master/Utilities/boost/fusion/include/next.hpp000066400000000000000000000010041265471724600234400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_NEXT) #define FUSION_INCLUDE_NEXT #include #include #endif KWStyle-master/Utilities/boost/fusion/include/nil.hpp000066400000000000000000000010001265471724600232400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2014 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) ==============================================================================*/ #if !defined(FUSION_INCLUDE_NIL) #define FUSION_INCLUDE_NIL #include #include #endif KWStyle-master/Utilities/boost/fusion/include/none.hpp000066400000000000000000000010131265471724600234210ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_NONE) #define FUSION_INCLUDE_NONE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/not_equal_to.hpp000066400000000000000000000011251265471724600251570ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_NOT_EQUAL_TO) #define FUSION_INCLUDE_NOT_EQUAL_TO #include #include #include #endif KWStyle-master/Utilities/boost/fusion/include/nview.hpp000066400000000000000000000010031265471724600236110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_NVIEW) #define FUSION_INCLUDE_NVIEW #include #include #endif KWStyle-master/Utilities/boost/fusion/include/out.hpp000066400000000000000000000010041265471724600232710ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Hartmut Kaiser Distributed under the 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(FUSION_INCLUDE_OUT) #define FUSION_INCLUDE_OUT #include #include #endif KWStyle-master/Utilities/boost/fusion/include/pair.hpp000066400000000000000000000010031265471724600234140ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_PAIR) #define FUSION_INCLUDE_PAIR #include #include #endif KWStyle-master/Utilities/boost/fusion/include/pair_tie.hpp000066400000000000000000000010341265471724600242610ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_PAIR_TIE) #define FUSION_INCLUDE_PAIR_TIE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/pop_back.hpp000066400000000000000000000010401265471724600242400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_POP_BACK) #define FUSION_INCLUDE_POP_BACK #include #include #endif KWStyle-master/Utilities/boost/fusion/include/pop_front.hpp000066400000000000000000000010431265471724600244730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_POP_FRONT) #define FUSION_INCLUDE_POP_FRONT #include #include #endif KWStyle-master/Utilities/boost/fusion/include/prior.hpp000066400000000000000000000010071265471724600236200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_PRIOR) #define FUSION_INCLUDE_PRIOR #include #include #endif KWStyle-master/Utilities/boost/fusion/include/proxy_type.hpp000066400000000000000000000010621265471724600247100ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_PROXY_TYPE_HPP #define BOOST_FUSION_INCLUDE_PROXY_TYPE_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/push_back.hpp000066400000000000000000000010431265471724600244240ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_PUSH_BACK) #define FUSION_INCLUDE_PUSH_BACK #include #include #endif KWStyle-master/Utilities/boost/fusion/include/push_front.hpp000066400000000000000000000010471265471724600246600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_PUSH_FRONT) #define FUSION_INCLUDE_PUSH_FRONT #include #include #endif KWStyle-master/Utilities/boost/fusion/include/query.hpp000066400000000000000000000010101265471724600236240ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_QUERY) #define FUSION_INCLUDE_QUERY #include #include #endif KWStyle-master/Utilities/boost/fusion/include/remove.hpp000066400000000000000000000010321265471724600237600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_REMOVE) #define FUSION_INCLUDE_REMOVE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/remove_if.hpp000066400000000000000000000010431265471724600244400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_REMOVE_IF) #define FUSION_INCLUDE_REMOVE_IF #include #include #endif KWStyle-master/Utilities/boost/fusion/include/repetitive_view.hpp000066400000000000000000000010411265471724600256750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_REPETETIVE_VIEW) #define FUSION_INCLUDE_REPETETIVE_VIEW #include #include #endif KWStyle-master/Utilities/boost/fusion/include/replace.hpp000066400000000000000000000010351265471724600241010ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_REPLACE) #define FUSION_INCLUDE_REPLACE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/replace_if.hpp000066400000000000000000000010461265471724600245610ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_REPLACE_IF) #define FUSION_INCLUDE_REPLACE_IF #include #include #endif KWStyle-master/Utilities/boost/fusion/include/reverse.hpp000066400000000000000000000010351265471724600241410ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_REVERSE) #define FUSION_INCLUDE_REVERSE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/reverse_fold.hpp000066400000000000000000000010661265471724600251510ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_REVERSE_FOLD_HPP #define BOOST_FUSION_INCLUDE_REVERSE_FOLD_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/reverse_iter_fold.hpp000066400000000000000000000011051265471724600261660ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_REVERSE_ITER_FOLD_HPP #define BOOST_FUSION_INCLUDE_REVERSE_ITER_FOLD_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/reverse_view.hpp000066400000000000000000000010301265471724600251660ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_REVERSE_VIEW) #define FUSION_INCLUDE_REVERSE_VIEW #include #include #endif KWStyle-master/Utilities/boost/fusion/include/segmented_fold_until.hpp000066400000000000000000000010701265471724600266570ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_INCLUDE_SEGMENTED_FOLD_UNTIL) #define BOOST_FUSION_INCLUDE_SEGMENTED_FOLD_UNTIL #include #include #endif KWStyle-master/Utilities/boost/fusion/include/segmented_iterator.hpp000066400000000000000000000010631265471724600263530ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_INCLUDE_SEGMENTED_ITERATOR) #define BOOST_FUSION_INCLUDE_SEGMENTED_ITERATOR #include #include #endif KWStyle-master/Utilities/boost/fusion/include/segments.hpp000066400000000000000000000010371265471724600243150ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_INCLUDE_SEGMENTS) #define BOOST_FUSION_INCLUDE_SEGMENTS #include #include #endif KWStyle-master/Utilities/boost/fusion/include/sequence.hpp000066400000000000000000000010071265471724600242750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_SEQUENCE) #define FUSION_INCLUDE_SEQUENCE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/sequence_base.hpp000066400000000000000000000010361265471724600252710ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_SEQUENCE_BASE) #define FUSION_INCLUDE_SEQUENCE_BASE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/sequence_facade.hpp000066400000000000000000000010451265471724600255620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_SEQUENCE_FACADE) #define FUSION_INCLUDE_SEQUENCE_FACADE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/set.hpp000066400000000000000000000010021265471724600232530ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_SET) #define FUSION_INCLUDE_SET #include #include #endif KWStyle-master/Utilities/boost/fusion/include/set_fwd.hpp000066400000000000000000000010221265471724600241150ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_SET_FWD) #define FUSION_INCLUDE_SET_FWD #include #include #endif KWStyle-master/Utilities/boost/fusion/include/single_view.hpp000066400000000000000000000010261265471724600250010ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_SINGLE_VIEW) #define FUSION_INCLUDE_SINGLE_VIEW #include #include #endif KWStyle-master/Utilities/boost/fusion/include/size.hpp000066400000000000000000000010161265471724600234370ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_SIZE) #define FUSION_INCLUDE_SIZE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/std_pair.hpp000066400000000000000000000010171265471724600242730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_STD_PAIR) #define FUSION_INCLUDE_STD_PAIR #include #include #endif KWStyle-master/Utilities/boost/fusion/include/std_tuple.hpp000066400000000000000000000010071265471724600244700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2014 Kohei Takahashi Distributed under the 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 FUSION_INCLUDE_STD_TUPLE #define FUSION_INCLUDE_STD_TUPLE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/struct.hpp000066400000000000000000000010111265471724600240040ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_STRUCT) #define FUSION_INCLUDE_STRUCT #include #include #endif KWStyle-master/Utilities/boost/fusion/include/support.hpp000066400000000000000000000010041265471724600241760ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_SUPPORT) #define FUSION_INCLUDE_SUPPORT #include #include #endif KWStyle-master/Utilities/boost/fusion/include/swap.hpp000066400000000000000000000010161265471724600234370ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_SWAP) #define FUSION_INCLUDE_SWAP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/tag_of.hpp000066400000000000000000000010111265471724600237170ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_TAG_OF) #define FUSION_INCLUDE_TAG_OF #include #include #endif KWStyle-master/Utilities/boost/fusion/include/tag_of_fwd.hpp000066400000000000000000000010251265471724600245640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_TAG_OF_FWD) #define FUSION_INCLUDE_TAG_OF_FWD #include #include #endif KWStyle-master/Utilities/boost/fusion/include/transform.hpp000066400000000000000000000010441265471724600245010ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_TRANSFORM) #define FUSION_INCLUDE_TRANSFORM #include #include #endif KWStyle-master/Utilities/boost/fusion/include/transform_view.hpp000066400000000000000000000010371265471724600255350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_TRANSFORM_VIEW) #define FUSION_INCLUDE_TRANSFORM_VIEW #include #include #endif KWStyle-master/Utilities/boost/fusion/include/transformation.hpp000066400000000000000000000010431265471724600255330ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_TRANSFORMATION) #define FUSION_INCLUDE_TRANSFORMATION #include #include #endif KWStyle-master/Utilities/boost/fusion/include/tuple.hpp000066400000000000000000000007761265471724600236320ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_TUPLE) #define FUSION_INCLUDE_TUPLE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/tuple_fwd.hpp000066400000000000000000000010201265471724600244510ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_TUPLE_FWD) #define FUSION_INCLUDE_TUPLE_FWD #include #include #endif KWStyle-master/Utilities/boost/fusion/include/tuple_tie.hpp000066400000000000000000000010201265471724600244520ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_TUPLE_TIE) #define FUSION_INCLUDE_TUPLE_TIE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/unfused.hpp000066400000000000000000000010461265471724600241410ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2010 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_UNFUSED_HPP #define BOOST_FUSION_INCLUDE_UNFUSED_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/unfused_typed.hpp000066400000000000000000000010511265471724600253420ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_UNFUSED_TYPED) #define FUSION_INCLUDE_UNFUSED_TYPED #include #include #endif KWStyle-master/Utilities/boost/fusion/include/unused.hpp000066400000000000000000000010111265471724600237630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_UNUSED) #define FUSION_INCLUDE_UNUSED #include #include #endif KWStyle-master/Utilities/boost/fusion/include/value_at.hpp000066400000000000000000000010331265471724600242640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Hartmut Kaiser Distributed under the 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(FUSION_INCLUDE_VALUE_AT) #define FUSION_INCLUDE_VALUE_AT #include #include #endif KWStyle-master/Utilities/boost/fusion/include/value_at_key.hpp000066400000000000000000000010461265471724600251400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_VALUE_AT_KEY) #define FUSION_INCLUDE_VALUE_AT_KEY #include #include #endif KWStyle-master/Utilities/boost/fusion/include/value_of.hpp000066400000000000000000000010201265471724600242600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_VALUE_OF) #define FUSION_INCLUDE_VALUE_OF #include #include #endif KWStyle-master/Utilities/boost/fusion/include/value_of_data.hpp000066400000000000000000000010561265471724600252620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_INCLUDE_VALUE_OF_DATA_HPP #define BOOST_FUSION_INCLUDE_VALUE_OF_DATA_HPP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/vector.hpp000066400000000000000000000010131265471724600237640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_VECTOR) #define FUSION_INCLUDE_VECTOR #include #include #endif KWStyle-master/Utilities/boost/fusion/include/vector10.hpp000066400000000000000000000010301265471724600241240ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_VECTOR10) #define FUSION_INCLUDE_VECTOR10 #include #include #endif KWStyle-master/Utilities/boost/fusion/include/vector20.hpp000066400000000000000000000010301265471724600241250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_VECTOR20) #define FUSION_INCLUDE_VECTOR20 #include #include #endif KWStyle-master/Utilities/boost/fusion/include/vector30.hpp000066400000000000000000000010301265471724600241260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_VECTOR30) #define FUSION_INCLUDE_VECTOR30 #include #include #endif KWStyle-master/Utilities/boost/fusion/include/vector40.hpp000066400000000000000000000010301265471724600241270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_VECTOR40) #define FUSION_INCLUDE_VECTOR40 #include #include #endif KWStyle-master/Utilities/boost/fusion/include/vector50.hpp000066400000000000000000000010301265471724600241300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_VECTOR50) #define FUSION_INCLUDE_VECTOR50 #include #include #endif KWStyle-master/Utilities/boost/fusion/include/vector_fwd.hpp000066400000000000000000000010361265471724600246310ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_VECTOR_FWD) #define FUSION_INCLUDE_VECTOR_FWD #include #include #endif KWStyle-master/Utilities/boost/fusion/include/vector_tie.hpp000066400000000000000000000010421265471724600246270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_VECTOR_TIE) #define FUSION_INCLUDE_VECTOR_TIE #include #include #endif KWStyle-master/Utilities/boost/fusion/include/view.hpp000066400000000000000000000007731265471724600234500ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_VIEW) #define FUSION_INCLUDE_VIEW #include #include #endif KWStyle-master/Utilities/boost/fusion/include/void.hpp000066400000000000000000000010031265471724600234220ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_VOID) #define FUSION_INCLUDE_VOID #include #include #endif KWStyle-master/Utilities/boost/fusion/include/zip.hpp000066400000000000000000000010211265471724600232630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ZIP) #define FUSION_INCLUDE_ZIP #include #include #endif KWStyle-master/Utilities/boost/fusion/include/zip_view.hpp000066400000000000000000000010141265471724600243170ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Distributed under the 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(FUSION_INCLUDE_ZIP_VIEW) #define FUSION_INCLUDE_ZIP_VIEW #include #include #endif KWStyle-master/Utilities/boost/fusion/iterator.hpp000066400000000000000000000017611265471724600227020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ITERATOR_10022005_0559) #define FUSION_ITERATOR_10022005_0559 #include #include #include #include #include #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/iterator/000077500000000000000000000000001265471724600221645ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/iterator/advance.hpp000066400000000000000000000057351265471724600243100ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ADVANCE_09172005_1146) #define FUSION_ADVANCE_09172005_1146 #include #include #include #include #include #include #include namespace boost { namespace fusion { struct random_access_traversal_tag; // Special tags: struct iterator_facade_tag; // iterator facade tag struct boost_array_iterator_tag; // boost::array iterator tag struct mpl_iterator_tag; // mpl sequence iterator tag struct std_pair_iterator_tag; // std::pair iterator tag namespace extension { template struct advance_impl { // default implementation template struct apply : mpl::if_c< (N::value > 0) , advance_detail::forward , advance_detail::backward >::type { BOOST_MPL_ASSERT_NOT((traits::is_random_access)); }; }; template <> struct advance_impl { template struct apply : Iterator::template advance {}; }; template <> struct advance_impl; template <> struct advance_impl; template <> struct advance_impl; } namespace result_of { template struct advance_c : extension::advance_impl::type>::template apply > {}; template struct advance : extension::advance_impl::type>::template apply {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::advance_c::type const advance_c(Iterator const& i) { return result_of::advance_c::call(i); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::advance::type const advance(Iterator const& i) { return result_of::advance::call(i); } }} // namespace boost::fusion #endif KWStyle-master/Utilities/boost/fusion/iterator/basic_iterator.hpp000066400000000000000000000101771265471724600256750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_ITERATOR_BASIC_ITERATOR_HPP #define BOOST_FUSION_ITERATOR_BASIC_ITERATOR_HPP #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace extension { template struct value_of_impl; template struct deref_impl; template struct value_of_data_impl; template struct key_of_impl; template struct deref_data_impl; } template struct basic_iterator : iterator_facade, Category> { typedef mpl::int_ index; typedef Seq seq_type; template struct value_of : extension::value_of_impl::template apply {}; template struct deref : extension::deref_impl::template apply {}; template struct value_of_data : extension::value_of_data_impl::template apply {}; template struct key_of : extension::key_of_impl::template apply {}; template struct deref_data : extension::deref_data_impl::template apply {}; template struct advance { typedef basic_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return type(*it.seq,0); } }; template struct next : advance > {}; template struct prior : advance > {}; template struct distance { typedef mpl::minus type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It1 const&, It2 const&) { return type(); } }; template struct equal_to : mpl::and_< is_same< typename remove_const::type , typename remove_const::type > , mpl::equal_to > {}; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED basic_iterator(basic_iterator const& it) : seq(it.seq) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED basic_iterator(Seq& in_seq, int) : seq(&in_seq) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED basic_iterator& operator=(basic_iterator const& it) { seq=it.seq; return *this; } Seq* seq; }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::basic_iterator > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/iterator/deref.hpp000066400000000000000000000042261265471724600237660ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_DEREF_05042005_1019) #define FUSION_DEREF_05042005_1019 #include #include #include namespace boost { namespace fusion { // Special tags: struct iterator_facade_tag; // iterator facade tag struct boost_array_iterator_tag; // boost::array iterator tag struct mpl_iterator_tag; // mpl sequence iterator tag struct std_pair_iterator_tag; // std::pair iterator tag namespace extension { template struct deref_impl { template struct apply {}; }; template <> struct deref_impl { template struct apply : Iterator::template deref {}; }; template <> struct deref_impl; template <> struct deref_impl; template <> struct deref_impl; } namespace result_of { template struct deref : extension::deref_impl::type>:: template apply {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::deref::type deref(Iterator const& i) { typedef result_of::deref deref_meta; return deref_meta::call(i); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::deref::type operator*(iterator_base const& i) { return fusion::deref(i.cast()); } }} #endif KWStyle-master/Utilities/boost/fusion/iterator/deref_data.hpp000066400000000000000000000025241265471724600247560ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_ITERATOR_DEREF_DATA_HPP #define BOOST_FUSION_ITERATOR_DEREF_DATA_HPP #include #include namespace boost { namespace fusion { struct iterator_facade_tag; namespace extension { template struct deref_data_impl; template <> struct deref_data_impl { template struct apply : It::template deref_data {}; }; } namespace result_of { template struct deref_data : extension::deref_data_impl::type>:: template apply {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::deref_data::type deref_data(It const& it) { return result_of::deref_data::call(it); } }} #endif KWStyle-master/Utilities/boost/fusion/iterator/detail/000077500000000000000000000000001265471724600234265ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/iterator/detail/adapt_deref_traits.hpp000066400000000000000000000020131265471724600277570ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ADAPT_DEREF_TRAITS_05062005_0900) #define FUSION_ADAPT_DEREF_TRAITS_05062005_0900 #include #include namespace boost { namespace fusion { namespace detail { struct adapt_deref_traits { template struct apply { typedef typename result_of::deref::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return *i.first; } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/iterator/detail/adapt_value_traits.hpp000066400000000000000000000015421265471724600300140ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ADAPT_VALUE_TRAITS_05062005_0859) #define FUSION_ADAPT_VALUE_TRAITS_05062005_0859 #include #include namespace boost { namespace fusion { namespace detail { struct adapt_value_traits { template struct apply { typedef typename result_of::value_of::type type; }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/iterator/detail/advance.hpp000066400000000000000000000051401265471724600255400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ADVANCE_09172005_1149) #define FUSION_ADVANCE_09172005_1149 #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace advance_detail { // Default advance implementation, perform next(i) // or prior(i) N times. template struct forward; template struct next_forward { typedef typename forward< typename result_of::next::type , N-1 >::type type; }; template struct forward { typedef typename mpl::eval_if_c< (N == 0) , mpl::identity , next_forward >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type const& call(type const& i) { return i; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(I const& i) { return call(fusion::next(i)); } }; template struct backward; template struct next_backward { typedef typename backward< typename result_of::prior::type , N+1 >::type type; }; template struct backward { typedef typename mpl::eval_if_c< (N == 0) , mpl::identity , next_backward >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type const& call(type const& i) { return i; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(I const& i) { return call(fusion::prior(i)); } }; }}} #endif KWStyle-master/Utilities/boost/fusion/iterator/detail/distance.hpp000066400000000000000000000035711265471724600257370ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_DISTANCE_09172005_0730) #define FUSION_DISTANCE_09172005_0730 #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace distance_detail { // Default distance implementation, linear // search for the Last iterator. template struct linear_distance; template struct next_distance { typedef typename mpl::next< typename linear_distance< typename result_of::next::type , Last >::type >::type type; }; template struct linear_distance : mpl::eval_if< result_of::equal_to , mpl::identity > , next_distance >::type { typedef typename mpl::eval_if< result_of::equal_to , mpl::identity > , next_distance >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const&, Last const&) { return type(); } }; }}} #endif KWStyle-master/Utilities/boost/fusion/iterator/detail/segment_sequence.hpp000066400000000000000000000041011265471724600274650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTED_SEQUENCE_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_SEQUENCE_HPP_INCLUDED #include #include #include #include #include namespace boost { namespace fusion { namespace detail { struct segment_sequence_tag {}; // Here, Sequence is a sequence of ranges (which may or may not be // segmented). template struct segment_sequence : sequence_base > { typedef fusion_sequence_tag tag; typedef segment_sequence_tag fusion_tag; typedef typename Sequence::is_view is_view; typedef typename Sequence::category category; typedef Sequence sequence_type; sequence_type sequence; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit segment_sequence(Sequence const & seq) : sequence(seq) {} }; } namespace extension { template struct is_segmented_impl; template<> struct is_segmented_impl { template struct apply : mpl::true_ {}; }; template struct segments_impl; template<> struct segments_impl { template struct apply { typedef typename Sequence::sequence_type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence & seq) { return seq.sequence; } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/iterator/detail/segmented_equal_to.hpp000066400000000000000000000024301265471724600300020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED #include #include #include #include namespace boost { namespace fusion { struct nil_; namespace detail { template struct segmented_equal_to : mpl::and_< segmented_equal_to< typename Stack1::cdr_type, typename Stack2::cdr_type > , result_of::equal_to< typename Stack1::car_type::begin_type, typename Stack2::car_type::begin_type > > {}; template <> struct segmented_equal_to : mpl::true_ {}; } }} #endif KWStyle-master/Utilities/boost/fusion/iterator/detail/segmented_iterator.hpp000066400000000000000000000106541265471724600300310ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_SEGMENTED_ITERATOR_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_ITERATOR_SEGMENTED_ITERATOR_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct nil_; namespace detail { template struct segmented_next_impl; } // A segmented iterator wraps a "context", which is a cons list // of ranges, the frontmost is range over values and the rest // are ranges over internal segments. template struct segmented_iterator : iterator_facade, forward_traversal_tag> { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit segmented_iterator(Context const& ctx) : context(ctx) {} //auto deref(it) //{ // return deref(begin(car(it.context))) //} template struct deref { typedef typename result_of::deref< typename It::context_type::car_type::begin_type >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return *it.context.car.first; } }; //auto deref_data(it) //{ // return deref_data(begin(car(it.context))) //} template struct deref_data { typedef typename result_of::deref_data< typename It::context_type::car_type::begin_type >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return fusion::deref_data(it.context.car.first); } }; //auto key_of(it) //{ // return key_of(begin(car(it.context))) //} template struct key_of : result_of::key_of {}; //auto value_of(it) //{ // return value_of(begin(car(it.context))) //} template struct value_of : result_of::value_of {}; //auto value_of_data(it) //{ // return value_of_data(begin(car(it.context))) //} template struct value_of_data : result_of::value_of_data {}; // Compare all the segment iterators in each stack, starting with // the bottom-most. template < typename It1 , typename It2 , int Size1 = It1::context_type::size::value , int Size2 = It2::context_type::size::value > struct equal_to : mpl::false_ {}; template struct equal_to : detail::segmented_equal_to< typename It1::context_type , typename It2::context_type > {}; template struct next { typedef detail::segmented_next_impl impl; typedef segmented_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return type(impl::call(it.context)); } }; typedef Context context_type; context_type context; }; }} #endif KWStyle-master/Utilities/boost/fusion/iterator/detail/segmented_next_impl.hpp000066400000000000000000000207161265471724600301770ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_NEXT_IMPL_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_ITERATOR_NEXT_IMPL_HPP_INCLUDED #include #include #include #include #include #include #include namespace boost { namespace fusion { template struct iterator_range; template struct segmented_iterator; namespace detail { template struct segmented_begin_impl; //bool is_invalid(stack) //{ // return empty(car(stack)); //} template struct is_invalid : result_of::equal_to< typename Stack::car_type::begin_type, typename Stack::car_type::end_type > {}; ////Advance the first iterator in the seq at the ////top of a stack of iterator ranges. Return the ////new stack. //auto pop_front_car(stack) //{ // return cons(iterator_range(next(begin(car(stack))), end(car(stack))), cdr(stack)); //} template struct pop_front_car { typedef iterator_range< typename result_of::next< typename Stack::car_type::begin_type >::type , typename Stack::car_type::end_type > car_type; typedef cons type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return type( car_type(fusion::next(stack.car.first), stack.car.last), stack.cdr); } }; template < typename Stack, typename Next = typename pop_front_car::type, bool IsInvalid = is_invalid::value, int StackSize = Stack::size::value> struct segmented_next_impl_recurse; // Handle the case where the top of the stack has no usable //auto segmented_next_impl_recurse3(stack) //{ // if (size(stack) == 1) // return cons(iterator_range(end(car(stack)), end(car(stack))), nil_); // else // return segmented_next_impl_recurse(stack.cdr); //} template < typename Stack, int StackSize = Stack::size::value> struct segmented_next_impl_recurse3 { typedef segmented_next_impl_recurse impl; typedef typename impl::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return impl::call(stack.cdr); } }; template struct segmented_next_impl_recurse3 { typedef typename Stack::car_type::end_type end_type; typedef iterator_range range_type; typedef cons type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return type(range_type(stack.car.last, stack.car.last)); } }; //auto segmented_next_impl_recurse2(stack) //{ // auto res = segmented_begin_impl(front(car(stack)), stack); // if (is_invalid(res)) // return segmented_next_impl_recurse3(stack); // else // return res; //} template < typename Stack, typename Sequence = typename remove_reference< typename add_const< typename result_of::deref< typename Stack::car_type::begin_type >::type >::type >::type, typename Result = typename segmented_begin_impl::type, bool IsInvalid = is_invalid::value> struct segmented_next_impl_recurse2 { typedef segmented_next_impl_recurse3 impl; typedef typename impl::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return impl::call(stack); } }; template struct segmented_next_impl_recurse2 { typedef Result type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return segmented_begin_impl::call(*stack.car.first, stack); } }; //auto segmented_next_impl_recurse(stack) //{ // auto next = pop_front_car(stack); // if (is_invalid(next)) // if (1 == size(stack)) // return next; // else // return segmented_next_impl_recurse(cdr(stack)); // else // return segmented_next_impl_recurse2(next) //} template struct segmented_next_impl_recurse { typedef typename segmented_next_impl_recurse::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const& stack) { return segmented_next_impl_recurse::call(stack.cdr); } }; template struct segmented_next_impl_recurse { typedef Next type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return pop_front_car::call(stack); } }; template struct segmented_next_impl_recurse { typedef segmented_next_impl_recurse2 impl; typedef typename impl::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return impl::call(pop_front_car::call(stack)); } }; //auto segmented_next_impl(stack) //{ // // car(stack) is a seq of values, not a seq of segments // auto next = pop_front_car(stack); // if (is_invalid(next)) // return segmented_next_impl_recurse(cdr(next)); // else // return next; //} template < typename Stack, typename Next = typename pop_front_car::type, bool IsInvalid = is_invalid::value> struct segmented_next_impl_aux { typedef segmented_next_impl_recurse impl; typedef typename impl::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return impl::call(stack.cdr); } }; template struct segmented_next_impl_aux { typedef Next type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return pop_front_car::call(stack); } }; template struct segmented_next_impl : segmented_next_impl_aux {}; } }} #endif KWStyle-master/Utilities/boost/fusion/iterator/distance.hpp000066400000000000000000000050311265471724600244660ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_DISTANCE_09172005_0721) #define FUSION_DISTANCE_09172005_0721 #include #include #include #include #include #include #include namespace boost { namespace fusion { struct random_access_traversal_tag; // Special tags: struct iterator_facade_tag; // iterator facade tag struct boost_array_iterator_tag; // boost::array iterator tag struct mpl_iterator_tag; // mpl sequence iterator tag struct std_pair_iterator_tag; // std::pair iterator tag namespace extension { template struct distance_impl { // default implementation template struct apply : distance_detail::linear_distance {}; }; template <> struct distance_impl { template struct apply : First::template distance {}; }; template <> struct distance_impl; template <> struct distance_impl; template <> struct distance_impl; } namespace result_of { template struct distance : extension::distance_impl::type>:: template apply { typedef typename extension::distance_impl::type>:: template apply::type distance_application; BOOST_STATIC_CONSTANT(int, value = distance_application::value); }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::distance::type distance(First const& a, Last const& b) { return result_of::distance::call(a,b); } }} #endif KWStyle-master/Utilities/boost/fusion/iterator/equal_to.hpp000066400000000000000000000064021265471724600245100ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_EQUAL_TO_05052005_1208) #define FUSION_EQUAL_TO_05052005_1208 #include #include #include #include #include #include #include namespace boost { namespace fusion { // Special tags: struct iterator_facade_tag; // iterator facade tag struct boost_array_iterator_tag; // boost::array iterator tag struct mpl_iterator_tag; // mpl sequence iterator tag struct std_pair_iterator_tag; // std::pair iterator tag namespace extension { template struct equal_to_impl { // default implementation template struct apply : is_same::type, typename add_const::type> {}; }; template <> struct equal_to_impl { template struct dispatch : mpl::false_ {}; template struct dispatch // same tag : It1::template equal_to {}; template struct apply : dispatch {}; }; template <> struct equal_to_impl; template <> struct equal_to_impl; template <> struct equal_to_impl; } namespace result_of { template struct equal_to : extension::equal_to_impl::type>:: template apply {}; } namespace iterator_operators { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< mpl::and_, is_fusion_iterator > , bool >::type operator==(Iter1 const&, Iter2 const&) { return result_of::equal_to::value; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< mpl::and_, is_fusion_iterator > , bool >::type operator!=(Iter1 const&, Iter2 const&) { return !result_of::equal_to::value; } } using iterator_operators::operator==; using iterator_operators::operator!=; }} #endif KWStyle-master/Utilities/boost/fusion/iterator/iterator_adapter.hpp000066400000000000000000000107321265471724600262310ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ITERATOR_ADAPTER_08112011_0942) #define FUSION_ITERATOR_ADAPTER_08112011_0942 #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { template ::type> struct iterator_adapter : iterator_facade { typedef typename remove_const::type iterator_base_type; iterator_base_type iterator_base; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED iterator_adapter(iterator_base_type const& iterator_base_) : iterator_base(iterator_base_) {} // default implementation template struct equal_to : result_of::equal_to< typename I1::iterator_base_type , typename I2::iterator_base_type > {}; // default implementation template struct advance { typedef typename Derived_::template make< typename result_of::advance< typename Iterator::iterator_base_type, N >::type>::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& it) { return type(fusion::advance(it.iterator_base)); } }; // default implementation template struct distance : result_of::distance< typename First::iterator_base_type , typename Last::iterator_base_type > {}; // default implementation template struct value_of : result_of::value_of< typename Iterator::iterator_base_type > {}; // default implementation template struct deref { typedef typename result_of::deref< typename Iterator::iterator_base_type >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& it) { return fusion::deref(it.iterator_base); } }; // default implementation template struct next { typedef typename Derived_::template make< typename result_of::next< typename Iterator::iterator_base_type >::type>::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(fusion::next(i.iterator_base)); } }; // default implementation template struct prior { typedef typename Derived_::template make< typename result_of::prior< typename Iterator::iterator_base_type >::type>::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(fusion::prior(i.iterator_base)); } }; }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::iterator_adapter > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/iterator/iterator_facade.hpp000066400000000000000000000041761265471724600260210ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ITERATOR_FACADE_09252006_1011) #define FUSION_ITERATOR_FACADE_09252006_1011 #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct iterator_facade_tag; template struct iterator_facade : iterator_base { typedef iterator_facade_tag fusion_tag; typedef Derived derived_type; typedef Category category; // default implementation template struct equal_to // default implementation : is_same< typename I1::derived_type , typename I2::derived_type > {}; // default implementation template struct advance : mpl::if_c< (N::value > 0) , advance_detail::forward , advance_detail::backward >::type { BOOST_MPL_ASSERT_NOT((traits::is_random_access)); }; // default implementation template struct distance : distance_detail::linear_distance {}; }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::iterator_facade > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/iterator/key_of.hpp000066400000000000000000000021371265471724600241540ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_ITERATOR_KEY_OF_HPP #define BOOST_FUSION_ITERATOR_KEY_OF_HPP #include #include namespace boost { namespace fusion { struct iterator_facade_tag; namespace extension { template struct key_of_impl; template <> struct key_of_impl { template struct apply : It::template key_of {}; }; } namespace result_of { template struct key_of : extension::key_of_impl::type>:: template apply {}; } }} #endif KWStyle-master/Utilities/boost/fusion/iterator/mpl.hpp000066400000000000000000000011521265471724600234640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ITERATOR_MPL_10022005_0557) #define FUSION_ITERATOR_MPL_10022005_0557 #include #include #include #endif KWStyle-master/Utilities/boost/fusion/iterator/mpl/000077500000000000000000000000001265471724600227545ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/iterator/mpl/convert_iterator.hpp000066400000000000000000000033051265471724600270570ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_CONVERT_ITERATOR_05062005_1218) #define FUSION_CONVERT_ITERATOR_05062005_1218 #include #include #include #include namespace boost { namespace fusion { template struct mpl_iterator; // forward declaration // Test T. If it is a fusion iterator, return a reference to it. // else, assume it is an mpl iterator. template struct convert_iterator { typedef typename mpl::if_< is_fusion_iterator , T , mpl_iterator >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static T const& call(T const& x, mpl::true_) { return x; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static mpl_iterator call(T const& /*x*/, mpl::false_) { return mpl_iterator(); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename mpl::if_< is_fusion_iterator , T const& , mpl_iterator >::type call(T const& x) { return call(x, is_fusion_iterator()); } }; }} #endif KWStyle-master/Utilities/boost/fusion/iterator/mpl/fusion_iterator.hpp000066400000000000000000000050341265471724600267030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_FUSION_ITERATOR_10012005_1551) #define FUSION_FUSION_ITERATOR_10012005_1551 #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct to_mpl_category { typedef typename mpl::eval_if< is_base_of, mpl::random_access_iterator_tag, mpl::eval_if< is_base_of, mpl::bidirectional_iterator_tag, mpl::forward_iterator_tag > >::type type; }; }}} namespace boost { namespace mpl { template struct fusion_iterator { typedef typename fusion::result_of::value_of::type type; typedef typename fusion::traits::category_of::type fusion_category; typedef typename fusion::detail::to_mpl_category::type category; typedef Iterator iterator; }; template struct next > { typedef fusion_iterator::type> type; }; template struct prior > { typedef fusion_iterator::type> type; }; template struct advance, N> { typedef fusion_iterator::type> type; }; template struct distance, fusion_iterator > : fusion::result_of::distance {}; }} #endif KWStyle-master/Utilities/boost/fusion/iterator/next.hpp000066400000000000000000000035171265471724600236610ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_NEXT_05042005_1101) #define FUSION_NEXT_05042005_1101 #include #include namespace boost { namespace fusion { // Special tags: struct iterator_facade_tag; // iterator facade tag struct boost_array_iterator_tag; // boost::array iterator tag struct mpl_iterator_tag; // mpl sequence iterator tag struct std_pair_iterator_tag; // std::pair iterator tag namespace extension { template struct next_impl { template struct apply {}; }; template <> struct next_impl { template struct apply : Iterator::template next {}; }; template <> struct next_impl; template <> struct next_impl; template <> struct next_impl; } namespace result_of { template struct next : extension::next_impl::type>:: template apply {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::next::type const next(Iterator const& i) { return result_of::next::call(i); } }} #endif KWStyle-master/Utilities/boost/fusion/iterator/prior.hpp000066400000000000000000000035341265471724600240350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_PRIOR_05042005_1144) #define FUSION_PRIOR_05042005_1144 #include #include namespace boost { namespace fusion { // Special tags: struct iterator_facade_tag; // iterator facade tag struct boost_array_iterator_tag; // boost::array iterator tag struct mpl_iterator_tag; // mpl sequence iterator tag struct std_pair_iterator_tag; // std::pair iterator tag namespace extension { template struct prior_impl { template struct apply {}; }; template <> struct prior_impl { template struct apply : Iterator::template prior {}; }; template <> struct prior_impl; template <> struct prior_impl; template <> struct prior_impl; } namespace result_of { template struct prior : extension::prior_impl::type>:: template apply {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::prior::type const prior(Iterator const& i) { return result_of::prior::call(i); } }} #endif KWStyle-master/Utilities/boost/fusion/iterator/segmented_iterator.hpp000066400000000000000000000013511265471724600265610ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_ITERATOR_HPP_INCLUDED #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/iterator/value_of.hpp000066400000000000000000000033051265471724600244760ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VALUE_OF_05052005_1126) #define FUSION_VALUE_OF_05052005_1126 #include #include #include namespace boost { namespace fusion { // Special tags: struct iterator_facade_tag; // iterator facade tag struct boost_array_iterator_tag; // boost::array iterator tag struct mpl_iterator_tag; // mpl sequence iterator tag struct std_pair_iterator_tag; // std::pair iterator tag namespace extension { template struct value_of_impl { template struct apply {}; }; template <> struct value_of_impl { template struct apply : Iterator::template value_of {}; }; template <> struct value_of_impl; template <> struct value_of_impl; template <> struct value_of_impl; } namespace result_of { template struct value_of : extension::value_of_impl::type>:: template apply {}; } }} #endif KWStyle-master/Utilities/boost/fusion/iterator/value_of_data.hpp000066400000000000000000000022201265471724600254620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_ITERATOR_VALUE_OF_DATA_HPP #define BOOST_FUSION_ITERATOR_VALUE_OF_DATA_HPP #include #include namespace boost { namespace fusion { struct iterator_facade_tag; namespace extension { template struct value_of_data_impl; template <> struct value_of_data_impl { template struct apply : It::template value_of_data {}; }; } namespace result_of { template struct value_of_data : extension::value_of_data_impl::type>:: template apply {}; } }} #endif KWStyle-master/Utilities/boost/fusion/mpl.hpp000066400000000000000000000023141265471724600216340ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_MPL_09172006_2049) #define FUSION_MPL_09172006_2049 // The fusion <--> MPL link headers #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/mpl/000077500000000000000000000000001265471724600211235ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/mpl/at.hpp000066400000000000000000000016101265471724600222360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_AT_10022005_1616) #define FUSION_AT_10022005_1616 #include #include #include namespace boost { namespace fusion { struct fusion_sequence_tag; } namespace mpl { template struct at_impl; template <> struct at_impl { template struct apply : fusion::result_of::value_at {}; }; }} #endif KWStyle-master/Utilities/boost/fusion/mpl/back.hpp000066400000000000000000000020631265471724600225350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_BACK_10022005_1620) #define FUSION_BACK_10022005_1620 #include #include #include #include #include namespace boost { namespace mpl { template struct back_impl; template <> struct back_impl { template struct apply : fusion::result_of::value_of< typename fusion::result_of::prior< typename fusion::result_of::end::type >::type> {}; }; }} #endif KWStyle-master/Utilities/boost/fusion/mpl/begin.hpp000066400000000000000000000020121265471724600227130ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_BEGIN_10022005_1620) #define FUSION_BEGIN_10022005_1620 #include #include #include #include #include namespace boost { namespace mpl { template struct begin_impl; template <> struct begin_impl { template struct apply { typedef fusion_iterator::type> type; }; }; }} #endif KWStyle-master/Utilities/boost/fusion/mpl/clear.hpp000066400000000000000000000017641265471724600227320ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_CLEAR_10022005_1817) #define FUSION_CLEAR_10022005_1817 #include #include #include #include namespace boost { namespace mpl { template struct clear_impl; template <> struct clear_impl { template struct apply { typedef typename fusion::detail::clear::type>::type type; }; }; }} #endif KWStyle-master/Utilities/boost/fusion/mpl/detail/000077500000000000000000000000001265471724600223655ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/mpl/detail/clear.hpp000066400000000000000000000025611265471724600241700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_CLEAR_10022005_1442) #define FUSION_CLEAR_10022005_1442 #include #include #include #include #include #include namespace boost { namespace fusion { struct cons_tag; struct map_tag; struct set_tag; struct vector_tag; struct deque_tag; namespace detail { template struct clear; template <> struct clear : mpl::identity > {}; template <> struct clear : mpl::identity > {}; template <> struct clear : mpl::identity > {}; template <> struct clear : mpl::identity > {}; template <> struct clear : mpl::identity > {}; } }} #endif KWStyle-master/Utilities/boost/fusion/mpl/empty.hpp000066400000000000000000000015121265471724600227710ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_EMPTY_10022005_1619) #define FUSION_EMPTY_10022005_1619 #include #include #include namespace boost { namespace mpl { template struct empty_impl; template <> struct empty_impl { template struct apply : fusion::result_of::empty {}; }; }} #endif KWStyle-master/Utilities/boost/fusion/mpl/end.hpp000066400000000000000000000017741265471724600224130ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_END_10022005_1619) #define FUSION_END_10022005_1619 #include #include #include #include #include namespace boost { namespace mpl { template struct end_impl; template <> struct end_impl { template struct apply { typedef fusion_iterator::type> type; }; }; }} #endif KWStyle-master/Utilities/boost/fusion/mpl/erase.hpp000066400000000000000000000023311265471724600227320ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ERASE_10022005_1835) #define FUSION_ERASE_10022005_1835 #include #include #include #include #include namespace boost { namespace mpl { template struct erase_impl; template <> struct erase_impl { template struct apply { typedef typename fusion::result_of::erase::type result; typedef typename fusion::result_of::convert< typename fusion::detail::tag_of::type, result>::type type; }; }; }} #endif KWStyle-master/Utilities/boost/fusion/mpl/erase_key.hpp000066400000000000000000000023341265471724600236050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ERASE_KEY_10022005_1907) #define FUSION_ERASE_KEY_10022005_1907 #include #include #include #include #include namespace boost { namespace mpl { template struct erase_key_impl; template <> struct erase_key_impl { template struct apply { typedef typename fusion::result_of::erase_key::type result; typedef typename fusion::result_of::convert< typename fusion::detail::tag_of::type, result>::type type; }; }; }} #endif KWStyle-master/Utilities/boost/fusion/mpl/front.hpp000066400000000000000000000016611265471724600227700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_FRONT_10022005_1618) #define FUSION_FRONT_10022005_1618 #include #include #include #include namespace boost { namespace mpl { template struct front_impl; template <> struct front_impl { template struct apply : fusion::result_of::value_of::type> {}; }; }} #endif KWStyle-master/Utilities/boost/fusion/mpl/has_key.hpp000066400000000000000000000015541265471724600232640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_HAS_KEY_10022005_1617) #define FUSION_HAS_KEY_10022005_1617 #include #include #include namespace boost { namespace mpl { template struct has_key_impl; template <> struct has_key_impl { template struct apply : fusion::result_of::has_key {}; }; }} #endif KWStyle-master/Utilities/boost/fusion/mpl/insert.hpp000066400000000000000000000023261265471724600231430ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_INSERT_10022005_1837) #define FUSION_INSERT_10022005_1837 #include #include #include #include #include namespace boost { namespace mpl { template struct insert_impl; template <> struct insert_impl { template struct apply { typedef typename fusion::result_of::insert::type result; typedef typename fusion::result_of::convert< typename fusion::detail::tag_of::type, result>::type type; }; }; }} #endif KWStyle-master/Utilities/boost/fusion/mpl/insert_range.hpp000066400000000000000000000024101265471724600243110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_INSERT_RANGE_10022005_1838) #define FUSION_INSERT_RANGE_10022005_1838 #include #include #include #include #include namespace boost { namespace mpl { template struct insert_range_impl; template <> struct insert_range_impl { template struct apply { typedef typename fusion::result_of::insert_range::type result; typedef typename fusion::result_of::convert< typename fusion::detail::tag_of::type, result>::type type; }; }; }} #endif KWStyle-master/Utilities/boost/fusion/mpl/pop_back.hpp000066400000000000000000000023021265471724600234070ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_POP_BACK_10022005_1801) #define FUSION_POP_BACK_10022005_1801 #include #include #include #include #include namespace boost { namespace mpl { template struct pop_back_impl; template <> struct pop_back_impl { template struct apply { typedef typename fusion::result_of::pop_back::type result; typedef typename fusion::result_of::convert< typename fusion::detail::tag_of::type, result>::type type; }; }; }} #endif KWStyle-master/Utilities/boost/fusion/mpl/pop_front.hpp000066400000000000000000000023111265471724600236370ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_POP_FRONT_10022005_1800) #define FUSION_POP_FRONT_10022005_1800 #include #include #include #include #include namespace boost { namespace mpl { template struct pop_front_impl; template <> struct pop_front_impl { template struct apply { typedef typename fusion::result_of::pop_front::type result; typedef typename fusion::result_of::convert< typename fusion::detail::tag_of::type, result>::type type; }; }; }} #endif KWStyle-master/Utilities/boost/fusion/mpl/push_back.hpp000066400000000000000000000023301265471724600235710ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_PUSH_BACK_10022005_1647) #define FUSION_PUSH_BACK_10022005_1647 #include #include #include #include #include namespace boost { namespace mpl { template struct push_back_impl; template <> struct push_back_impl { template struct apply { typedef typename fusion::result_of::push_back::type result; typedef typename fusion::result_of::convert< typename fusion::detail::tag_of::type, result>::type type; }; }; }} #endif KWStyle-master/Utilities/boost/fusion/mpl/push_front.hpp000066400000000000000000000023371265471724600240300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_PUSH_FRONT_10022005_1720) #define FUSION_PUSH_FRONT_10022005_1720 #include #include #include #include #include namespace boost { namespace mpl { template struct push_front_impl; template <> struct push_front_impl { template struct apply { typedef typename fusion::result_of::push_front::type result; typedef typename fusion::result_of::convert< typename fusion::detail::tag_of::type, result>::type type; }; }; }} #endif KWStyle-master/Utilities/boost/fusion/mpl/size.hpp000066400000000000000000000015031265471724600226050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SIZE_10022005_1617) #define FUSION_SIZE_10022005_1617 #include #include #include namespace boost { namespace mpl { template struct size_impl; template <> struct size_impl { template struct apply : fusion::result_of::size {}; }; }} #endif KWStyle-master/Utilities/boost/fusion/sequence.hpp000066400000000000000000000013271265471724600226570ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_10022005_0559) #define FUSION_SEQUENCE_10022005_0559 #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/sequence/000077500000000000000000000000001265471724600221435ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/sequence/comparison.hpp000066400000000000000000000015411265471724600250270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_COMPARISON_10022005_0615) #define FUSION_SEQUENCE_COMPARISON_10022005_0615 #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/sequence/comparison/000077500000000000000000000000001265471724600243155ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/sequence/comparison/detail/000077500000000000000000000000001265471724600255575ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/sequence/comparison/detail/equal_to.hpp000066400000000000000000000041401265471724600301000ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_EQUAL_TO_05052005_1142) #define FUSION_EQUAL_TO_05052005_1142 #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct sequence_equal_to { typedef typename result_of::end::type end1_type; typedef typename result_of::end::type end2_type; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const&, I2 const&, mpl::true_) { return true; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b, mpl::false_) { return extension::as_const(*a) == extension::as_const(*b) && call(fusion::next(a), fusion::next(b)); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b) { typename result_of::equal_to::type eq; return call(a, b, eq); } }; template struct sequence_equal_to { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& /*a*/, I2 const& /*b*/) { return false; } }; }}} #endif KWStyle-master/Utilities/boost/fusion/sequence/comparison/detail/greater.hpp000066400000000000000000000035331265471724600277250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_GREATER_05052005_1142) #define FUSION_GREATER_05052005_1142 #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct sequence_greater { typedef typename result_of::end::type end1_type; typedef typename result_of::end::type end2_type; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const&, I2 const&, mpl::true_) { return false; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b, mpl::false_) { return extension::as_const(*a) > extension::as_const(*b) || (!(extension::as_const(*b) > extension::as_const(*a)) && call(fusion::next(a), fusion::next(b))); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b) { typename result_of::equal_to::type eq; return call(a, b, eq); } }; }}} #endif KWStyle-master/Utilities/boost/fusion/sequence/comparison/detail/greater_equal.hpp000066400000000000000000000035611265471724600311150ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_GREATER_EQUAL_05052005_1142) #define FUSION_GREATER_EQUAL_05052005_1142 #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct sequence_greater_equal { typedef typename result_of::end::type end1_type; typedef typename result_of::end::type end2_type; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const&, I2 const&, mpl::true_) { return true; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b, mpl::false_) { return extension::as_const(*a) >= extension::as_const(*b) && (!(extension::as_const(*b) >= extension::as_const(*a)) || call(fusion::next(a), fusion::next(b))); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b) { typename result_of::equal_to::type eq; return call(a, b, eq); } }; }}} #endif KWStyle-master/Utilities/boost/fusion/sequence/comparison/detail/less.hpp000066400000000000000000000035301265471724600272370ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_LESS_05052005_1141) #define FUSION_LESS_05052005_1141 #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct sequence_less { typedef typename result_of::end::type end1_type; typedef typename result_of::end::type end2_type; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const&, I2 const&, mpl::true_) { return false; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b, mpl::false_) { return extension::as_const(*a) < extension::as_const(*b) || (!(extension::as_const(*b) < extension::as_const(*a)) && call(fusion::next(a), fusion::next(b))); } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b) { typename result_of::equal_to::type eq; return call(a, b, eq); } }; }}} #endif KWStyle-master/Utilities/boost/fusion/sequence/comparison/detail/less_equal.hpp000066400000000000000000000035501265471724600304300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_LESS_EQUAL_05052005_1141) #define FUSION_LESS_EQUAL_05052005_1141 #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct sequence_less_equal { typedef typename result_of::end::type end1_type; typedef typename result_of::end::type end2_type; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const&, I2 const&, mpl::true_) { return true; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b, mpl::false_) { return extension::as_const(*a) <= extension::as_const(*b) && (!(extension::as_const(*b) <= extension::as_const(*a)) || call(fusion::next(a), fusion::next(b))); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b) { typename result_of::equal_to::type eq; return call(a, b, eq); } }; }}} #endif KWStyle-master/Utilities/boost/fusion/sequence/comparison/detail/not_equal_to.hpp000066400000000000000000000041421265471724600307620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_NOT_EQUAL_TO_05052005_1141) #define FUSION_NOT_EQUAL_TO_05052005_1141 #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct sequence_not_equal_to { typedef typename result_of::end::type end1_type; typedef typename result_of::end::type end2_type; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const&, I2 const&, mpl::true_) { return false; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b, mpl::false_) { return extension::as_const(*a) != extension::as_const(*b) || call(fusion::next(a), fusion::next(b)); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b) { typename result_of::equal_to::type eq; return call(a, b, eq); } }; template struct sequence_not_equal_to { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b) { return true; } }; }}} #endif KWStyle-master/Utilities/boost/fusion/sequence/comparison/enable_comparison.hpp000066400000000000000000000024321265471724600305070ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ENABLE_COMPARISON_09232005_1958) #define FUSION_ENABLE_COMPARISON_09232005_1958 #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace traits { template struct enable_equality : mpl::or_, traits::is_sequence > {}; template struct enable_comparison : mpl::and_< mpl::or_, traits::is_sequence > , mpl::equal_to, result_of::size > > {}; }}} #endif KWStyle-master/Utilities/boost/fusion/sequence/comparison/equal_to.hpp000066400000000000000000000036251265471724600266450ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_EQUAL_TO_05052005_0431) #define FUSION_EQUAL_TO_05052005_0431 #include #include #include #include #include #include #include #if defined (BOOST_MSVC) # pragma warning(push) # pragma warning (disable: 4100) // unreferenced formal parameter #endif namespace boost { namespace fusion { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool equal_to(Seq1 const& a, Seq2 const& b) { return result_of::size::value == result_of::size::value && detail::sequence_equal_to< Seq1 const, Seq2 const , result_of::size::value == result_of::size::value>:: call(fusion::begin(a), fusion::begin(b)); } namespace operators { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< traits::enable_equality , bool >::type operator==(Seq1 const& a, Seq2 const& b) { return fusion::equal_to(a, b); } } using operators::operator==; }} #if defined (BOOST_MSVC) # pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/fusion/sequence/comparison/greater.hpp000066400000000000000000000033271265471724600264640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_GREATER_05052005_0432) #define FUSION_GREATER_05052005_0432 #include #include #include #include #include #if defined(FUSION_DIRECT_OPERATOR_USAGE) #include #else #include #endif namespace boost { namespace fusion { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool greater(Seq1 const& a, Seq2 const& b) { #if defined(FUSION_DIRECT_OPERATOR_USAGE) return detail::sequence_greater:: call(fusion::begin(a), fusion::begin(b)); #else return (b < a); #endif } namespace operators { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< traits::enable_comparison , bool >::type operator>(Seq1 const& a, Seq2 const& b) { return fusion::greater(a, b); } } using operators::operator>; }} #endif KWStyle-master/Utilities/boost/fusion/sequence/comparison/greater_equal.hpp000066400000000000000000000033761265471724600276570ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_GREATER_EQUAL_05052005_0432) #define FUSION_GREATER_EQUAL_05052005_0432 #include #include #include #include #include #if defined(FUSION_DIRECT_OPERATOR_USAGE) #include #else #include #endif namespace boost { namespace fusion { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool greater_equal(Seq1 const& a, Seq2 const& b) { #if defined(FUSION_DIRECT_OPERATOR_USAGE) return detail::sequence_greater_equal:: call(fusion::begin(a), fusion::begin(b)); #else return !(a < b); #endif } namespace operators { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< traits::enable_comparison , bool >::type operator>=(Seq1 const& a, Seq2 const& b) { return fusion::greater_equal(a, b); } } using operators::operator>=; }} #endif KWStyle-master/Utilities/boost/fusion/sequence/comparison/less.hpp000066400000000000000000000030111265471724600257670ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_LESS_05052005_0432) #define FUSION_LESS_05052005_0432 #include #include #include #include #include #include namespace boost { namespace fusion { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool less(Seq1 const& a, Seq2 const& b) { return detail::sequence_less:: call(fusion::begin(a), fusion::begin(b)); } namespace operators { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< traits::enable_comparison , bool >::type operator<(Seq1 const& a, Seq2 const& b) { return fusion::less(a, b); } } using operators::operator<; }} #endif KWStyle-master/Utilities/boost/fusion/sequence/comparison/less_equal.hpp000066400000000000000000000055311265471724600271670ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_LESS_EQUAL_05052005_0432) #define FUSION_LESS_EQUAL_05052005_0432 #include #include #include #include #include #include #if defined(FUSION_DIRECT_OPERATOR_USAGE) #include #else #include #endif namespace boost { namespace fusion { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool less_equal(Seq1 const& a, Seq2 const& b) { #if defined(FUSION_DIRECT_OPERATOR_USAGE) return detail::sequence_less_equal:: call(fusion::begin(a), fusion::begin(b)); #else return !(b < a); #endif } namespace operators { #if defined(BOOST_MSVC) && (BOOST_MSVC <= 1400) // Workaround for VC8.0 and VC7.1 template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool operator<=(sequence_base const& a, sequence_base const& b) { return less_equal(a.derived(), b.derived()); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename disable_if, bool>::type operator<=(sequence_base const& a, Seq2 const& b) { return less_equal(a.derived(), b); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename disable_if, bool>::type operator<=(Seq1 const& a, sequence_base const& b) { return less_equal(a, b.derived()); } #else // Somehow VC8.0 and VC7.1 does not like this code // but barfs somewhere else. template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< traits::enable_comparison , bool >::type operator<=(Seq1 const& a, Seq2 const& b) { return fusion::less_equal(a, b); } #endif } using operators::operator<=; }} #endif KWStyle-master/Utilities/boost/fusion/sequence/comparison/not_equal_to.hpp000066400000000000000000000036371265471724600275300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_NOT_EQUAL_TO_05052005_0431) #define FUSION_NOT_EQUAL_TO_05052005_0431 #include #include #include #include #include #if defined(FUSION_DIRECT_OPERATOR_USAGE) #include #else #include #endif namespace boost { namespace fusion { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool not_equal_to(Seq1 const& a, Seq2 const& b) { #if defined(FUSION_DIRECT_OPERATOR_USAGE) return result_of::size::value != result_of::size::value || detail::sequence_not_equal_to< Seq1 const, Seq2 const , result_of::size::value == result_of::size::value>:: call(fusion::begin(a), fusion::begin(b)); #else return !(a == b); #endif } namespace operators { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< traits::enable_equality , bool >::type operator!=(Seq1 const& a, Seq2 const& b) { return fusion::not_equal_to(a, b); } } using operators::operator!=; }} #endif KWStyle-master/Utilities/boost/fusion/sequence/convert.hpp000066400000000000000000000027671265471724600243500ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_CONVERT_10022005_1442) #define FUSION_CONVERT_10022005_1442 #include namespace boost { namespace fusion { namespace extension { template struct convert_impl; } namespace result_of { template struct convert { typedef typename extension::convert_impl::template apply gen; typedef typename gen::type type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::convert::type convert(Sequence& seq) { typedef typename result_of::convert::gen gen; return gen::call(seq); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::convert::type convert(Sequence const& seq) { typedef typename result_of::convert::gen gen; return gen::call(seq); } }} #endif KWStyle-master/Utilities/boost/fusion/sequence/hash.hpp000066400000000000000000000023621265471724600236020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2014 Christoph Weiss Distributed under the 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(FUSION_HASH_23072014_1017) #define FUSION_HASH_23072014_1017 #include #include #include #include namespace boost { namespace fusion { namespace hashing { struct hash_combine_fold { typedef std::size_t result_type; template inline std::size_t operator()(std::size_t seed, T const& v) { boost::hash_combine(seed, v); return seed; } }; template inline typename boost::enable_if, std::size_t>::type hash_value(Seq const& seq) { return fold(seq, 0, hash_combine_fold()); } } using hashing::hash_value; }} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic.hpp000066400000000000000000000022731265471724600246620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_INTRINSIC_10022005_0618) #define FUSION_SEQUENCE_INTRINSIC_10022005_0618 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/000077500000000000000000000000001265471724600241455ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/at.hpp000066400000000000000000000070651265471724600252720ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_AT_05042005_0722) #define FUSION_AT_05042005_0722 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { // Special tags: struct sequence_facade_tag; struct boost_tuple_tag; // boost::tuples::tuple tag struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag struct std_tuple_tag; // std::tuple tag namespace extension { template struct at_impl { template struct apply; }; template <> struct at_impl { template struct apply : Sequence::template at {}; }; template <> struct at_impl; template <> struct at_impl; template <> struct at_impl; template <> struct at_impl; template <> struct at_impl; } namespace detail { template struct at_impl : mpl::if_< mpl::less::template apply::type> , typename extension::at_impl::template apply , mpl::empty_base >::type {}; } namespace result_of { template struct at : detail::at_impl::type> {}; template struct at_c : at > {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const , result_of::at >::type at(Sequence& seq) { return result_of::at::call(seq); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::at::type at(Sequence const& seq) { return result_of::at::call(seq); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const , result_of::at_c >::type at_c(Sequence& seq) { return fusion::at >(seq); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::at_c::type at_c(Sequence const& seq) { return fusion::at >(seq); } }} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/at_c.hpp000066400000000000000000000010311265471724600255570ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_AT_C_08252008_0308) #define FUSION_AT_C_08252008_0308 #include #include #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/at_key.hpp000066400000000000000000000056111265471724600261350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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_FUSION_AT_KEY_20060304_1755) #define BOOST_FUSION_AT_KEY_20060304_1755 #include #include #include #include #include #include #include namespace boost { namespace fusion { // Special tags: struct sequence_facade_tag; struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag namespace extension { template struct at_key_impl { template struct apply { typedef typename result_of::deref_data< typename result_of::find::type >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return fusion::deref_data(fusion::find(seq)); } }; }; template <> struct at_key_impl { template struct apply : Sequence::template at_key_impl {}; }; template <> struct at_key_impl; template <> struct at_key_impl; template <> struct at_key_impl; } namespace result_of { template struct at_key : extension::at_key_impl::type>:: template apply {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const , result_of::at_key >::type at_key(Sequence& seq) { return result_of::at_key::call(seq); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::at_key::type at_key(Sequence const& seq) { return result_of::at_key::call(seq); } }} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/back.hpp000066400000000000000000000026351265471724600255640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_BACK_09162005_0350) #define FUSION_BACK_09162005_0350 #include #include #include #include #include #include namespace boost { namespace fusion { struct fusion_sequence_tag; namespace result_of { template struct back : result_of::deref::type>::type> {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::back::type back(Sequence& seq) { return *fusion::prior(fusion::end(seq)); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::back::type back(Sequence const& seq) { return *fusion::prior(fusion::end(seq)); } }} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/begin.hpp000066400000000000000000000055071265471724600257510ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_BEGIN_04052005_1132) #define FUSION_BEGIN_04052005_1132 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { // Special tags: struct sequence_facade_tag; // iterator facade tag struct boost_tuple_tag; // boost::tuples::tuple tag struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag namespace extension { template struct begin_impl { template struct apply : mpl::if_< traits::is_segmented , detail::segmented_begin , mpl::empty_base >::type {}; }; template <> struct begin_impl { template struct apply : Sequence::template begin {}; }; template <> struct begin_impl; template <> struct begin_impl; template <> struct begin_impl; template <> struct begin_impl; } namespace result_of { template struct begin : extension::begin_impl::type>:: template apply {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence , result_of::begin >::type const begin(Sequence& seq) { return result_of::begin::call(seq); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence , result_of::begin >::type const begin(Sequence const& seq) { return result_of::begin::call(seq); } }} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/detail/000077500000000000000000000000001265471724600254075ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp000066400000000000000000000030071265471724600312370ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTED_BEGIN_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_BEGIN_HPP_INCLUDED #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { //auto segmented_begin( seq ) //{ // return make_segmented_iterator( segmented_begin_impl( seq, nil_ ) ); //} template struct segmented_begin { typedef segmented_iterator< typename segmented_begin_impl::type > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return type( segmented_begin_impl::call(seq, Nil_())); } }; }}} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp000066400000000000000000000063041265471724600322630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTED_BEGIN_IMPL_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_BEGIN_IMPL_HPP_INCLUDED #include #include #include #include #include #include #include namespace boost { namespace fusion { template struct iterator_range; }} namespace boost { namespace fusion { namespace detail { struct segmented_begin_fun { template struct apply { typedef iterator_range< typename fusion::result_of::begin::type , typename fusion::result_of::end::type > range_type; typedef cons type; typedef mpl::false_ continue_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const&, Context const& context, segmented_begin_fun) { return type(range_type(fusion::begin(seq), fusion::end(seq)), context); } }; }; template ::type::value> struct segmented_begin_impl_aux { typedef segmented_end_impl end_impl; typedef segmented_fold_until_impl< Sequence , typename end_impl::type , Stack , segmented_begin_fun > fold_impl; typedef typename fold_impl::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, Stack const& stack) { return fold_impl::call(seq, end_impl::call(seq, stack), stack, segmented_begin_fun()); } }; template struct segmented_begin_impl_aux { typedef typename result_of::begin::type begin_type; typedef typename result_of::end::type end_type; typedef iterator_range pair_type; typedef cons type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, Stack stack) { return type(pair_type(fusion::begin(seq), fusion::end(seq)), stack); } }; template struct segmented_begin_impl : segmented_begin_impl_aux {}; }}} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp000066400000000000000000000024451265471724600307260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTED_END_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_END_HPP_INCLUDED #include #include #include #include namespace boost { namespace fusion { namespace detail { //auto segmented_end( seq ) //{ // return make_segmented_iterator( segmented_end_impl( seq ) ); //} template struct segmented_end { typedef segmented_iterator< typename segmented_end_impl::type > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence & seq) { return type( segmented_end_impl::call(seq, Nil_())); } }; }}} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp000066400000000000000000000041161265471724600317440ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTED_END_IMPL_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_END_IMPL_HPP_INCLUDED #include #include #include #include #include #include #include namespace boost { namespace fusion { template struct iterator_range; }} namespace boost { namespace fusion { namespace detail { //auto segmented_end_impl( seq, stack ) //{ // assert(is_segmented(seq)); // auto it = end(segments(seq)); // return cons(iterator_range(it, it), stack); //} template struct segmented_end_impl { BOOST_MPL_ASSERT((traits::is_segmented)); typedef typename result_of::end< typename remove_reference< typename add_const< typename result_of::segments::type >::type >::type >::type end_type; typedef iterator_range pair_type; typedef cons type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static pair_type make_pair(end_type end) { return pair_type(end, end); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence & seq, Stack stack) { return type( make_pair(fusion::end(fusion::segments(seq))), stack); } }; }}} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp000066400000000000000000000036201265471724600311260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTED_SIZE_08112006_1141) #define BOOST_FUSION_SEGMENTED_SIZE_08112006_1141 #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { /////////////////////////////////////////////////////////////////////////// // calculates the size of any segmented data structure. template struct segmented_size; /////////////////////////////////////////////////////////////////////////// template::value> struct segmented_size_impl : mpl::fold< typename remove_reference< typename add_const< typename result_of::segments::type >::type >::type , mpl::size_t<0> , mpl::plus > > >::type {}; template struct segmented_size_impl : result_of::size::type {}; template struct segmented_size : segmented_size_impl {}; }}} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/empty.hpp000066400000000000000000000034451265471724600260220ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_EMPTY_09162005_0335) #define FUSION_EMPTY_09162005_0335 #include #include #include #include #include namespace boost { namespace fusion { // Special tags: struct sequence_facade_tag; struct mpl_sequence_tag; // mpl sequence tag namespace extension { template struct empty_impl { template struct apply : mpl::bool_<(result_of::size::value == 0)> {}; }; template <> struct empty_impl { template struct apply : Sequence::template empty {}; }; template <> struct empty_impl; } namespace result_of { template struct empty : extension::empty_impl::type>:: template apply {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::empty::type empty(Sequence const&) { typedef typename result_of::empty::type result; return result(); } }} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/end.hpp000066400000000000000000000054121265471724600254260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_END_04052005_1141) #define FUSION_END_04052005_1141 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { // Special tags: struct sequence_facade_tag; struct boost_tuple_tag; // boost::tuples::tuple tag struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag namespace extension { template struct end_impl { template struct apply : mpl::if_< traits::is_segmented , detail::segmented_end , mpl::empty_base >::type {}; }; template <> struct end_impl { template struct apply : Sequence::template end {}; }; template <> struct end_impl; template <> struct end_impl; template <> struct end_impl; template <> struct end_impl; } namespace result_of { template struct end : extension::end_impl::type>:: template apply {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence , result_of::end >::type const end(Sequence& seq) { return result_of::end::call(seq); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence , result_of::end >::type const end(Sequence const& seq) { return result_of::end::call(seq); } }} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/front.hpp000066400000000000000000000025021265471724600260050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_FRONT_09162005_0343) #define FUSION_FRONT_09162005_0343 #include #include #include #include #include namespace boost { namespace fusion { struct fusion_sequence_tag; namespace result_of { template struct front : result_of::deref::type> {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::front::type front(Sequence& seq) { return *fusion::begin(seq); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::front::type front(Sequence const& seq) { return *fusion::begin(seq); } }} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/has_key.hpp000066400000000000000000000046121265471724600263040ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_HAS_KEY_09232005_1454) #define FUSION_HAS_KEY_09232005_1454 #include #include #include #include #include #include #include namespace boost { namespace fusion { struct void_; // Special tags: struct sequence_facade_tag; struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag namespace extension { template struct has_key_impl { template struct apply : mpl::not_< typename result_of::equal_to< typename result_of::find::type , typename result_of::end::type >::type >::type {}; }; template <> struct has_key_impl { template struct apply : Sequence::template has_key {}; }; template <> struct has_key_impl; template <> struct has_key_impl; template <> struct has_key_impl; } namespace result_of { template struct has_key : extension::has_key_impl::type>:: template apply {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::has_key::type has_key(Sequence const&) { typedef typename result_of::has_key::type result; return result(); } }} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/segments.hpp000066400000000000000000000045301265471724600265050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2006 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTS_04052005_1141) #define BOOST_FUSION_SEGMENTS_04052005_1141 #include #include #include #include #include namespace boost { namespace fusion { // Special tags: struct sequence_facade_tag; struct iterator_range_tag; // segments: returns a sequence of sequences namespace extension { template struct segments_impl { template struct apply {}; }; template <> struct segments_impl { template struct apply : Sequence::template segments {}; }; template <> struct segments_impl; } namespace result_of { template struct segments { typedef typename traits::tag_of::type tag_type; typedef typename extension::segments_impl::template apply::type type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const , result_of::segments >::type segments(Sequence& seq) { typedef typename traits::tag_of::type tag_type; return extension::segments_impl::template apply::call(seq); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::segments::type segments(Sequence const& seq) { typedef typename traits::tag_of::type tag_type; return extension::segments_impl::template apply::call(seq); } }} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/size.hpp000066400000000000000000000050101265471724600256240ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SIZE_05052005_0214) #define FUSION_SIZE_05052005_0214 #include #include #include #include #include #include #include #include namespace boost { namespace fusion { // Special tags: struct sequence_facade_tag; struct boost_tuple_tag; // boost::tuples::tuple tag struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag namespace extension { template struct size_impl { template struct unsegmented_size : Sequence::size {}; template struct apply : mpl::if_< traits::is_segmented , detail::segmented_size , unsegmented_size >::type {}; }; template <> struct size_impl { template struct apply : Sequence::template size {}; }; template <> struct size_impl; template <> struct size_impl; template <> struct size_impl; template <> struct size_impl; } namespace result_of { template struct size : mpl::int_< extension::size_impl::type> ::template apply::type::value > {}; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::size::type size(Sequence const&) { typedef typename result_of::size::type result; return result(); } }} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/swap.hpp000066400000000000000000000036131265471724600256330ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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_FUSION_SWAP_20070501_1956) #define BOOST_FUSION_SWAP_20070501_1956 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace result_of { template struct swap : enable_if, traits::is_sequence > > {}; } namespace detail { struct swap { template struct result { typedef void type; }; template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED void operator()(Elem const& e) const { using std::swap; swap(front(e), back(e)); } }; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::swap::type swap(Seq1& lhs, Seq2& rhs) { typedef vector references; for_each(zip_view(references(lhs, rhs)), detail::swap()); } }} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/value_at.hpp000066400000000000000000000037071265471724600264650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VALUE_AT_05052005_0229) #define FUSION_VALUE_AT_05052005_0229 #include #include #include #include namespace boost { namespace fusion { // Special tags: struct sequence_facade_tag; struct boost_tuple_tag; // boost::tuples::tuple tag struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag namespace extension { template struct value_at_impl { template struct apply; }; template <> struct value_at_impl { template struct apply : Sequence::template value_at {}; }; template <> struct value_at_impl; template <> struct value_at_impl; template <> struct value_at_impl; template <> struct value_at_impl; } namespace result_of { template struct value_at : extension::value_at_impl::type>:: template apply {}; template struct value_at_c : fusion::result_of::value_at > {}; } }} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic/value_at_key.hpp000066400000000000000000000037611265471724600273350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_VALUE_AT_KEY_05052005_0229) #define FUSION_VALUE_AT_KEY_05052005_0229 #include #include #include #include #include #include namespace boost { namespace fusion { // Special tags: struct sequence_facade_tag; struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag namespace extension { template struct value_at_key_impl { template struct apply : result_of::value_of_data< typename result_of::find::type > {}; }; template <> struct value_at_key_impl { template struct apply : Sequence::template value_at_key {}; }; template <> struct value_at_key_impl; template <> struct value_at_key_impl; template <> struct value_at_key_impl; } namespace result_of { template struct value_at_key : extension::value_at_key_impl::type>:: template apply {}; } }} #endif KWStyle-master/Utilities/boost/fusion/sequence/intrinsic_fwd.hpp000066400000000000000000000136751265471724600255320ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_SEQUENCE_INTRINSIC_FWD_HPP_INCLUDED) #define BOOST_FUSION_SEQUENCE_INTRINSIC_FWD_HPP_INCLUDED #include #include #include #include namespace boost { namespace fusion { namespace extension { template struct at_impl; template struct begin_impl; template struct empty_impl; template struct end_impl; template struct has_key_impl; template struct segments_impl; template struct size_impl; template struct value_at_impl; template struct at_key_impl; template struct value_at_key_impl; } namespace result_of { template struct at; template struct at_c; template struct back; template struct begin; template struct empty; template struct end; template struct front; template struct has_key; template struct segments; template struct size; template struct value_at; template struct value_at_c; template struct at_key; template struct value_at_key; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename lazy_disable_if< is_const , result_of::at >::type at(Sequence& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::at::type at(Sequence const& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename lazy_disable_if< is_const , result_of::at_c >::type at_c(Sequence& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::at_c::type at_c(Sequence const& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::back::type back(Sequence& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::back::type back(Sequence const& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename lazy_enable_if< traits::is_sequence , result_of::begin >::type const begin(Sequence& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename lazy_enable_if< traits::is_sequence , result_of::begin >::type const begin(Sequence const& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::empty::type empty(Sequence const&); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename lazy_enable_if< traits::is_sequence , result_of::end >::type const end(Sequence& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename lazy_enable_if< traits::is_sequence , result_of::end >::type const end(Sequence const& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::front::type front(Sequence& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::front::type front(Sequence const& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::has_key::type has_key(Sequence const& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename lazy_disable_if< is_const , result_of::segments >::type segments(Sequence& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::segments::type segments(Sequence const& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::size::type size(Sequence const&); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename lazy_disable_if< is_const , result_of::at_key >::type at_key(Sequence& seq); template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::at_key::type at_key(Sequence const& seq); }} #endif KWStyle-master/Utilities/boost/fusion/sequence/io.hpp000066400000000000000000000011141265471724600232600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_IO_10032005_0836) #define FUSION_SEQUENCE_IO_10032005_0836 #include #include #include #endif KWStyle-master/Utilities/boost/fusion/sequence/io/000077500000000000000000000000001265471724600225525ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/sequence/io/detail/000077500000000000000000000000001265471724600240145ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/sequence/io/detail/in.hpp000066400000000000000000000051071265471724600251360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 1999-2003 Jeremiah Willcock Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_IN_05052005_0121) #define FUSION_IN_05052005_0121 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct delimiter_in { // read a delimiter template static void read(IS& is, char const* delim, mpl::false_ = mpl::false_()) { detail::string_ios_manip manip(is); manip.read(delim); } template static void read(IS&, char const*, mpl::true_) { } }; struct read_sequence_loop { template static void call(IS&, First const&, Last const&, mpl::true_) { } template static void call(IS& is, First const& first, Last const& last, mpl::false_) { result_of::equal_to< typename result_of::next::type , Last > is_last; is >> *first; delimiter_in::read(is, " ", is_last); call(is, fusion::next(first), last, is_last); } template static void call(IS& is, First const& first, Last const& last) { result_of::equal_to eq; call(is, first, last, eq); } }; template inline void read_sequence(IS& is, Sequence& seq) { delimiter_in::read(is, "("); read_sequence_loop::call(is, fusion::begin(seq), fusion::end(seq)); delimiter_in::read(is, ")"); } }}} #endif KWStyle-master/Utilities/boost/fusion/sequence/io/detail/manip.hpp000066400000000000000000000277451265471724600256500ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jeremiah Willcock Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_MANIP_05052005_1200) #define FUSION_MANIP_05052005_1200 #include #include #include #include #include // Tuple I/O manipulators #define FUSION_GET_CHAR_TYPE(T) typename T::char_type #define FUSION_GET_TRAITS_TYPE(T) typename T::traits_type #define FUSION_STRING_OF_STREAM(Stream) \ std::basic_string< \ FUSION_GET_CHAR_TYPE(Stream) \ , FUSION_GET_TRAITS_TYPE(Stream) \ > //$$$ these should be part of the public API$$$ //$$$ rename tuple_open, tuple_close and tuple_delimiter to // open, close and delimeter and add these synonyms to the // TR1 tuple module. namespace boost { namespace fusion { namespace detail { template int get_xalloc_index(Tag* = 0) { // each Tag will have a unique index static int index = std::ios::xalloc(); return index; } template struct stream_data { struct arena { ~arena() { for ( typename std::vector::iterator i = data.begin() ; i != data.end() ; ++i) { delete *i; } } std::vector data; }; static void attach(Stream& stream, T const& data) { static arena ar; // our arena ar.data.push_back(new T(data)); stream.pword(get_xalloc_index()) = ar.data.back(); } static T const* get(Stream& stream) { return (T const*)stream.pword(get_xalloc_index()); } }; template class string_ios_manip { public: typedef FUSION_STRING_OF_STREAM(Stream) string_type; typedef stream_data stream_data_t; string_ios_manip(Stream& str_) : stream(str_) {} void set(string_type const& s) { stream_data_t::attach(stream, s); } void print(char const* default_) const { // print a delimiter string_type const* p = stream_data_t::get(stream); if (p) stream << *p; else stream << default_; } void read(char const* default_) const { // read a delimiter string_type const* p = stream_data_t::get(stream); using namespace std; ws(stream); if (p) { typedef typename string_type::const_iterator iterator; for (iterator i = p->begin(); i != p->end(); ++i) check_delim(*i); } else { while (*default_) check_delim(*default_++); } } private: template void check_delim(Char c) const { if (!isspace(c)) { if (stream.get() != c) { stream.unget(); stream.setstate(std::ios::failbit); } } } Stream& stream; private: // silence MSVC warning C4512: assignment operator could not be generated string_ios_manip& operator= (string_ios_manip const&); }; } // detail #if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) #define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \ template \ inline detail::name##_type \ name(const std::basic_string& s) \ { \ return detail::name##_type(s); \ } \ \ inline detail::name##_type \ name(char const* s) \ { \ return detail::name##_type(std::basic_string(s)); \ } \ \ inline detail::name##_type \ name(wchar_t const* s) \ { \ return detail::name##_type(std::basic_string(s)); \ } \ \ inline detail::name##_type \ name(char c) \ { \ return detail::name##_type(std::basic_string(1, c)); \ } \ \ inline detail::name##_type \ name(wchar_t c) \ { \ return detail::name##_type(std::basic_string(1, c)); \ } #else // defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) #define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \ template \ inline detail::name##_type \ name(const std::basic_string& s) \ { \ return detail::name##_type(s); \ } \ \ template \ inline detail::name##_type \ name(Char s[]) \ { \ return detail::name##_type(std::basic_string(s)); \ } \ \ template \ inline detail::name##_type \ name(Char const s[]) \ { \ return detail::name##_type(std::basic_string(s)); \ } \ \ template \ inline detail::name##_type \ name(Char c) \ { \ return detail::name##_type(std::basic_string(1, c)); \ } #endif #define STD_TUPLE_DEFINE_MANIPULATOR(name) \ namespace detail \ { \ struct name##_tag; \ \ template > \ struct name##_type \ { \ typedef std::basic_string string_type; \ string_type data; \ name##_type(const string_type& d): data(d) {} \ }; \ \ template \ Stream& operator>>(Stream& s, const name##_type& m) \ { \ string_ios_manip manip(s); \ manip.set(m.data); \ return s; \ } \ \ template \ Stream& operator<<(Stream& s, const name##_type& m) \ { \ string_ios_manip manip(s); \ manip.set(m.data); \ return s; \ } \ } \ STD_TUPLE_DEFINE_MANIPULATOR(tuple_open) STD_TUPLE_DEFINE_MANIPULATOR(tuple_close) STD_TUPLE_DEFINE_MANIPULATOR(tuple_delimiter) STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(tuple_open) STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(tuple_close) STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(tuple_delimiter) #undef STD_TUPLE_DEFINE_MANIPULATOR #undef STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS #undef FUSION_STRING_OF_STREAM #undef FUSION_GET_CHAR_TYPE #undef FUSION_GET_TRAITS_TYPE }} #endif KWStyle-master/Utilities/boost/fusion/sequence/io/detail/out.hpp000066400000000000000000000051351265471724600253400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 1999-2003 Jeremiah Willcock Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_OUT_05052005_0121) #define FUSION_OUT_05052005_0121 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct delimiter_out { // print a delimiter template static void print(OS& os, char const* delim, mpl::false_ = mpl::false_()) { detail::string_ios_manip manip(os); manip.print(delim); } template static void print(OS&, char const*, mpl::true_) { } }; struct print_sequence_loop { template static void call(OS&, First const&, Last const&, mpl::true_) { } template static void call(OS& os, First const& first, Last const& last, mpl::false_) { result_of::equal_to< typename result_of::next::type , Last > is_last; os << *first; delimiter_out::print(os, " ", is_last); call(os, fusion::next(first), last, is_last); } template static void call(OS& os, First const& first, Last const& last) { result_of::equal_to eq; call(os, first, last, eq); } }; template inline void print_sequence(OS& os, Sequence const& seq) { delimiter_out::print(os, "("); print_sequence_loop::call(os, fusion::begin(seq), fusion::end(seq)); delimiter_out::print(os, ")"); } }}} #endif KWStyle-master/Utilities/boost/fusion/sequence/io/in.hpp000066400000000000000000000023661265471724600237000ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 1999-2003 Jeremiah Willcock Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_IN_05042005_0120) #define BOOST_IN_05042005_0120 #include #include #include #include namespace boost { namespace fusion { template inline std::istream& in(std::istream& is, Sequence& seq) { detail::read_sequence(is, seq); return is; } namespace operators { template inline typename boost::enable_if< fusion::traits::is_sequence , std::istream& >::type operator>>(std::istream& is, Sequence& seq) { return fusion::in(is, seq); } } using operators::operator>>; }} #endif KWStyle-master/Utilities/boost/fusion/sequence/io/out.hpp000066400000000000000000000025121265471724600240720ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 1999-2003 Jeremiah Willcock Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_OUT_05042005_0120) #define BOOST_OUT_05042005_0120 #include #include #include #include #include #include namespace boost { namespace fusion { template inline std::ostream& out(std::ostream& os, Sequence& seq) { detail::print_sequence(os, seq); return os; } namespace operators { template inline typename boost::enable_if< fusion::traits::is_sequence , std::ostream& >::type operator<<(std::ostream& os, Sequence const& seq) { return fusion::out(os, seq); } } using operators::operator<<; }} #endif KWStyle-master/Utilities/boost/fusion/sequence/sequence_facade.hpp000066400000000000000000000020251265471724600257460ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_FACADE_09252006_1044) #define FUSION_SEQUENCE_FACADE_09252006_1044 #include #include #include namespace boost { namespace fusion { struct sequence_facade_tag; template struct sequence_facade : sequence_base { typedef fusion_sequence_tag tag; typedef sequence_facade_tag fusion_tag; typedef Derived derived_type; typedef Category category; typedef IsView is_view; typedef mpl::false_ is_segmented; }; }} #endif KWStyle-master/Utilities/boost/fusion/support.hpp000066400000000000000000000021161265471724600225600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SUPPORT_10022005_0545) #define FUSION_SUPPORT_10022005_0545 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/support/000077500000000000000000000000001265471724600220475ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/support/as_const.hpp000066400000000000000000000021331265471724600243700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2012 Nathan Ridge Distributed under the 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_FUSION_SUPPORT_AS_CONST_HPP #define BOOST_FUSION_SUPPORT_AS_CONST_HPP #include #include namespace boost { namespace fusion { namespace extension { // A customization point that allows certain wrappers around // Fusion sequence elements (e.g. adt_attribute_proxy) to be // unwrapped in contexts where the element only needs to be // read. The library wraps accesses to Fusion elements in // such contexts with calls to this function. Users can // specialize this function for their own wrappers. template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline const T& as_const(const T& obj) BOOST_NOEXCEPT { return obj; } }}} #endif KWStyle-master/Utilities/boost/fusion/support/category_of.hpp000066400000000000000000000060721265471724600250660ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_CATEGORY_OF_07202005_0308) #define FUSION_CATEGORY_OF_07202005_0308 #include #include #include #include namespace boost { namespace fusion { // Special tags: struct boost_tuple_tag; // boost::tuples::tuple tag struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag struct incrementable_traversal_tag {}; struct single_pass_traversal_tag : incrementable_traversal_tag {}; struct forward_traversal_tag : single_pass_traversal_tag {}; struct bidirectional_traversal_tag : forward_traversal_tag {}; struct random_access_traversal_tag : bidirectional_traversal_tag {}; struct associative_tag {}; namespace extension { template struct category_of_impl { template struct apply : detail::fusion_category_of {}; }; template <> struct category_of_impl; template <> struct category_of_impl; template <> struct category_of_impl; template <> struct category_of_impl; } namespace traits { template struct category_of : extension::category_of_impl::type>:: template apply {}; template struct is_associative : is_base_of< associative_tag , typename category_of::type> {}; template struct is_incrementable : is_base_of< incrementable_traversal_tag , typename category_of::type> {}; template struct is_single_pass : is_base_of< single_pass_traversal_tag , typename category_of::type> {}; template struct is_forward : is_base_of< forward_traversal_tag , typename category_of::type> {}; template struct is_bidirectional : is_base_of< bidirectional_traversal_tag , typename category_of::type> {}; template struct is_random_access : is_base_of< random_access_traversal_tag , typename category_of::type> {}; } }} #endif KWStyle-master/Utilities/boost/fusion/support/config.hpp000066400000000000000000000057741265471724600240420ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2014 Eric Niebler Copyright (c) 2014 Kohei Takahashi Distributed under the 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(FUSION_SUPPORT_CONFIG_01092014_1718) #define FUSION_SUPPORT_CONFIG_01092014_1718 #include #include #ifndef BOOST_FUSION_GPU_ENABLED #define BOOST_FUSION_GPU_ENABLED BOOST_GPU_ENABLED #endif // Enclose with inline namespace because unqualified lookup of GCC < 4.5 is broken. // // namespace detail { // struct foo; // struct X { }; // } // // template void foo(T) { } // // int main() // { // foo(detail::X()); // // prog.cc: In function 'int main()': // // prog.cc:2: error: 'struct detail::foo' is not a function, // // prog.cc:6: error: conflict with 'template void foo(T)' // // prog.cc:10: error: in call to 'foo' // } namespace boost { namespace fusion { namespace detail { namespace barrier { } using namespace barrier; }}} #define BOOST_FUSION_BARRIER_BEGIN namespace barrier { #define BOOST_FUSION_BARRIER_END } #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900)) // All of rvalue-reference ready MSVC don't perform implicit conversion from // fundamental type to rvalue-reference of another fundamental type [1]. // // Following example doesn't compile // // int i; // long &&l = i; // sigh..., std::forward(i) also fail. // // however, following one will work. // // int i; // long &&l = static_cast(i); // // OK, now can we replace all usage of std::forward to static_cast? -- I say NO! // All of rvalue-reference ready Clang doesn't compile above static_cast usage [2], sigh... // // References: // 1. https://connect.microsoft.com/VisualStudio/feedback/details/1037806/implicit-conversion-doesnt-perform-for-fund // 2. http://llvm.org/bugs/show_bug.cgi?id=19917 // // Tentatively, we use static_cast to forward if run under MSVC. # define BOOST_FUSION_FWD_ELEM(type, value) static_cast(value) #else # define BOOST_FUSION_FWD_ELEM(type, value) std::forward(value) #endif // Workaround for LWG 2408: C++17 SFINAE-friendly std::iterator_traits. // http://cplusplus.github.io/LWG/lwg-defects.html#2408 // // - GCC 4.5 enables the feature under C++11. // https://gcc.gnu.org/ml/gcc-patches/2014-11/msg01105.html // // - MSVC 10.0 implements iterator intrinsics; MSVC 13.0 implements LWG2408. #if (defined(BOOST_LIBSTDCXX_VERSION) && (BOOST_LIBSTDCXX_VERSION < 40500) && \ defined(BOOST_LIBSTDCXX11)) || \ (defined(BOOST_MSVC) && (1600 <= BOOST_MSVC || BOOST_MSVC < 1900)) # define BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits; } #endif #endif KWStyle-master/Utilities/boost/fusion/support/deduce.hpp000066400000000000000000000053651265471724600240220ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_SUPPORT_DEDUCE_HPP_INCLUDED) #define BOOST_FUSION_SUPPORT_DEDUCE_HPP_INCLUDED #include #include #ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL #include #endif namespace boost { namespace fusion { namespace traits { template struct deduce; //----- ---- --- -- - - - - // Non-references pass unchanged template struct deduce { typedef T type; }; template struct deduce { typedef T type; }; template struct deduce { typedef T type; }; template struct deduce { typedef T type; }; // Keep references on mutable LValues template struct deduce { typedef T & type; }; template struct deduce { typedef T volatile& type; }; // Store away potential RValues template struct deduce { typedef T type; }; template struct deduce { typedef T type; }; // Unwrap Boost.RefS (referencee cv is deduced) template struct deduce & > { typedef T& type; }; template struct deduce const & > { typedef T& type; }; // Also unwrap C++11 std::ref if available (referencee cv is deduced) #ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL template struct deduce &> { typedef T& type; }; template struct deduce const &> { typedef T& type; }; #endif // Keep references on arrays, even if const template struct deduce { typedef T(&type)[N]; }; template struct deduce { typedef volatile T(&type)[N]; }; template struct deduce { typedef const T(&type)[N]; }; template struct deduce { typedef const volatile T(&type)[N]; }; }}} #endif KWStyle-master/Utilities/boost/fusion/support/deduce_sequence.hpp000066400000000000000000000030631265471724600257030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Use modification and distribution are subject to the 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_FUSION_SUPPORT_DEDUCE_SEQUENCE_HPP_INCLUDED) #define BOOST_FUSION_SUPPORT_DEDUCE_SEQUENCE_HPP_INCLUDED #include #include #include #include #include namespace boost { namespace fusion { namespace traits { template struct deduce_sequence; namespace detail { struct deducer { template struct result; template struct result< Self(T) > : fusion::traits::deduce { }; // never called, but needed for decltype-based result_of (C++0x) #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES template BOOST_FUSION_GPU_ENABLED typename result< deducer(T) >::type operator()(T&&) const; #endif }; } template struct deduce_sequence : result_of::as_vector< fusion::transform_view > { }; }}} #endif KWStyle-master/Utilities/boost/fusion/support/detail/000077500000000000000000000000001265471724600233115ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/support/detail/access.hpp000066400000000000000000000026551265471724600252730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ACCESS_04182005_0737) #define FUSION_ACCESS_04182005_0737 #include #include #include namespace boost { namespace fusion { namespace detail { template struct ref_result { typedef typename add_reference::type type; }; template struct cref_result { typedef typename add_reference< typename add_const::type >::type type; }; template struct call_param { typedef T const& type; }; template struct call_param { typedef T& type; }; template struct call_param { typedef T const& type; }; template struct call_param { typedef T const& type; }; template struct call_param { typedef T const& type; }; }}} #endif KWStyle-master/Utilities/boost/fusion/support/detail/as_fusion_element.hpp000066400000000000000000000027061265471724600275260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_AS_FUSION_ELEMENT_05052005_0338) #define FUSION_AS_FUSION_ELEMENT_05052005_0338 #include #include #ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL #include #endif namespace boost { namespace fusion { namespace detail { template struct as_fusion_element { typedef T type; }; template struct as_fusion_element > { typedef T& type; }; #ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL template struct as_fusion_element > { typedef T& type; }; #endif template struct as_fusion_element { typedef const T(&type)[N]; }; template struct as_fusion_element { typedef const volatile T(&type)[N]; }; template struct as_fusion_element { typedef const volatile T(&type)[N]; }; }}} #endif KWStyle-master/Utilities/boost/fusion/support/detail/category_of.hpp000066400000000000000000000011661265471724600263270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_CATEGORY_OF_07212005_1025) #define FUSION_CATEGORY_OF_07212005_1025 namespace boost { namespace fusion { namespace detail { template struct fusion_category_of { typedef typename T::category type; }; }}} #endif KWStyle-master/Utilities/boost/fusion/support/detail/enabler.hpp000066400000000000000000000011751265471724600254360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2015 Kohei Takahashi Use modification and distribution are subject to the 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 FUSION_DETAIL_ENABLER_02082015_163810 #define FUSION_DETAIL_ENABLER_02082015_163810 namespace boost { namespace fusion { namespace detail { template struct enabler { typedef T type; }; }}} #endif KWStyle-master/Utilities/boost/fusion/support/detail/is_mpl_sequence.hpp000066400000000000000000000017571265471724600272070ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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(FUSION_DETAIL_IS_MPL_SEQUENCE_29122006_1105) #define FUSION_DETAIL_IS_MPL_SEQUENCE_29122006_1105 #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { template struct is_mpl_sequence : mpl::and_< mpl::not_ > , mpl::is_sequence > {}; }}} #endif KWStyle-master/Utilities/boost/fusion/support/detail/is_view.hpp000066400000000000000000000011511265471724600254650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_IS_VIEW_03202006_0018) #define FUSION_IS_VIEW_03202006_0018 namespace boost { namespace fusion { namespace detail { template struct fusion_is_view { typedef typename T::is_view type; }; }}} #endif KWStyle-master/Utilities/boost/fusion/support/detail/mpl_iterator_category.hpp000066400000000000000000000033321265471724600304210ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_MPL_ITERATOR_CATEGORY_07212005_0923) #define FUSION_MPL_ITERATOR_CATEGORY_07212005_0923 namespace boost { namespace mpl { struct forward_iterator_tag; struct bidirectional_iterator_tag; struct random_access_iterator_tag; }} namespace boost { namespace fusion { struct forward_traversal_tag; struct bidirectional_traversal_tag; struct random_access_traversal_tag; }} namespace boost { namespace fusion { namespace detail { template struct mpl_iterator_category; template <> struct mpl_iterator_category { typedef forward_traversal_tag type; }; template <> struct mpl_iterator_category { typedef bidirectional_traversal_tag type; }; template <> struct mpl_iterator_category { typedef random_access_traversal_tag type; }; template <> struct mpl_iterator_category { typedef forward_traversal_tag type; }; template <> struct mpl_iterator_category { typedef bidirectional_traversal_tag type; }; template <> struct mpl_iterator_category { typedef random_access_traversal_tag type; }; }}} #endif KWStyle-master/Utilities/boost/fusion/support/detail/pp_round.hpp000066400000000000000000000057511265471724600256600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 Thomas Heller Distributed under the 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_BOOST_FUSION_SUPPORT_PP_ROUND_HPP #define BOOST_BOOST_FUSION_SUPPORT_PP_ROUND_HPP #include #include #include #include #define BOOST_FUSION_PP_ROUND_UP(N) \ BOOST_PP_CAT(BOOST_FUSION_PP_DO_ROUND_UP_, N)() \ /**/ #define BOOST_FUSION_PP_DO_ROUND_UP_0() 10 #define BOOST_FUSION_PP_DO_ROUND_UP_1() 10 #define BOOST_FUSION_PP_DO_ROUND_UP_2() 10 #define BOOST_FUSION_PP_DO_ROUND_UP_3() 10 #define BOOST_FUSION_PP_DO_ROUND_UP_4() 10 #define BOOST_FUSION_PP_DO_ROUND_UP_5() 10 #define BOOST_FUSION_PP_DO_ROUND_UP_6() 10 #define BOOST_FUSION_PP_DO_ROUND_UP_7() 10 #define BOOST_FUSION_PP_DO_ROUND_UP_8() 10 #define BOOST_FUSION_PP_DO_ROUND_UP_9() 10 #define BOOST_FUSION_PP_DO_ROUND_UP_10() 10 #define BOOST_FUSION_PP_DO_ROUND_UP_11() 20 #define BOOST_FUSION_PP_DO_ROUND_UP_12() 20 #define BOOST_FUSION_PP_DO_ROUND_UP_13() 20 #define BOOST_FUSION_PP_DO_ROUND_UP_14() 20 #define BOOST_FUSION_PP_DO_ROUND_UP_15() 20 #define BOOST_FUSION_PP_DO_ROUND_UP_16() 20 #define BOOST_FUSION_PP_DO_ROUND_UP_17() 20 #define BOOST_FUSION_PP_DO_ROUND_UP_18() 20 #define BOOST_FUSION_PP_DO_ROUND_UP_19() 20 #define BOOST_FUSION_PP_DO_ROUND_UP_20() 20 #define BOOST_FUSION_PP_DO_ROUND_UP_21() 30 #define BOOST_FUSION_PP_DO_ROUND_UP_22() 30 #define BOOST_FUSION_PP_DO_ROUND_UP_23() 30 #define BOOST_FUSION_PP_DO_ROUND_UP_24() 30 #define BOOST_FUSION_PP_DO_ROUND_UP_25() 30 #define BOOST_FUSION_PP_DO_ROUND_UP_26() 30 #define BOOST_FUSION_PP_DO_ROUND_UP_27() 30 #define BOOST_FUSION_PP_DO_ROUND_UP_28() 30 #define BOOST_FUSION_PP_DO_ROUND_UP_29() 30 #define BOOST_FUSION_PP_DO_ROUND_UP_30() 30 #define BOOST_FUSION_PP_DO_ROUND_UP_31() 40 #define BOOST_FUSION_PP_DO_ROUND_UP_32() 40 #define BOOST_FUSION_PP_DO_ROUND_UP_33() 40 #define BOOST_FUSION_PP_DO_ROUND_UP_34() 40 #define BOOST_FUSION_PP_DO_ROUND_UP_35() 40 #define BOOST_FUSION_PP_DO_ROUND_UP_36() 40 #define BOOST_FUSION_PP_DO_ROUND_UP_37() 40 #define BOOST_FUSION_PP_DO_ROUND_UP_38() 40 #define BOOST_FUSION_PP_DO_ROUND_UP_39() 40 #define BOOST_FUSION_PP_DO_ROUND_UP_40() 40 #define BOOST_FUSION_PP_DO_ROUND_UP_41() 50 #define BOOST_FUSION_PP_DO_ROUND_UP_42() 50 #define BOOST_FUSION_PP_DO_ROUND_UP_43() 50 #define BOOST_FUSION_PP_DO_ROUND_UP_44() 50 #define BOOST_FUSION_PP_DO_ROUND_UP_45() 50 #define BOOST_FUSION_PP_DO_ROUND_UP_46() 50 #define BOOST_FUSION_PP_DO_ROUND_UP_47() 50 #define BOOST_FUSION_PP_DO_ROUND_UP_48() 50 #define BOOST_FUSION_PP_DO_ROUND_UP_49() 50 #define BOOST_FUSION_PP_DO_ROUND_UP_50() 50 #endif KWStyle-master/Utilities/boost/fusion/support/detail/result_of.hpp000066400000000000000000000036471265471724600260360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2014 Joel de Guzman Distributed under the 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(FUSION_RESULT_OF_10272014_0654) #define FUSION_RESULT_OF_10272014_0654 #include #include #if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) #define BOOST_FUSION_NO_DECLTYPE_BASED_RESULT_OF #endif #if !defined(BOOST_FUSION_NO_DECLTYPE_BASED_RESULT_OF) #include #include #include #endif #if defined(__clang__) #pragma clang diagnostic ignored "-Wdisabled-macro-expansion" #endif namespace boost { namespace fusion { namespace detail { // This is a temporary workaround for result_of before we make fusion fully // sfinae result_of friendy, which will require some heavy lifting for some // low level code. So far this is used only in the fold algorithm. This will // be removed once we overhaul fold. #if defined(BOOST_FUSION_NO_DECLTYPE_BASED_RESULT_OF) template struct result_of_with_decltype : boost::tr1_result_of {}; #else // defined(BOOST_FUSION_NO_DECLTYPE_BASED_RESULT_OF) BOOST_MPL_HAS_XXX_TRAIT_DEF(result_type) BOOST_MPL_HAS_XXX_TEMPLATE_DEF(result) template struct result_of_with_decltype; template struct result_of_with_decltype : mpl::if_, detail::has_result >, boost::tr1_result_of, boost::detail::cpp0x_result_of >::type {}; #endif // defined(BOOST_FUSION_NO_DECLTYPE_BASED_RESULT_OF) }}} #endif KWStyle-master/Utilities/boost/fusion/support/detail/segmented_fold_until_impl.hpp000066400000000000000000000326161265471724600312450ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTED_FOLD_UNTIL_IMPL_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_FOLD_UNTIL_IMPL_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // fun(seq, state, context) // seq: a non-segmented range // state: the state of the fold so far // context: the path to the current range // // returns: (state', fcontinue) namespace boost { namespace fusion { template struct iterator_range; template struct segmented_iterator; namespace result_of { template struct make_segmented_iterator { typedef iterator_range< Cur , typename result_of::end< typename remove_reference< typename add_const< typename result_of::deref< typename Context::car_type::begin_type >::type >::type >::type >::type > range_type; typedef segmented_iterator > type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::make_segmented_iterator::type make_segmented_iterator(Cur const& cur, Context const& context) { typedef result_of::make_segmented_iterator impl_type; typedef typename impl_type::type type; typedef typename impl_type::range_type range_type; return type(cons(range_type(cur, fusion::end(*context.car.first)), context)); } namespace detail { template < typename Begin , typename End , typename State , typename Context , typename Fun , bool IsEmpty > struct segmented_fold_until_iterate_skip_empty; template < typename Begin , typename End , typename State , typename Context , typename Fun , bool IsDone = result_of::equal_to::type::value > struct segmented_fold_until_iterate; template < typename Sequence , typename State , typename Context , typename Fun , bool IsSegmented = traits::is_segmented::type::value > struct segmented_fold_until_impl; template struct segmented_fold_until_on_segments; //auto push_context(cur, end, context) //{ // return push_back(context, segment_sequence(iterator_range(cur, end))); //} template struct push_context { typedef iterator_range range_type; typedef cons type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Cur const& cur, End const& end, Context const& context) { return cons(range_type(cur, end), context); } }; //auto make_segmented_iterator(cur, end, context) //{ // return segmented_iterator(push_context(cur, end, context)); //} // //auto segmented_fold_until_impl(seq, state, context, fun) //{ // if (is_segmented(seq)) // { // segmented_fold_until_on_segments(segments(seq), state, context, fun); // } // else // { // return fun(seq, state, context); // } //} template < typename Sequence , typename State , typename Context , typename Fun , bool IsSegmented > struct segmented_fold_until_impl { typedef segmented_fold_until_on_segments< typename remove_reference< typename add_const< typename result_of::segments::type >::type >::type , State , Context , Fun > impl; typedef typename impl::type type; typedef typename impl::continue_type continue_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const& state, Context const& context, Fun const& fun) { return impl::call(fusion::segments(seq), state, context, fun); } }; template < typename Sequence , typename State , typename Context , typename Fun > struct segmented_fold_until_impl { typedef typename Fun::template apply apply_type; typedef typename apply_type::type type; typedef typename apply_type::continue_type continue_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const& state, Context const& context, Fun const& fun) { return apply_type::call(seq, state, context, fun); } }; //auto segmented_fold_until_on_segments(segs, state, context, fun) //{ // auto cur = begin(segs), end = end(segs); // for (; cur != end; ++cur) // { // if (empty(*cur)) // continue; // auto context` = push_context(cur, end, context); // state = segmented_fold_until_impl(*cur, state, context`, fun); // if (!second(state)) // return state; // } //} template struct continue_wrap { typedef typename Apply::continue_type type; }; template struct segmented_fold_until_iterate_skip_empty { // begin != end and !empty(*begin) typedef push_context push_context_impl; typedef typename push_context_impl::type next_context_type; typedef segmented_fold_until_impl< typename remove_reference< typename add_const< typename result_of::deref::type >::type >::type , State , next_context_type , Fun > fold_recurse_impl; typedef typename fold_recurse_impl::type next_state_type; typedef segmented_fold_until_iterate< typename result_of::next::type , End , next_state_type , Context , Fun > next_iteration_impl; typedef typename mpl::eval_if< typename fold_recurse_impl::continue_type , next_iteration_impl , mpl::identity >::type type; typedef typename mpl::eval_if< typename fold_recurse_impl::continue_type , continue_wrap , mpl::identity >::type continue_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Begin const& beg, End const& end, State const& state , Context const& context, Fun const& fun) { return call(beg, end, state, context, fun, typename fold_recurse_impl::continue_type()); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Begin const& beg, End const& end, State const& state , Context const& context, Fun const& fun, mpl::true_) // continue { return next_iteration_impl::call( fusion::next(beg) , end , fold_recurse_impl::call( *beg , state , push_context_impl::call(beg, end, context) , fun) , context , fun); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Begin const& beg, End const& end, State const& state , Context const& context, Fun const& fun, mpl::false_) // break { return fold_recurse_impl::call( *beg , state , push_context_impl::call(beg, end, context) , fun); } }; template struct segmented_fold_until_iterate_skip_empty { typedef segmented_fold_until_iterate< typename result_of::next::type , End , State , Context , Fun > impl; typedef typename impl::type type; typedef typename impl::continue_type continue_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Begin const& beg, End const& end, State const& state , Context const& context, Fun const& fun) { return impl::call(fusion::next(beg), end, state, context, fun); } }; template struct segmented_fold_until_iterate { typedef typename result_of::empty< typename remove_reference< typename result_of::deref::type >::type >::type empty_type; typedef segmented_fold_until_iterate_skip_empty impl; typedef typename impl::type type; typedef typename impl::continue_type continue_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Begin const& beg, End const& end, State const& state , Context const& context, Fun const& fun) { return impl::call(beg, end, state, context, fun); } }; template struct segmented_fold_until_iterate { typedef State type; typedef mpl::true_ continue_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Begin const&, End const&, State const& state , Context const&, Fun const&) { return state; } }; template struct segmented_fold_until_on_segments { typedef segmented_fold_until_iterate< typename result_of::begin::type , typename result_of::end::type , State , Context , Fun > impl; typedef typename impl::type type; typedef typename impl::continue_type continue_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Segments& segs, State const& state, Context const& context, Fun const& fun) { return impl::call(fusion::begin(segs), fusion::end(segs), state, context, fun); } }; } }} #endif KWStyle-master/Utilities/boost/fusion/support/detail/unknown_key.hpp000066400000000000000000000010721265471724600263710ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_UNKNOWN_KEY_09242005_1219) #define FUSION_UNKNOWN_KEY_09242005_1219 namespace boost { namespace fusion { namespace detail { template struct unknown_key {}; }}} #endif KWStyle-master/Utilities/boost/fusion/support/is_iterator.hpp000066400000000000000000000013001265471724600250760ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_IS_ITERATOR_05062005_1219) #define FUSION_IS_ITERATOR_05062005_1219 #include #include namespace boost { namespace fusion { struct iterator_root; template struct is_fusion_iterator : is_base_of {}; }} #endif KWStyle-master/Utilities/boost/fusion/support/is_segmented.hpp000066400000000000000000000027401265471724600252310ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2006 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) ==============================================================================*/ #if !defined(FUSION_IS_SEGMENTED_03202006_0015) #define FUSION_IS_SEGMENTED_03202006_0015 #include #include #include namespace boost { namespace fusion { // Special tags: struct sequence_facade_tag; struct iterator_range_tag; namespace extension { template struct is_segmented_impl { template struct apply : mpl::false_ {}; }; template <> struct is_segmented_impl { template struct apply : Sequence::is_segmented {}; }; template <> struct is_segmented_impl; } namespace traits { template struct is_segmented : mpl::bool_< (bool)extension::is_segmented_impl::type>:: template apply::type::value > { }; } }} #endif KWStyle-master/Utilities/boost/fusion/support/is_sequence.hpp000066400000000000000000000044001265471724600250610ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_IS_SEQUENCE_05052005_1002) #define FUSION_IS_SEQUENCE_05052005_1002 #include #include #include #include #include #include #include #include namespace boost { namespace fusion { // Special tags: struct non_fusion_tag; struct boost_tuple_tag; // boost::tuples::tuple tag struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag namespace extension { template struct is_sequence_impl { template struct apply : is_convertible {}; }; template <> struct is_sequence_impl { template struct apply : mpl::false_ {}; }; template <> struct is_sequence_impl; template <> struct is_sequence_impl; template <> struct is_sequence_impl; template <> struct is_sequence_impl; } namespace traits { template struct is_sequence : mpl::bool_< (bool)extension::is_sequence_impl< typename fusion::detail::tag_of::type >::template apply::type::value > {}; template struct is_native_fusion_sequence : is_convertible {}; } }} #endif KWStyle-master/Utilities/boost/fusion/support/is_view.hpp000066400000000000000000000035151265471724600242310ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_IS_VIEW_03202006_0015) #define FUSION_IS_VIEW_03202006_0015 #include #include #include #include namespace boost { namespace fusion { // Special tags: struct sequence_facade_tag; struct boost_tuple_tag; // boost::tuples::tuple tag struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag namespace extension { template struct is_view_impl { template struct apply : detail::fusion_is_view {}; }; template <> struct is_view_impl { template struct apply : Sequence::is_view {}; }; template <> struct is_view_impl; template <> struct is_view_impl; template <> struct is_view_impl; template <> struct is_view_impl; } namespace traits { template struct is_view : mpl::bool_< (bool)extension::is_view_impl::type>:: template apply::type::value > {}; } }} #endif KWStyle-master/Utilities/boost/fusion/support/iterator_base.hpp000066400000000000000000000020311265471724600253770ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ITERATOR_BASE_05042005_1008) #define FUSION_ITERATOR_BASE_05042005_1008 #include #include namespace boost { namespace fusion { struct iterator_root {}; template struct iterator_base : iterator_root { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED Iterator const& cast() const BOOST_NOEXCEPT { return static_cast(*this); } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED Iterator& cast() BOOST_NOEXCEPT { return static_cast(*this); } }; }} #endif KWStyle-master/Utilities/boost/fusion/support/pair.hpp000066400000000000000000000116211265471724600235140ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Tobias Schwinger Distributed under the 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(FUSION_PAIR_07222005_1203) #define FUSION_PAIR_07222005_1203 #include #include #include #include #include #include #include #include #if defined (BOOST_MSVC) # pragma warning(push) # pragma warning (disable: 4512) // assignment operator could not be generated. #endif namespace boost { namespace fusion { // A half runtime pair where the first type does not have data template struct pair { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair() : second() {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair(pair const& rhs) : second(rhs.second) {} #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair(pair&& rhs) : second(BOOST_FUSION_FWD_ELEM(Second, rhs.second)) {} #endif BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair(typename detail::call_param::type val) : second(val) {} #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair(Second2&& val , typename boost::disable_if >::type* /* dummy */ = 0 , typename boost::enable_if >::type* /*dummy*/ = 0 ) : second(BOOST_FUSION_FWD_ELEM(Second, val)) {} #endif template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair(pair const& rhs) : second(rhs.second) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair& operator=(pair const& rhs) { second = rhs.second; return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair& operator=(pair const& rhs) { second = rhs.second; return *this; } #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair& operator=(pair&& rhs) { second = BOOST_FUSION_FWD_ELEM(Second, rhs.second); return *this; } #endif typedef First first_type; typedef Second second_type; Second second; }; namespace result_of { template struct make_pair { typedef fusion::pair::type> type; }; template struct first { typedef typename Pair::first_type type; }; template struct second { typedef typename Pair::second_type type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::make_pair::type make_pair(Second const& val) { return pair::type>(val); } template inline std::ostream& operator<<(std::ostream& os, pair const& p) { os << p.second; return os; } template inline std::istream& operator>>(std::istream& is, pair& p) { is >> p.second; return is; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool operator==(pair const& l, pair const& r) { return l.second == r.second; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool operator!=(pair const& l, pair const& r) { return l.second != r.second; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool operator<(pair const& l, pair const& r) { return l.second < r.second; } }} #if defined (BOOST_MSVC) # pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/fusion/support/segmented_fold_until.hpp000066400000000000000000000050071265471724600267540ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTED_FOLD_UNTIL_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_FOLD_UNTIL_HPP_INCLUDED #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { //auto segmented_fold_until(seq, state, fun) //{ // return first(segmented_fold_until_impl(seq, state, nil_, fun)); //} namespace result_of { template struct segmented_fold_until { typedef detail::segmented_fold_until_impl< Sequence , State , fusion::nil_ , Fun > filter; typedef typename filter::type type; }; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const , result_of::segmented_fold_until >::type segmented_fold_until(Sequence& seq, State const& state, Fun const& fun) { typedef typename result_of::segmented_fold_until::filter filter; return filter::call(seq, state, fusion::nil_(), fun); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::segmented_fold_until::type segmented_fold_until(Sequence const& seq, State const& state, Fun const& fun) { typedef typename result_of::segmented_fold_until::filter filter; return filter::call(seq, state, fusion::nil_(), fun); } }} #endif KWStyle-master/Utilities/boost/fusion/support/sequence_base.hpp000066400000000000000000000033621265471724600253660ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2007 Tobias Schwinger Distributed under the 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(FUSION_SEQUENCE_BASE_04182005_0737) #define FUSION_SEQUENCE_BASE_04182005_0737 #include #include #include namespace boost { namespace fusion { namespace detail { struct from_sequence_convertible_type {}; } template struct sequence_base { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED Sequence const& derived() const BOOST_NOEXCEPT { return static_cast(*this); } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED Sequence& derived() BOOST_NOEXCEPT { return static_cast(*this); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED operator detail::from_sequence_convertible_type() const BOOST_NOEXCEPT { return detail::from_sequence_convertible_type(); } }; struct fusion_sequence_tag; }} namespace boost { namespace mpl { // Deliberately break mpl::begin, so it doesn't lie that a Fusion sequence // is not an MPL sequence by returning mpl::void_. // In other words: Fusion Sequences are always MPL Sequences, but they can // be incompletely defined. template<> struct begin_impl< boost::fusion::fusion_sequence_tag >; }} #endif KWStyle-master/Utilities/boost/fusion/support/tag_of.hpp000066400000000000000000000043671265471724600240310ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_TAG_OF_09232005_0845) #define FUSION_TAG_OF_09232005_0845 #include #include #include #include #include #include #include #include #include #include #include namespace boost { template class array; // forward namespace tuples { struct null_type; template < class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9 > class tuple; template struct cons; } } namespace boost { namespace fusion { struct non_fusion_tag; struct mpl_sequence_tag; namespace detail { BOOST_MPL_HAS_XXX_TRAIT_DEF(fusion_tag) template struct tag_of_impl : mpl::if_, mpl::identity, mpl::identity >::type {}; template struct tag_of_impl< Sequence , typename boost::enable_if >::type> { typedef typename Sequence::fusion_tag type; }; } namespace traits { template struct tag_of : boost::fusion::detail::tag_of_impl {}; } namespace detail { template struct tag_of : traits::tag_of::type> {}; } }} #endif KWStyle-master/Utilities/boost/fusion/support/tag_of_fwd.hpp000066400000000000000000000012201265471724600246520ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_TAG_OF_FWD_31122005_1445) #define BOOST_FUSION_TAG_OF_FWD_31122005_1445 namespace boost { namespace fusion { namespace traits { template struct tag_of; } }} #endif KWStyle-master/Utilities/boost/fusion/support/unused.hpp000066400000000000000000000045661265471724600240760ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_SUPPORT_UNUSED_20070305_1038) #define BOOST_FUSION_SUPPORT_UNUSED_20070305_1038 #include #include #include #if defined(BOOST_MSVC) # pragma warning(push) # pragma warning(disable: 4522) // multiple assignment operators specified warning #endif #define BOOST_FUSION_UNUSED_HAS_IO namespace boost { namespace fusion { struct unused_type { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type() BOOST_NOEXCEPT { } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type(T const&) BOOST_NOEXCEPT { } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type const& operator=(T const&) const BOOST_NOEXCEPT { return *this; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type& operator=(T const&) BOOST_NOEXCEPT { return *this; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type const& operator=(unused_type const&) const BOOST_NOEXCEPT { return *this; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type& operator=(unused_type const&) BOOST_NOEXCEPT { return *this; } }; BOOST_CONSTEXPR unused_type const unused = unused_type(); namespace detail { struct unused_only { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_only(unused_type const&) BOOST_NOEXCEPT {} }; } BOOST_CONSTEXPR inline std::ostream& operator<<(std::ostream& out, detail::unused_only const&) BOOST_NOEXCEPT { return out; } BOOST_CONSTEXPR inline std::istream& operator>>(std::istream& in, unused_type&) BOOST_NOEXCEPT { return in; } }} #if defined(BOOST_MSVC) # pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/fusion/support/void.hpp000066400000000000000000000010241265471724600235160ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_SUPPORT_VOID_20070706_2125) #define BOOST_FUSION_SUPPORT_VOID_20070706_2125 namespace boost { namespace fusion { struct void_ {}; }} #endif KWStyle-master/Utilities/boost/fusion/tuple.hpp000066400000000000000000000012431265471724600221750ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_TUPLE_10032005_0806) #define FUSION_TUPLE_10032005_0806 #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/tuple/000077500000000000000000000000001265471724600214645ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/tuple/detail/000077500000000000000000000000001265471724600227265ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/000077500000000000000000000000001265471724600254245ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/make_tuple.hpp000066400000000000000000000017521265471724600302700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_VECTOR_SIZE <= 10 #include #elif FUSION_MAX_VECTOR_SIZE <= 20 #include #elif FUSION_MAX_VECTOR_SIZE <= 30 #include #elif FUSION_MAX_VECTOR_SIZE <= 40 #include #elif FUSION_MAX_VECTOR_SIZE <= 50 #include #else #error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp000066400000000000000000000212601265471724600304250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template BOOST_FUSION_GPU_ENABLED inline tuple::type> make_tuple(T0 const& arg0) { return tuple::type>( arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1) { return tuple::type , typename detail::as_fusion_element::type>( arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp000066400000000000000000000741701265471724600304360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template BOOST_FUSION_GPU_ENABLED inline tuple::type> make_tuple(T0 const& arg0) { return tuple::type>( arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1) { return tuple::type , typename detail::as_fusion_element::type>( arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp000066400000000000000000002020501265471724600304250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template BOOST_FUSION_GPU_ENABLED inline tuple::type> make_tuple(T0 const& arg0) { return tuple::type>( arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1) { return tuple::type , typename detail::as_fusion_element::type>( arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp000066400000000000000000003427001265471724600304350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template BOOST_FUSION_GPU_ENABLED inline tuple::type> make_tuple(T0 const& arg0) { return tuple::type>( arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1) { return tuple::type , typename detail::as_fusion_element::type>( arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp000066400000000000000000005365001265471724600304410ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template BOOST_FUSION_GPU_ENABLED inline tuple::type> make_tuple(T0 const& arg0) { return tuple::type>( arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1) { return tuple::type , typename detail::as_fusion_element::type>( arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple.hpp000066400000000000000000000017221265471724600272700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_VECTOR_SIZE <= 10 #include #elif FUSION_MAX_VECTOR_SIZE <= 20 #include #elif FUSION_MAX_VECTOR_SIZE <= 30 #include #elif FUSION_MAX_VECTOR_SIZE <= 40 #include #elif FUSION_MAX_VECTOR_SIZE <= 50 #include #else #error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple10.hpp000066400000000000000000000242101265471724600274260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template struct tuple : vector { typedef vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> base_type; BOOST_FUSION_GPU_ENABLED tuple() : base_type() {} BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple(std::pair const& rhs) : base_type(rhs) {} BOOST_FUSION_GPU_ENABLED explicit tuple(typename detail::call_param::type arg0) : base_type(arg0) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : base_type(arg0 , arg1) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : base_type(arg0 , arg1 , arg2) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : base_type(arg0 , arg1 , arg2 , arg3) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } template BOOST_FUSION_GPU_ENABLED tuple& operator=(T const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } template BOOST_FUSION_GPU_ENABLED tuple& operator=(std::pair const& rhs) { base_type::operator=(rhs); return *this; } }; template struct tuple_size : result_of::size {}; template struct tuple_element : result_of::value_at_c {}; template BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const , result_of::at_c >::type get(Tuple& tup) { return at_c(tup); } template BOOST_FUSION_GPU_ENABLED inline typename result_of::at_c::type get(Tuple const& tup) { return at_c(tup); } }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp000066400000000000000000000013351265471724600302710ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ > struct tuple; }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple20.hpp000066400000000000000000000670441265471724600274430ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template struct tuple : vector { typedef vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> base_type; BOOST_FUSION_GPU_ENABLED tuple() : base_type() {} BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple(std::pair const& rhs) : base_type(rhs) {} BOOST_FUSION_GPU_ENABLED explicit tuple(typename detail::call_param::type arg0) : base_type(arg0) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : base_type(arg0 , arg1) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : base_type(arg0 , arg1 , arg2) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : base_type(arg0 , arg1 , arg2 , arg3) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } template BOOST_FUSION_GPU_ENABLED tuple& operator=(T const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } template BOOST_FUSION_GPU_ENABLED tuple& operator=(std::pair const& rhs) { base_type::operator=(rhs); return *this; } }; template struct tuple_size : result_of::size {}; template struct tuple_element : result_of::value_at_c {}; template BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const , result_of::at_c >::type get(Tuple& tup) { return at_c(tup); } template BOOST_FUSION_GPU_ENABLED inline typename result_of::at_c::type get(Tuple const& tup) { return at_c(tup); } }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp000066400000000000000000000017031265471724600302710ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ > struct tuple; }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple30.hpp000066400000000000000000001550101265471724600274330ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template struct tuple : vector { typedef vector< 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> base_type; BOOST_FUSION_GPU_ENABLED tuple() : base_type() {} BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple(std::pair const& rhs) : base_type(rhs) {} BOOST_FUSION_GPU_ENABLED explicit tuple(typename detail::call_param::type arg0) : base_type(arg0) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : base_type(arg0 , arg1) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : base_type(arg0 , arg1 , arg2) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : base_type(arg0 , arg1 , arg2 , arg3) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } template BOOST_FUSION_GPU_ENABLED tuple& operator=(T const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } template BOOST_FUSION_GPU_ENABLED tuple& operator=(std::pair const& rhs) { base_type::operator=(rhs); return *this; } }; template struct tuple_size : result_of::size {}; template struct tuple_element : result_of::value_at_c {}; template BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const , result_of::at_c >::type get(Tuple& tup) { return at_c(tup); } template BOOST_FUSION_GPU_ENABLED inline typename result_of::at_c::type get(Tuple const& tup) { return at_c(tup); } }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp000066400000000000000000000022511265471724600302710ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ > struct tuple; }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple40.hpp000066400000000000000000002660641265471724600274500ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template struct tuple : vector { typedef vector< 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> base_type; BOOST_FUSION_GPU_ENABLED tuple() : base_type() {} BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple(std::pair const& rhs) : base_type(rhs) {} BOOST_FUSION_GPU_ENABLED explicit tuple(typename detail::call_param::type arg0) : base_type(arg0) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : base_type(arg0 , arg1) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : base_type(arg0 , arg1 , arg2) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : base_type(arg0 , arg1 , arg2 , arg3) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } template BOOST_FUSION_GPU_ENABLED tuple& operator=(T const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } template BOOST_FUSION_GPU_ENABLED tuple& operator=(std::pair const& rhs) { base_type::operator=(rhs); return *this; } }; template struct tuple_size : result_of::size {}; template struct tuple_element : result_of::value_at_c {}; template BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const , result_of::at_c >::type get(Tuple& tup) { return at_c(tup); } template BOOST_FUSION_GPU_ENABLED inline typename result_of::at_c::type get(Tuple const& tup) { return at_c(tup); } }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp000066400000000000000000000026171265471724600303000ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ > struct tuple; }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple50.hpp000066400000000000000000004222501265471724600274400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template struct tuple : vector { typedef vector< 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> base_type; BOOST_FUSION_GPU_ENABLED tuple() : base_type() {} BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple(std::pair const& rhs) : base_type(rhs) {} BOOST_FUSION_GPU_ENABLED explicit tuple(typename detail::call_param::type arg0) : base_type(arg0) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) : base_type(arg0 , arg1) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) : base_type(arg0 , arg1 , arg2) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) : base_type(arg0 , arg1 , arg2 , arg3) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } template BOOST_FUSION_GPU_ENABLED tuple& operator=(T const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } template BOOST_FUSION_GPU_ENABLED tuple& operator=(std::pair const& rhs) { base_type::operator=(rhs); return *this; } }; template struct tuple_size : result_of::size {}; template struct tuple_element : result_of::value_at_c {}; template BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const , result_of::at_c >::type get(Tuple& tup) { return at_c(tup); } template BOOST_FUSION_GPU_ENABLED inline typename result_of::at_c::type get(Tuple const& tup) { return at_c(tup); } }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp000066400000000000000000000031651265471724600303000ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct void_; template < typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ > struct tuple; }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple_fwd.hpp000066400000000000000000000017451265471724600301350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_VECTOR_SIZE <= 10 #include #elif FUSION_MAX_VECTOR_SIZE <= 20 #include #elif FUSION_MAX_VECTOR_SIZE <= 30 #include #elif FUSION_MAX_VECTOR_SIZE <= 40 #include #elif FUSION_MAX_VECTOR_SIZE <= 50 #include #else #error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple_tie.hpp000066400000000000000000000017451265471724600301360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_VECTOR_SIZE <= 10 #include #elif FUSION_MAX_VECTOR_SIZE <= 20 #include #elif FUSION_MAX_VECTOR_SIZE <= 30 #include #elif FUSION_MAX_VECTOR_SIZE <= 40 #include #elif FUSION_MAX_VECTOR_SIZE <= 50 #include #else #error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" #endif KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp000066400000000000000000000076711265471724600303030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0) { return tuple( arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1) { return tuple( arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return tuple( arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return tuple( arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp000066400000000000000000000302161265471724600302730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0) { return tuple( arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1) { return tuple( arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return tuple( arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return tuple( arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp000066400000000000000000000625171265471724600303050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0) { return tuple( arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1) { return tuple( arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return tuple( arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return tuple( arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp000066400000000000000000001267741265471724600303140ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0) { return tuple( arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1) { return tuple( arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return tuple( arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return tuple( arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} KWStyle-master/Utilities/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp000066400000000000000000002052251265471724600303020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0) { return tuple( arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1) { return tuple( arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return tuple( arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return tuple( arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } template BOOST_FUSION_GPU_ENABLED inline tuple tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48 , T49 & arg49) { return tuple( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} KWStyle-master/Utilities/boost/fusion/tuple/detail/tuple_expand.hpp000066400000000000000000000033211265471724600261260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_TUPLE_EXPAND_10032005_0815) #define FUSION_TUPLE_EXPAND_10032005_0815 #include #include #include #define BOOST_PP_FILENAME_1 \ #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) #include BOOST_PP_ITERATE() #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() BOOST_FUSION_GPU_ENABLED #if N == 1 explicit #endif tuple(BOOST_PP_ENUM_BINARY_PARAMS( N, typename detail::call_param::type arg)) : base_type(BOOST_PP_ENUM_PARAMS(N, arg)) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/tuple/make_tuple.hpp000066400000000000000000000056251265471724600243330ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_MAKE_TUPLE_10032005_0843) #define FUSION_MAKE_TUPLE_10032005_0843 #include #include #include #include #include namespace boost { namespace fusion { BOOST_FUSION_GPU_ENABLED inline tuple<> make_tuple() { return tuple<>(); } }} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_tuple" FUSION_MAX_VECTOR_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { #define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ typename detail::as_fusion_element::type #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) #include BOOST_PP_ITERATE() #undef BOOST_FUSION_AS_FUSION_ELEMENT }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() template BOOST_FUSION_GPU_ENABLED inline tuple make_tuple(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) { return tuple( BOOST_PP_ENUM_PARAMS(N, arg)); } #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/tuple/tuple.hpp000066400000000000000000000074031265471724600233320ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_TUPLE_10032005_0810) #define FUSION_TUPLE_10032005_0810 #include #include #include #include #include #include #include #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/tuple" FUSION_MAX_VECTOR_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { template struct tuple : vector { typedef vector< BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)> base_type; BOOST_FUSION_GPU_ENABLED tuple() : base_type() {} BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) : base_type(rhs) {} template BOOST_FUSION_GPU_ENABLED tuple(std::pair const& rhs) : base_type(rhs) {} #include template BOOST_FUSION_GPU_ENABLED tuple& operator=(T const& rhs) { base_type::operator=(rhs); return *this; } BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { base_type::operator=(rhs); return *this; } template BOOST_FUSION_GPU_ENABLED tuple& operator=(std::pair const& rhs) { base_type::operator=(rhs); return *this; } }; template struct tuple_size : result_of::size {}; template struct tuple_element : result_of::value_at_c {}; template BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const , result_of::at_c >::type get(Tuple& tup) { return at_c(tup); } template BOOST_FUSION_GPU_ENABLED inline typename result_of::at_c::type get(Tuple const& tup) { return at_c(tup); } }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/tuple/tuple_fwd.hpp000066400000000000000000000034631265471724600241740ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_TUPLE_FORWARD_10032005_0956) #define FUSION_TUPLE_FORWARD_10032005_0956 #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/tuple" FUSION_MAX_VECTOR_SIZE_STR "_fwd.hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { struct void_; template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( FUSION_MAX_VECTOR_SIZE, typename T, void_) > struct tuple; }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif KWStyle-master/Utilities/boost/fusion/tuple/tuple_tie.hpp000066400000000000000000000051341265471724600241720ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_PP_IS_ITERATING #if !defined(FUSION_TUPLE_TIE_10032005_0846) #define FUSION_TUPLE_TIE_10032005_0846 #include #include #include #include #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/tuple_tie" FUSION_MAX_VECTOR_SIZE_STR ".hpp") #endif /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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 is an auto-generated file. Do not edit! ==============================================================================*/ #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace fusion { #define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) #include BOOST_PP_ITERATE() #undef BOOST_FUSION_REF }} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// // // Preprocessor vertical repetition code // /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() template BOOST_FUSION_GPU_ENABLED inline tuple tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & arg)) { return tuple( BOOST_PP_ENUM_PARAMS(N, arg)); } #undef N #endif // defined(BOOST_PP_IS_ITERATING) KWStyle-master/Utilities/boost/fusion/view.hpp000066400000000000000000000016141265471724600220200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_VIEW_10022005_0620) #define FUSION_SEQUENCE_VIEW_10022005_0620 #include #include #include #include #include #include #include #include #include #include #endif KWStyle-master/Utilities/boost/fusion/view/000077500000000000000000000000001265471724600213055ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/detail/000077500000000000000000000000001265471724600225475ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/detail/strictest_traversal.hpp000066400000000000000000000051411265471724600273700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_STRICTEST_TRAVERSAL_20060123_2101) #define FUSION_STRICTEST_TRAVERSAL_20060123_2101 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct forward_traversal_tag; struct bidirectional_traversal_tag; struct random_access_traversal_tag; namespace detail { template::value> struct stricter_traversal { typedef Tag1 type; }; template struct stricter_traversal { typedef Tag2 type; }; struct strictest_traversal_impl { template struct result; template struct result { typedef typename remove_reference::type next_value; typedef typename remove_reference::type strictest_so_far; typedef strictest_so_far tag1; typedef typename traits::category_of::type tag2; typedef typename stricter_traversal::type type; }; // never called, but needed for decltype-based result_of (C++0x) #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(StrictestSoFar&&, Next&&) const; #endif }; template struct strictest_traversal : result_of::fold< Sequence, fusion::random_access_traversal_tag, strictest_traversal_impl> {}; } }} #endif KWStyle-master/Utilities/boost/fusion/view/filter_view.hpp000066400000000000000000000012141265471724600243330ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_VIEW_FILTER_VIEW_10022005_0608) #define FUSION_SEQUENCE_VIEW_FILTER_VIEW_10022005_0608 #include #include #include #endif KWStyle-master/Utilities/boost/fusion/view/filter_view/000077500000000000000000000000001265471724600236245ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/filter_view/detail/000077500000000000000000000000001265471724600250665ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/filter_view/detail/begin_impl.hpp000066400000000000000000000026601265471724600277100ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_BEGIN_IMPL_05062005_0903) #define FUSION_BEGIN_IMPL_05062005_0903 namespace boost { namespace fusion { struct filter_view_tag; template struct filter_iterator; namespace extension { template struct begin_impl; template <> struct begin_impl { template struct apply { typedef typename Sequence::first_type first_type; typedef typename Sequence::last_type last_type; typedef typename Sequence::pred_type pred_type; typedef typename Sequence::category category; typedef filter_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { return type(s.first()); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/filter_view/detail/deref_data_impl.hpp000066400000000000000000000022211265471724600306730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_VIEW_FILTER_VIEW_DETAIL_DEREF_DATA_IMPL_HPP #define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_DEREF_DATA_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct deref_data_impl; template <> struct deref_data_impl { template struct apply { typedef typename result_of::deref_data::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return fusion::deref_data(it.first); } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/view/filter_view/detail/deref_impl.hpp000066400000000000000000000015301265471724600277040ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_DEREF_IMPL_05062005_0905) #define FUSION_DEREF_IMPL_05062005_0905 #include #include namespace boost { namespace fusion { struct filter_view_iterator_tag; namespace extension { template struct deref_impl; template <> struct deref_impl : detail::adapt_deref_traits {}; } }} #endif KWStyle-master/Utilities/boost/fusion/view/filter_view/detail/end_impl.hpp000066400000000000000000000025441265471724600273730ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_END_IMPL_05062005_0906) #define FUSION_END_IMPL_05062005_0906 namespace boost { namespace fusion { struct filter_view_tag; template struct filter_iterator; namespace extension { template struct end_impl; template <> struct end_impl { template struct apply { typedef typename Sequence::last_type last_type; typedef typename Sequence::pred_type pred_type; typedef typename Sequence::category category; typedef filter_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { return type(s.last()); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/filter_view/detail/equal_to_impl.hpp000066400000000000000000000020071265471724600304300ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_EQUAL_TO_IMPL_02012005_2133) #define BOOST_FUSION_EQUAL_TO_IMPL_02012005_2133 namespace boost { namespace fusion { struct filter_view_iterator_tag; namespace extension { template struct equal_to; template struct equal_to_impl; template<> struct equal_to_impl { template struct apply : result_of::equal_to {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/filter_view/detail/key_of_impl.hpp000066400000000000000000000015711265471724600301000ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_VIEW_FILTER_VIEW_DETAIL_KEY_OF_IMPL_HPP #define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_KEY_OF_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct key_of_impl; template <> struct key_of_impl { template struct apply : result_of::key_of {}; }; }}} #endif KWStyle-master/Utilities/boost/fusion/view/filter_view/detail/next_impl.hpp000066400000000000000000000050261265471724600276010ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_NEXT_IMPL_06052005_0900) #define FUSION_NEXT_IMPL_06052005_0900 #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct filter_view_iterator_tag; template struct filter_iterator; namespace extension { template struct next_impl; template <> struct next_impl { template struct apply { typedef typename Iterator::first_type first_type; typedef typename Iterator::last_type last_type; typedef typename Iterator::pred_type pred_type; typedef typename Iterator::category category; typedef typename mpl::eval_if< result_of::equal_to , mpl::identity , result_of::next >::type next_type; typedef typename detail::static_find_if< next_type , last_type , mpl::bind1< typename mpl::lambda::type , mpl::bind1,mpl::_1> > > filter; typedef filter_iterator< category, typename filter::type, last_type, pred_type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(filter::iter_call(i.first)); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/filter_view/detail/size_impl.hpp000066400000000000000000000021651265471724600275760ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SIZE_IMPL_09232005_1058) #define FUSION_SIZE_IMPL_09232005_1058 #include #include #include #include namespace boost { namespace fusion { struct filter_view_tag; namespace extension { template struct size_impl; template <> struct size_impl { template struct apply : result_of::distance< typename result_of::begin::type , typename result_of::end::type> {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp000066400000000000000000000016431265471724600314150ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_VIEW_FILTER_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP #define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct value_of_data_impl; template <> struct value_of_data_impl { template struct apply : result_of::value_of_data {}; }; }}} #endif KWStyle-master/Utilities/boost/fusion/view/filter_view/detail/value_of_impl.hpp000066400000000000000000000015441265471724600304240ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VALUE_OF_IMPL_05062005_0857) #define FUSION_VALUE_OF_IMPL_05062005_0857 #include #include namespace boost { namespace fusion { struct filter_view_iterator_tag; namespace extension { template struct value_of_impl; template <> struct value_of_impl : detail::adapt_value_traits {}; } }} #endif KWStyle-master/Utilities/boost/fusion/view/filter_view/filter_view.hpp000066400000000000000000000050001265471724600266470ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_FILTER_VIEW_HPP) #define FUSION_SEQUENCE_FILTER_VIEW_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct filter_view_tag; struct forward_traversal_tag; struct fusion_sequence_tag; template struct filter_view : sequence_base > { typedef filter_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef typename mpl::eval_if< traits::is_associative , mpl::inherit2 , mpl::identity >::type category; typedef mpl::true_ is_view; typedef typename result_of::begin::type first_type; typedef typename result_of::end::type last_type; typedef Pred pred_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED filter_view(Sequence& in_seq) : seq(in_seq) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED first_type first() const { return fusion::begin(seq); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED last_type last() const { return fusion::end(seq); } typename mpl::if_, Sequence, Sequence&>::type seq; private: // silence MSVC warning C4512: assignment operator could not be generated filter_view& operator= (filter_view const&); }; }} #endif KWStyle-master/Utilities/boost/fusion/view/filter_view/filter_view_iterator.hpp000066400000000000000000000057161265471724600305760ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_FILTER_VIEW_ITERATOR_05062005_0849) #define FUSION_FILTER_VIEW_ITERATOR_05062005_0849 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct filter_view_iterator_tag; struct forward_traversal_tag; template struct filter_iterator : iterator_base > { typedef convert_iterator first_converter; typedef typename first_converter::type first_iter; typedef convert_iterator last_converter; typedef typename last_converter::type last_iter; typedef filter_view_iterator_tag fusion_tag; typedef Category category; typedef detail::static_find_if< first_iter , last_iter , mpl::bind1< typename mpl::lambda::type , mpl::bind1,mpl::_1> > > filter; typedef typename filter::type first_type; typedef last_iter last_type; typedef Pred pred_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED filter_iterator(First const& in_first) : first(filter::iter_call(first_converter::call(in_first))) {} first_type first; private: // silence MSVC warning C4512: assignment operator could not be generated filter_iterator& operator= (filter_iterator const&); }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::filter_iterator > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/view/flatten_view.hpp000066400000000000000000000011301265471724600245000ustar00rootroot00000000000000/*////////////////////////////////////////////////////////////////////////////// Copyright (c) 2013 Jamboree Distributed under the 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_FUSION_SEQUENCE_FLATTEN_VIEW_HPP_INCLUDED #define BOOST_FUSION_SEQUENCE_FLATTEN_VIEW_HPP_INCLUDED #include #include #endif KWStyle-master/Utilities/boost/fusion/view/flatten_view/000077500000000000000000000000001265471724600237745ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/flatten_view/flatten_view.hpp000066400000000000000000000075151265471724600272040ustar00rootroot00000000000000/*////////////////////////////////////////////////////////////////////////////// Copyright (c) 2013 Jamboree Distributed under the 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_FUSION_FLATTEN_VIEW_HPP_INCLUDED #define BOOST_FUSION_FLATTEN_VIEW_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct forward_traversal_tag; struct flatten_view_tag; template struct flatten_view : sequence_base > { typedef flatten_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::true_ is_view; typedef forward_traversal_tag category; typedef Sequence sequence_type; typedef typename result_of::begin::type first_type; typedef typename result_of::end::type last_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit flatten_view(Sequence& seq) : seq(seq) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED first_type first() const { return fusion::begin(seq); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED last_type last() const { return fusion::end(seq); } typename mpl::if_, Sequence, Sequence&>::type seq; }; }} namespace boost { namespace fusion { namespace extension { template<> struct begin_impl { template struct apply { typedef typename Sequence::first_type first_type; typedef typename result_of::begin< mpl::single_view< typename Sequence::sequence_type> >::type root_iterator; typedef detail::seek_descent seek_descent; typedef typename seek_descent::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type call(Sequence& seq) { return seek_descent::apply(root_iterator(), seq.first()); } }; }; template<> struct end_impl { template struct apply { typedef typename Sequence::last_type last_type; typedef typename result_of::end< mpl::single_view< typename Sequence::sequence_type> >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type call(Sequence&) { return type(); } }; }; template<> struct size_impl { template struct apply : result_of::distance < typename result_of::begin::type , typename result_of::end::type > {}; }; template<> struct empty_impl { template struct apply : result_of::empty {}; }; }}} #endif KWStyle-master/Utilities/boost/fusion/view/flatten_view/flatten_view_iterator.hpp000066400000000000000000000147651265471724600311220ustar00rootroot00000000000000/*////////////////////////////////////////////////////////////////////////////// Copyright (c) 2013 Jamboree Distributed under the 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_FUSION_FLATTEN_VIEW_ITERATOR_HPP_INCLUDED #define BOOST_FUSION_FLATTEN_VIEW_ITERATOR_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct forward_traversal_tag; struct flatten_view_iterator_tag; template struct flatten_view_iterator : iterator_base > { typedef flatten_view_iterator_tag fusion_tag; typedef forward_traversal_tag category; typedef convert_iterator first_converter; typedef typename first_converter::type first_type; typedef Base base_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED flatten_view_iterator(First const& first, Base const& base) : first(first), base(base) {} first_type first; base_type base; }; }} namespace boost { namespace fusion { namespace detail { template struct make_descent_cons { typedef cons type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type apply(Iterator const& it) { return type(it); } }; template struct make_descent_cons::type> >::type> { // we use 'value_of' above for convenience, assuming the value won't be reference, // while we must use the regular 'deref' here for const issues... typedef typename remove_reference::type>::type sub_sequence; typedef typename result_of::begin::type sub_begin; typedef cons::type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type apply(Iterator const& it) { return type(it, make_descent_cons::apply( fusion::begin(*it))); } }; template struct build_flatten_view_iterator; template struct build_flatten_view_iterator, Base> { typedef flatten_view_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type apply(cons const& cons, Base const& base) { return type(cons.car, base); } }; template struct build_flatten_view_iterator, Base> { typedef flatten_view_iterator next_base; typedef build_flatten_view_iterator next; typedef typename next::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type apply(cons const& cons, Base const& base) { return next::apply(cons.cdr, next_base(cons.car, base)); } }; template struct seek_descent { typedef make_descent_cons make_descent_cons_; typedef typename make_descent_cons_::type cons_type; typedef build_flatten_view_iterator build_flatten_view_iterator_; typedef typename build_flatten_view_iterator_::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type apply(Base const& base, Iterator const& it) { return build_flatten_view_iterator_::apply( make_descent_cons_::apply(it), base); } }; template struct seek_descent::type>::type> >::type> { typedef typename result_of::next::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type apply(Base const& base, Iterator const&) { return fusion::next(base); } }; }}} namespace boost { namespace fusion { namespace extension { template<> struct next_impl { template struct apply { typedef typename Iterator::first_type first_type; typedef typename Iterator::base_type base_type; typedef typename result_of::next::type next_type; typedef detail::seek_descent seek_descent; typedef typename seek_descent::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type call(Iterator const& it) { return seek_descent::apply(it.base, fusion::next(it.first)); } }; }; template<> struct deref_impl { template struct apply { typedef typename result_of::deref::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type call(Iterator const& it) { return *it.first; } }; }; template<> struct value_of_impl { template struct apply { typedef typename result_of::value_of::type type; }; }; }}} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::flatten_view_iterator > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/view/iterator_range.hpp000066400000000000000000000011261265471724600250230ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_VIEW_ITERATOR_RANGE_10022005_0610) #define FUSION_SEQUENCE_VIEW_ITERATOR_RANGE_10022005_0610 #include #include #endif KWStyle-master/Utilities/boost/fusion/view/iterator_range/000077500000000000000000000000001265471724600243125ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/iterator_range/detail/000077500000000000000000000000001265471724600255545ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/iterator_range/detail/at_impl.hpp000066400000000000000000000025511265471724600277150ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Distributed under the 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_FUSION_ITERATOR_RANGE_AT_IMPL_HPP_INCLUDED) #define BOOST_FUSION_ITERATOR_RANGE_AT_IMPL_HPP_INCLUDED #include #include #include namespace boost { namespace fusion { struct iterator_range_tag; namespace extension { template struct at_impl; template <> struct at_impl { template struct apply { typedef typename Seq::begin_type begin_type; typedef typename result_of::advance::type pos; typedef typename result_of::deref::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& s) { return * fusion::advance(s.first); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/iterator_range/detail/begin_impl.hpp000066400000000000000000000021201265471724600303650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_BEGIN_IMPL_05062005_1226) #define FUSION_BEGIN_IMPL_05062005_1226 #include namespace boost { namespace fusion { struct iterator_range_tag; namespace extension { template struct begin_impl; template <> struct begin_impl { template struct apply { typedef typename Sequence::begin_type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { return s.first; } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/iterator_range/detail/end_impl.hpp000066400000000000000000000021051265471724600300520ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_END_IMPL_05062005_1226) #define FUSION_END_IMPL_05062005_1226 #include namespace boost { namespace fusion { struct iterator_range_tag; namespace extension { template struct end_impl; template <> struct end_impl { template struct apply { typedef typename Sequence::end_type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { return s.last; } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp000066400000000000000000000037521265471724600317630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_ITERATOR_RANGE_IS_SEGMENTED_HPP_INCLUDED) #define BOOST_FUSION_ITERATOR_RANGE_IS_SEGMENTED_HPP_INCLUDED #include #include #include namespace boost { namespace fusion { struct iterator_range_tag; template struct segmented_iterator; namespace extension { template struct is_segmented_impl; // An iterator_range of segmented_iterators is segmented template <> struct is_segmented_impl { private: template struct is_segmented_iterator : mpl::false_ {}; template struct is_segmented_iterator : is_segmented_iterator {}; template struct is_segmented_iterator : is_segmented_iterator {}; template struct is_segmented_iterator > : mpl::true_ {}; public: template struct apply : is_segmented_iterator { BOOST_MPL_ASSERT_RELATION( is_segmented_iterator::value , == , is_segmented_iterator::value); }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp000066400000000000000000000470361265471724600333370ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_RANGE_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_ITERATOR_RANGE_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // Invariants: // - Each segmented iterator has a stack // - Each value in the stack is an iterator range // - The range at the top of the stack points to values // - All other ranges point to ranges // - The front of each range in the stack (besides the // topmost) is the range above it namespace boost { namespace fusion { template struct iterator_range; namespace result_of { template struct push_back; template struct push_front; } template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence , result_of::push_back >::type push_back(Sequence const& seq, T const& x); template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence , result_of::push_front >::type push_front(Sequence const& seq, T const& x); }} namespace boost { namespace fusion { namespace detail { //auto make_segment_sequence_front(stack_begin) //{ // switch (size(stack_begin)) // { // case 1: // return nil_; // case 2: // // car(cdr(stack_begin)) is a range over values. // assert(end(front(car(stack_begin))) == end(car(cdr(stack_begin)))); // return iterator_range(begin(car(cdr(stack_begin))), end(front(car(stack_begin)))); // default: // // car(cdr(stack_begin)) is a range over segments. We replace the // // front with a view that is restricted. // assert(end(segments(front(car(stack_begin)))) == end(car(cdr(stack_begin)))); // return segment_sequence( // push_front( // // The following could be a segment_sequence. It then gets wrapped // // in a single_view, and push_front puts it in a join_view with the // // following iterator_range. // iterator_range(next(begin(car(cdr(stack_begin)))), end(segments(front(car(stack_begin))))), // make_segment_sequence_front(cdr(stack_begin)))); // } //} template struct make_segment_sequence_front { // assert(end(segments(front(car(stack_begin)))) == end(car(cdr(stack_begin)))); BOOST_MPL_ASSERT(( result_of::equal_to< typename result_of::end< typename remove_reference< typename add_const< typename result_of::segments< typename remove_reference< typename add_const< typename result_of::deref< typename Stack::car_type::begin_type >::type >::type >::type >::type >::type >::type >::type , typename Stack::cdr_type::car_type::end_type >)); typedef iterator_range< typename result_of::next< typename Stack::cdr_type::car_type::begin_type >::type , typename result_of::end< typename remove_reference< typename add_const< typename result_of::segments< typename remove_reference< typename add_const< typename result_of::deref< typename Stack::car_type::begin_type >::type >::type >::type >::type >::type >::type >::type > rest_type; typedef make_segment_sequence_front recurse; typedef segment_sequence< typename result_of::push_front< rest_type const , typename recurse::type >::type > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const& stack) { //return segment_sequence( // push_front( // iterator_range(next(begin(car(cdr(stack_begin)))), end(segments(front(car(stack_begin))))), // make_segment_sequence_front(cdr(stack_begin)))); return type( fusion::push_front( rest_type(fusion::next(stack.cdr.car.first), fusion::end(fusion::segments(*stack.car.first))) , recurse::call(stack.cdr))); } }; template struct make_segment_sequence_front { // assert(end(front(car(stack_begin))) == end(car(cdr(stack_begin)))); BOOST_MPL_ASSERT(( result_of::equal_to< typename result_of::end< typename remove_reference< typename add_const< typename result_of::deref< typename Stack::car_type::begin_type >::type >::type >::type >::type , typename Stack::cdr_type::car_type::end_type >)); typedef iterator_range< typename Stack::cdr_type::car_type::begin_type , typename result_of::end< typename remove_reference< typename add_const< typename result_of::deref< typename Stack::car_type::begin_type >::type >::type >::type >::type > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const& stack) { // return iterator_range(begin(car(cdr(stack_begin))), end(front(car(stack_begin)))); return type(stack.cdr.car.first, fusion::end(*stack.car.first)); } }; template struct make_segment_sequence_front { typedef typename Stack::cdr_type type; // nil_ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const &stack) { return stack.cdr; } }; //auto make_segment_sequence_back(stack_end) //{ // switch (size(stack_end)) // { // case 1: // return nil_; // case 2: // // car(cdr(stack_back)) is a range over values. // assert(end(front(car(stack_end))) == end(car(cdr(stack_end)))); // return iterator_range(begin(front(car(stack_end))), begin(car(cdr(stack_end)))); // default: // // car(cdr(stack_begin)) is a range over segments. We replace the // // back with a view that is restricted. // assert(end(segments(front(car(stack_end)))) == end(car(cdr(stack_end)))); // return segment_sequence( // push_back( // iterator_range(begin(segments(front(car(stack_end)))), begin(car(cdr(stack_end)))), // make_segment_sequence_back(cdr(stack_end)))); // } //} template struct make_segment_sequence_back { // assert(end(segments(front(car(stack_begin)))) == end(car(cdr(stack_begin)))); BOOST_MPL_ASSERT(( result_of::equal_to< typename result_of::end< typename remove_reference< typename add_const< typename result_of::segments< typename remove_reference< typename add_const< typename result_of::deref< typename Stack::car_type::begin_type >::type >::type >::type >::type >::type >::type >::type , typename Stack::cdr_type::car_type::end_type >)); typedef iterator_range< typename result_of::begin< typename remove_reference< typename add_const< typename result_of::segments< typename remove_reference< typename add_const< typename result_of::deref< typename Stack::car_type::begin_type >::type >::type >::type >::type >::type >::type >::type , typename Stack::cdr_type::car_type::begin_type > rest_type; typedef make_segment_sequence_back recurse; typedef segment_sequence< typename result_of::push_back< rest_type const , typename recurse::type >::type > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const& stack) { // return segment_sequence( // push_back( // iterator_range(begin(segments(front(car(stack_end)))), begin(car(cdr(stack_end)))), // make_segment_sequence_back(cdr(stack_end)))); return type( fusion::push_back( rest_type(fusion::begin(fusion::segments(*stack.car.first)), stack.cdr.car.first) , recurse::call(stack.cdr))); } }; template struct make_segment_sequence_back { // assert(end(front(car(stack_end))) == end(car(cdr(stack_end)))); BOOST_MPL_ASSERT(( result_of::equal_to< typename result_of::end< typename remove_reference< typename add_const< typename result_of::deref< typename Stack::car_type::begin_type >::type >::type >::type >::type , typename Stack::cdr_type::car_type::end_type >)); typedef iterator_range< typename result_of::begin< typename remove_reference< typename add_const< typename result_of::deref< typename Stack::car_type::begin_type >::type >::type >::type >::type , typename Stack::cdr_type::car_type::begin_type > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const& stack) { // return iterator_range(begin(front(car(stack_end))), begin(car(cdr(stack_end)))); return type(fusion::begin(*stack.car.first), stack.cdr.car.first); } }; template struct make_segment_sequence_back { typedef typename Stack::cdr_type type; // nil_ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const& stack) { return stack.cdr; } }; //auto make_segmented_range_reduce(stack_begin, stack_end) //{ // if (size(stack_begin) == 1 && size(stack_end) == 1) // { // return segment_sequence( // single_view( // iterator_range(begin(car(stack_begin)), begin(car(stack_end))))); // } // else // { // // We are in the case where both begin_stack and/or end_stack have // // more than one element. Throw away any part of the tree where // // begin and end refer to the same segment. // if (begin(car(stack_begin)) == begin(car(stack_end))) // { // return make_segmented_range_reduce(cdr(stack_begin), cdr(stack_end)); // } // else // { // // We are in the case where begin_stack and end_stack (a) have // // more than one element each, and (b) they point to different // // segments. We must construct a segmented sequence. // return segment_sequence( // push_back( // push_front( // iterator_range( // fusion::next(begin(car(stack_begin))), // begin(car(stack_end))), // a range of (possibly segmented) ranges. // make_segment_sequence_front(stack_begin)), // should be a (possibly segmented) range. // make_segment_sequence_back(stack_end))); // should be a (possibly segmented) range. // } // } //} template < typename StackBegin , typename StackEnd , int StackBeginSize = StackBegin::size::value , int StackEndSize = StackEnd::size::value> struct make_segmented_range_reduce; template < typename StackBegin , typename StackEnd , bool SameSegment = result_of::equal_to< typename StackBegin::car_type::begin_type , typename StackEnd::car_type::begin_type >::type::value> struct make_segmented_range_reduce2 { typedef iterator_range< typename result_of::next< typename StackBegin::car_type::begin_type >::type , typename StackEnd::car_type::begin_type > rest_type; typedef segment_sequence< typename result_of::push_back< typename result_of::push_front< rest_type const , typename make_segment_sequence_front::type >::type const , typename make_segment_sequence_back::type >::type > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(StackBegin stack_begin, StackEnd stack_end) { //return segment_sequence( // push_back( // push_front( // iterator_range( // fusion::next(begin(car(stack_begin))), // begin(car(stack_end))), // a range of (possibly segmented) ranges. // make_segment_sequence_front(stack_begin)), // should be a (possibly segmented) range. // make_segment_sequence_back(stack_end))); // should be a (possibly segmented) range. return type( fusion::push_back( fusion::push_front( rest_type(fusion::next(stack_begin.car.first), stack_end.car.first) , make_segment_sequence_front::call(stack_begin)) , make_segment_sequence_back::call(stack_end))); } }; template struct make_segmented_range_reduce2 { typedef make_segmented_range_reduce< typename StackBegin::cdr_type , typename StackEnd::cdr_type > impl; typedef typename impl::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(StackBegin stack_begin, StackEnd stack_end) { return impl::call(stack_begin.cdr, stack_end.cdr); } }; template struct make_segmented_range_reduce : make_segmented_range_reduce2 {}; template struct make_segmented_range_reduce { typedef iterator_range< typename StackBegin::car_type::begin_type , typename StackEnd::car_type::begin_type > range_type; typedef single_view segment_type; typedef segment_sequence type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(StackBegin stack_begin, StackEnd stack_end) { //return segment_sequence( // single_view( // iterator_range(begin(car(stack_begin)), begin(car(stack_end))))); return type(segment_type(range_type(stack_begin.car.first, stack_end.car.first))); } }; //auto make_segmented_range(begin, end) //{ // return make_segmented_range_reduce(reverse(begin.context), reverse(end.context)); //} template struct make_segmented_range { typedef reverse_cons reverse_begin_cons; typedef reverse_cons reverse_end_cons; typedef make_segmented_range_reduce< typename reverse_begin_cons::type , typename reverse_end_cons::type > impl; typedef typename impl::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Begin const& begin, End const& end) { return impl::call( reverse_begin_cons::call(begin.context) , reverse_end_cons::call(end.context)); } }; }}} #endif KWStyle-master/Utilities/boost/fusion/view/iterator_range/detail/segments_impl.hpp000066400000000000000000000033261265471724600311370ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_ITERATOR_RANGE_SEGMENTS_HPP_INCLUDED) #define BOOST_FUSION_ITERATOR_RANGE_SEGMENTS_HPP_INCLUDED #include #include #include #include #include namespace boost { namespace fusion { struct iterator_range_tag; namespace extension { template struct segments_impl; template <> struct segments_impl { template struct apply { typedef detail::make_segmented_range< typename Sequence::begin_type , typename Sequence::end_type > impl; BOOST_MPL_ASSERT((traits::is_segmented)); typedef typename result_of::segments::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence & seq) { return fusion::segments(impl::call(seq.first, seq.last)); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/iterator_range/detail/size_impl.hpp000066400000000000000000000020341265471724600302570ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_ITERATOR_RANGE_SIZE_IMPL_HPP_INCLUDED) #define BOOST_FUSION_ITERATOR_RANGE_SIZE_IMPL_HPP_INCLUDED #include #include namespace boost { namespace fusion { struct iterator_range_tag; namespace extension { template struct size_impl; template <> struct size_impl { template struct apply : result_of::distance< typename Seq::begin_type, typename Seq::end_type > {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/iterator_range/detail/value_at_impl.hpp000066400000000000000000000022661265471724600311140ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Distributed under the 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_FUSION_ITERATOR_RANGE_VALUE_AT_IMPL_HPP_INCLUDED) #define BOOST_FUSION_ITERATOR_RANGE_VALUE_AT_IMPL_HPP_INCLUDED #include #include #include namespace boost { namespace fusion { struct iterator_range_tag; namespace extension { template struct value_at_impl; template <> struct value_at_impl { template struct apply { typedef typename Seq::begin_type begin_type; typedef typename result_of::advance::type pos; typedef typename result_of::value_of::type type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/iterator_range/iterator_range.hpp000066400000000000000000000045231265471724600300340ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_ITERATOR_RANGE_05062005_1224) #define FUSION_ITERATOR_RANGE_05062005_1224 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if defined (BOOST_MSVC) # pragma warning(push) # pragma warning (disable: 4512) // assignment operator could not be generated. #endif namespace boost { namespace fusion { struct iterator_range_tag; struct fusion_sequence_tag; template struct iterator_range : sequence_base > { typedef typename convert_iterator::type begin_type; typedef typename convert_iterator::type end_type; typedef iterator_range_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::true_ is_view; typedef typename traits::category_of::type category; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED iterator_range(First const& in_first, Last const& in_last) : first(convert_iterator::call(in_first)) , last(convert_iterator::call(in_last)) {} begin_type first; end_type last; }; }} #if defined (BOOST_MSVC) # pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/fusion/view/joint_view.hpp000066400000000000000000000012061265471724600241720ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_VIEW_JOINT_VIEW_10022005_0610) #define FUSION_SEQUENCE_VIEW_JOINT_VIEW_10022005_0610 #include #include #include #endif KWStyle-master/Utilities/boost/fusion/view/joint_view/000077500000000000000000000000001265471724600234625ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/joint_view/detail/000077500000000000000000000000001265471724600247245ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/joint_view/detail/begin_impl.hpp000066400000000000000000000043441265471724600275470ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_BEGIN_IMPL_07162005_0115) #define FUSION_BEGIN_IMPL_07162005_0115 #include #include #include namespace boost { namespace fusion { struct joint_view_tag; template struct joint_view_iterator; namespace extension { template struct begin_impl; template <> struct begin_impl { template struct apply { typedef typename Sequence::first_type first_type; typedef typename Sequence::last_type last_type; typedef typename Sequence::concat_type concat_type; typedef typename Sequence::category category; typedef result_of::equal_to equal_to; typedef typename mpl::if_< equal_to , concat_type , joint_view_iterator >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s, mpl::true_) { return s.concat(); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s, mpl::false_) { return type(s.first(), s.concat()); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { return call(s, equal_to()); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/joint_view/detail/deref_data_impl.hpp000066400000000000000000000022161265471724600305350ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_VIEW_JOINT_VIEW_DETAIL_DEREF_DATA_IMPL_HPP #define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_DEREF_DATA_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct deref_data_impl; template <> struct deref_data_impl { template struct apply { typedef typename result_of::deref_data::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return fusion::deref_data(it.first); } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/view/joint_view/detail/deref_impl.hpp000066400000000000000000000015261265471724600275470ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_DEREF_IMPL_07162005_0137) #define FUSION_DEREF_IMPL_07162005_0137 #include #include namespace boost { namespace fusion { struct joint_view_iterator_tag; namespace extension { template struct deref_impl; template <> struct deref_impl : detail::adapt_deref_traits {}; } }} #endif KWStyle-master/Utilities/boost/fusion/view/joint_view/detail/end_impl.hpp000066400000000000000000000022261265471724600272260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_END_IMPL_07162005_0128) #define FUSION_END_IMPL_07162005_0128 #include #include #include namespace boost { namespace fusion { struct joint_view_tag; namespace extension { template struct end_impl; template <> struct end_impl { template struct apply { typedef typename Sequence::concat_last_type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { return s.concat_last(); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/joint_view/detail/key_of_impl.hpp000066400000000000000000000015661265471724600277420ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_VIEW_JOINT_VIEW_DETAIL_KEY_OF_IMPL_HPP #define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_KEY_OF_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct key_of_impl; template <> struct key_of_impl { template struct apply : result_of::key_of {}; }; }}} #endif KWStyle-master/Utilities/boost/fusion/view/joint_view/detail/next_impl.hpp000066400000000000000000000046041265471724600274400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_NEXT_IMPL_07162005_0136) #define FUSION_NEXT_IMPL_07162005_0136 #include #include #include #include namespace boost { namespace fusion { struct joint_view_iterator_tag; template struct joint_view_iterator; namespace extension { template struct next_impl; template <> struct next_impl { template struct apply { typedef typename Iterator::first_type first_type; typedef typename Iterator::last_type last_type; typedef typename Iterator::concat_type concat_type; typedef typename Iterator::category category; typedef typename result_of::next::type next_type; typedef result_of::equal_to equal_to; typedef typename mpl::if_< equal_to , concat_type , joint_view_iterator >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i, mpl::true_) { return i.concat; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i, mpl::false_) { return type(fusion::next(i.first), i.concat); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return call(i, equal_to()); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp000066400000000000000000000016401265471724600312500ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_VIEW_JOINT_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP #define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct value_of_data_impl; template <> struct value_of_data_impl { template struct apply : result_of::value_of_data {}; }; }}} #endif KWStyle-master/Utilities/boost/fusion/view/joint_view/detail/value_of_impl.hpp000066400000000000000000000015341265471724600302610ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VALUE_IMPL_07162005_0132) #define FUSION_VALUE_IMPL_07162005_0132 #include #include namespace boost { namespace fusion { struct joint_view_iterator_tag; namespace extension { template struct value_of_impl; template <> struct value_of_impl : detail::adapt_value_traits {}; } }} #endif KWStyle-master/Utilities/boost/fusion/view/joint_view/joint_view.hpp000066400000000000000000000063431265471724600263560ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_JOINT_VIEW_07162005_0140) #define FUSION_JOINT_VIEW_07162005_0140 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct joint_view_tag; struct forward_traversal_tag; struct fusion_sequence_tag; template struct joint_view : sequence_base > { typedef joint_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef typename mpl::eval_if< mpl::and_< traits::is_associative , traits::is_associative > , mpl::inherit2 , mpl::identity >::type category; typedef mpl::true_ is_view; typedef typename result_of::begin::type first_type; typedef typename result_of::end::type last_type; typedef typename result_of::begin::type concat_type; typedef typename result_of::end::type concat_last_type; typedef typename mpl::int_< result_of::size::value + result_of::size::value> size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED joint_view(Sequence1& in_seq1, Sequence2& in_seq2) : seq1(in_seq1) , seq2(in_seq2) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED first_type first() const { return fusion::begin(seq1); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED concat_type concat() const { return fusion::begin(seq2); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED concat_last_type concat_last() const { return fusion::end(seq2); } private: // silence MSVC warning C4512: assignment operator could not be generated joint_view& operator= (joint_view const&); typename mpl::if_, Sequence1, Sequence1&>::type seq1; typename mpl::if_, Sequence2, Sequence2&>::type seq2; }; }} #endif KWStyle-master/Utilities/boost/fusion/view/joint_view/joint_view_fwd.hpp000066400000000000000000000011431265471724600272070ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_JOINT_VIEW_FWD_HPP_INCLUDED) #define BOOST_FUSION_JOINT_VIEW_FWD_HPP_INCLUDED namespace boost { namespace fusion { struct joint_view_tag; template struct joint_view; }} #endif KWStyle-master/Utilities/boost/fusion/view/joint_view/joint_view_iterator.hpp000066400000000000000000000052221265471724600302620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_JOINT_VIEW_ITERATOR_07162005_0140) #define FUSION_JOINT_VIEW_ITERATOR_07162005_0140 #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct joint_view_iterator_tag; struct forward_traversal_tag; template struct joint_view_iterator : iterator_base > { typedef convert_iterator first_converter; typedef convert_iterator last_converter; typedef convert_iterator concat_converter; typedef typename first_converter::type first_type; typedef typename last_converter::type last_type; typedef typename concat_converter::type concat_type; typedef joint_view_iterator_tag fusion_tag; typedef Category category; BOOST_STATIC_ASSERT((!result_of::equal_to::value)); BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED joint_view_iterator(First const& in_first, Concat const& in_concat) : first(first_converter::call(in_first)) , concat(concat_converter::call(in_concat)) {} first_type first; concat_type concat; private: // silence MSVC warning C4512: assignment operator could not be generated joint_view_iterator& operator= (joint_view_iterator const&); }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::joint_view_iterator > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/view/nview.hpp000066400000000000000000000012371265471724600231510ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Copyright (c) 2009 Hartmut Kaiser Distributed under the 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(FUSION_NVIEW_SEP_23_2009_1107PM) #define FUSION_NVIEW_SEP_23_2009_1107PM #include #include #include #endif KWStyle-master/Utilities/boost/fusion/view/nview/000077500000000000000000000000001265471724600224355ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/nview/detail/000077500000000000000000000000001265471724600236775ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/nview/detail/advance_impl.hpp000066400000000000000000000030101265471724600270240ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Hartmut Kaiser Distributed under the 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_FUSION_NVIEW_ADVANCE_IMPL_SEP_24_2009_0212PM) #define BOOST_FUSION_NVIEW_ADVANCE_IMPL_SEP_24_2009_0212PM #include #include #include namespace boost { namespace fusion { struct nview_iterator_tag; template struct nview_iterator; namespace extension { template struct advance_impl; template<> struct advance_impl { template struct apply { typedef typename Iterator::first_type::iterator_type iterator_type; typedef typename Iterator::sequence_type sequence_type; typedef nview_iterator::type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.seq); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/nview/detail/at_impl.hpp000066400000000000000000000026121265471724600260360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Hartmut Kaiser Distributed under the 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_FUSION_NVIEW_AT_IMPL_SEP_24_2009_0225PM) #define BOOST_FUSION_NVIEW_AT_IMPL_SEP_24_2009_0225PM #include #include namespace boost { namespace fusion { struct nview_tag; namespace extension { template struct at_impl; template<> struct at_impl { template struct apply { typedef typename Sequence::sequence_type sequence_type; typedef typename Sequence::index_type index_type; typedef typename result_of::at::type index; typedef typename result_of::at::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return fusion::at(seq.seq); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/nview/detail/begin_impl.hpp000066400000000000000000000025411265471724600265170ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Hartmut Kaiser Distributed under the 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_FUSION_NVIEW_BEGIN_IMPL_SEP_23_2009_1036PM) #define BOOST_FUSION_NVIEW_BEGIN_IMPL_SEP_23_2009_1036PM #include #include #include namespace boost { namespace fusion { struct nview_tag; template struct nview_iterator; namespace extension { template struct begin_impl; template<> struct begin_impl { template struct apply { typedef typename Sequence::index_type index_type; typedef nview_iterator::type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { return type(s); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/nview/detail/deref_impl.hpp000066400000000000000000000027361265471724600265260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Hartmut Kaiser Distributed under the 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_FUSION_NVIEW_DEREF_IMPL_SEP_24_2009_0818AM) #define BOOST_FUSION_NVIEW_DEREF_IMPL_SEP_24_2009_0818AM #include #include #include namespace boost { namespace fusion { struct nview_iterator_tag; namespace extension { template struct deref_impl; template<> struct deref_impl { template struct apply { typedef typename Iterator::first_type first_type; typedef typename Iterator::sequence_type sequence_type; typedef typename result_of::deref::type index; typedef typename result_of::at< typename sequence_type::sequence_type, index>::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return at(i.seq.seq); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/nview/detail/distance_impl.hpp000066400000000000000000000026151265471724600272270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Hartmut Kaiser Distributed under the 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_FUSION_NVIEW_DISTANCE_IMPL_SEP_23_2009_0328PM) #define BOOST_FUSION_NVIEW_DISTANCE_IMPL_SEP_23_2009_0328PM #include #include namespace boost { namespace fusion { struct nview_iterator_tag; namespace extension { template struct distance_impl; template<> struct distance_impl { template struct apply : result_of::distance { typedef typename result_of::distance< typename First::first_type, typename Last::first_type >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& /*first*/, Last const& /*last*/) { return type(); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/nview/detail/end_impl.hpp000066400000000000000000000025601265471724600262020ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Hartmut Kaiser Distributed under the 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_FUSION_NVIEW_END_IMPL_SEP_24_2009_0140PM) #define BOOST_FUSION_NVIEW_END_IMPL_SEP_24_2009_0140PM #include #include #include namespace boost { namespace fusion { struct nview_tag; template struct nview_iterator; namespace extension { template struct end_impl; // Unary Version template <> struct end_impl { template struct apply { typedef typename Sequence::index_type index_type; typedef nview_iterator::type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { return type(s); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/nview/detail/equal_to_impl.hpp000066400000000000000000000017611265471724600272470ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Hartmut Kaiser Distributed under the 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_FUSION_NVIEW_ITERATOR_SEP_24_2009_0329PM) #define BOOST_FUSION_NVIEW_ITERATOR_SEP_24_2009_0329PM #include #include namespace boost { namespace fusion { struct nview_iterator_tag; namespace extension { template struct equal_to_impl; template<> struct equal_to_impl { template struct apply : result_of::equal_to {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/nview/detail/next_impl.hpp000066400000000000000000000026601265471724600264130ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Hartmut Kaiser Distributed under the 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_FUSION_NVIEW_NEXT_IMPL_SEP_24_2009_0116PM) #define BOOST_FUSION_NVIEW_NEXT_IMPL_SEP_24_2009_0116PM #include #include namespace boost { namespace fusion { struct nview_iterator_tag; template struct nview_iterator; namespace extension { template struct next_impl; template <> struct next_impl { template struct apply { typedef typename Iterator::first_type::iterator_type first_type; typedef typename Iterator::sequence_type sequence_type; typedef nview_iterator::type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.seq); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/nview/detail/nview_impl.hpp000066400000000000000000000050751265471724600265700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Hartmut Kaiser Distributed under the 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_PP_IS_ITERATING #if !defined(BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM) #define BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM #include #include #include #include #include #include #include #define BOOST_PP_ITERATION_PARAMS_1 \ (3, (1, FUSION_MAX_VECTOR_SIZE, \ "boost/fusion/view/nview/detail/nview_impl.hpp")) \ /**/ /////////////////////////////////////////////////////////////////////////////// namespace boost { namespace fusion { namespace result_of { template struct as_nview { typedef mpl::vector_c< int, BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, I) > index_type; typedef nview type; }; }}} #include BOOST_PP_ITERATE() #endif /////////////////////////////////////////////////////////////////////////////// // Preprocessor vertical repetition code /////////////////////////////////////////////////////////////////////////////// #else // defined(BOOST_PP_IS_ITERATING) #define N BOOST_PP_ITERATION() #if N < FUSION_MAX_VECTOR_SIZE namespace boost { namespace fusion { namespace result_of { template struct as_nview { typedef mpl::vector_c index_type; typedef nview type; }; }}} #endif namespace boost { namespace fusion { template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline nview > as_nview(Sequence& s) { typedef mpl::vector_c index_type; return nview(s); } }} #undef N #endif KWStyle-master/Utilities/boost/fusion/view/nview/detail/prior_impl.hpp000066400000000000000000000026661265471724600265760ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Hartmut Kaiser Distributed under the 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_FUSION_NVIEW_PRIOR_IMPL_SEP_24_2009_0142PM) #define BOOST_FUSION_NVIEW_PRIOR_IMPL_SEP_24_2009_0142PM #include #include namespace boost { namespace fusion { struct nview_iterator_tag; template struct nview_iterator; namespace extension { template struct prior_impl; template <> struct prior_impl { template struct apply { typedef typename Iterator::first_type::iterator_type first_type; typedef typename Iterator::sequence_type sequence_type; typedef nview_iterator::type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.seq); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/nview/detail/size_impl.hpp000066400000000000000000000021771265471724600264120ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_NVIEW_SIZE_IMPL_OCT_06_2009_0525PM) #define FUSION_NVIEW_SIZE_IMPL_OCT_06_2009_0525PM #include #include #include #include namespace boost { namespace fusion { struct nview_tag; namespace extension { template struct size_impl; template <> struct size_impl { template struct apply : result_of::distance< typename result_of::begin::type , typename result_of::end::type> {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/nview/detail/value_at_impl.hpp000066400000000000000000000023241265471724600272320ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Hartmut Kaiser Distributed under the 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_FUSION_NVIEW_VALUE_AT_IMPL_SEP_24_2009_0234PM) #define BOOST_FUSION_NVIEW_VALUE_AT_IMPL_SEP_24_2009_0234PM #include #include namespace boost { namespace fusion { struct nview_tag; namespace extension { template struct value_at_impl; template<> struct value_at_impl { template struct apply { typedef typename Sequence::sequence_type sequence_type; typedef typename Sequence::index_type index_type; typedef typename result_of::at::type index; typedef typename result_of::at::type type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/nview/detail/value_of_impl.hpp000066400000000000000000000025641265471724600272400ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Hartmut Kaiser Distributed under the 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_FUSION_VALUE_OF_PRIOR_IMPL_SEP_24_2009_0158PM) #define BOOST_FUSION_VALUE_OF_PRIOR_IMPL_SEP_24_2009_0158PM #include #include #include namespace boost { namespace fusion { struct nview_iterator_tag; template struct nview_iterator; namespace extension { template struct value_of_impl; template <> struct value_of_impl { template struct apply { typedef typename Iterator::first_type first_type; typedef typename Iterator::sequence_type sequence_type; typedef typename result_of::deref::type index; typedef typename result_of::at< typename sequence_type::sequence_type, index>::type type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/nview/nview.hpp000066400000000000000000000072121265471724600243000ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Hartmut Kaiser Distributed under the 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_FUSION_NVIEW_SEP_23_2009_0948PM) #define BOOST_FUSION_NVIEW_SEP_23_2009_0948PM #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { namespace detail { struct addref { template struct result; template struct result : add_reference {}; #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type operator()(T& x) const { return x; } #else template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(T&& x) const { return x; } #endif }; struct addconstref { template struct result; template struct result : add_reference::type> {}; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type operator()(T& x) const { return x; } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type operator()(T const& x) const { return x; } }; } struct nview_tag; struct random_access_traversal_tag; struct fusion_sequence_tag; template struct nview : sequence_base > { typedef nview_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef random_access_traversal_tag category; typedef mpl::true_ is_view; typedef Indicies index_type; typedef typename mpl::size::type size; typedef typename mpl::if_< is_const, detail::addconstref, detail::addref >::type transform_type; typedef transform_view transform_view_type; typedef typename result_of::as_vector::type sequence_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit nview(Sequence& val) : seq(sequence_type(transform_view_type(val, transform_type()))) {} sequence_type seq; }; }} // define the nview() generator functions #include #endif KWStyle-master/Utilities/boost/fusion/view/nview/nview_iterator.hpp000066400000000000000000000045671265471724600262230ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Hartmut Kaiser Distributed under the 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_FUSION_NVIEW_ITERATOR_SEP_23_2009_0948PM) #define BOOST_FUSION_NVIEW_ITERATOR_SEP_23_2009_0948PM #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct nview_iterator_tag; struct random_access_traversal_tag; template struct nview_iterator : iterator_base > { typedef nview_iterator_tag fusion_tag; typedef random_access_traversal_tag category; typedef Sequence sequence_type; typedef mpl_iterator first_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit nview_iterator(Sequence& in_seq) : seq(in_seq) {} Sequence& seq; private: // silence MSVC warning C4512: assignment operator could not be generated nview_iterator& operator= (nview_iterator const&); }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::nview_iterator > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/view/repetitive_view.hpp000066400000000000000000000012201265471724600252230ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Distributed under the 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_FUSION_REPETITIVE_VIEW_HPP_INCLUDED) #define BOOST_FUSION_REPETITIVE_VIEW_HPP_INCLUDED #include #include #include #endif KWStyle-master/Utilities/boost/fusion/view/repetitive_view/000077500000000000000000000000001265471724600245175ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/repetitive_view/detail/000077500000000000000000000000001265471724600257615ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/repetitive_view/detail/begin_impl.hpp000066400000000000000000000027141265471724600306030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Distributed under the 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_FUSION_REPETITIVE_VIEW_BEGIN_IMPL_HPP_INCLUDED) #define BOOST_FUSION_REPETITIVE_VIEW_BEGIN_IMPL_HPP_INCLUDED #include #include #include namespace boost { namespace fusion { struct repetitive_view_tag; template struct repetitive_view_iterator; namespace extension { template struct begin_impl; template<> struct begin_impl { template struct apply { typedef typename View::sequence_type sequence_type; typedef repetitive_view_iterator::type > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(View const& v) { return type(v.seq); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/repetitive_view/detail/deref_impl.hpp000066400000000000000000000023541265471724600306040ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Distributed under the 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_FUSION_REPETITIVE_VIEW_DEREF_IMPL_HPP_INCLUDED) #define BOOST_FUSION_REPETITIVE_VIEW_DEREF_IMPL_HPP_INCLUDED #include #include namespace boost { namespace fusion { struct repetitive_view_iterator_tag; namespace extension { template struct deref_impl; template<> struct deref_impl { template struct apply { typedef typename result_of::deref::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return *i.pos; } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/repetitive_view/detail/end_impl.hpp000066400000000000000000000027131265471724600302640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Distributed under the 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_FUSION_REPETITIVE_VIEW_END_IMPL_HPP_INCLUDED) #define BOOST_FUSION_REPETITIVE_VIEW_END_IMPL_HPP_INCLUDED #include #include #include namespace boost { namespace fusion { struct repetitive_view_tag; template struct repetitive_view_iterator; namespace extension { template struct end_impl; template<> struct end_impl { template struct apply { typedef typename View::sequence_type sequence_type; typedef repetitive_view_iterator::type > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(View const& v) { return type(v.seq,end(v.seq)); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/repetitive_view/detail/next_impl.hpp000066400000000000000000000056551265471724600305040ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Distributed under the 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_FUSION_REPETITIVE_VIEW_NEXT_IMPL_HPP_INCLUDED) #define BOOST_FUSION_REPETITIVE_VIEW_NEXT_IMPL_HPP_INCLUDED #include #include #include namespace boost { namespace fusion { struct repetitive_view_iterator_tag; template struct repetitive_view_iterator; namespace extension { template struct next_impl; template <> struct next_impl { template::type>::value > struct apply_nonempty // { // advanvce to next position typedef repetitive_view_iterator< typename Iterator::sequence_type, typename result_of::next::type > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.seq, next(i.pos)); } }; template struct apply_nonempty { // reset to beginning typedef repetitive_view_iterator< typename Iterator::sequence_type, typename Iterator::first_type > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.seq); } }; template ::value > struct apply // : apply_nonempty { }; template struct apply { // eps^n = eps typedef Iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp000066400000000000000000000017741265471724600313240ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Distributed under the 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_FUSION_REPETITIVE_VIEW_VALUE_OF_IMPL_HPP_INCLUDED) #define BOOST_FUSION_REPETITIVE_VIEW_VALUE_OF_IMPL_HPP_INCLUDED #include #include namespace boost { namespace fusion { struct repetitive_view_iterator_tag; namespace extension { template struct value_of_impl; template<> struct value_of_impl { template struct apply : result_of::value_of { }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/repetitive_view/repetitive_view.hpp000066400000000000000000000034141265471724600304440ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Distributed under the 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_FUSION_REPETITIVE_VIEW_REPETITIVE_VIEW_HPP_INCLUDED #define BOOST_FUSION_REPETITIVE_VIEW_REPETITIVE_VIEW_HPP_INCLUDED #include #include #include #include #include #include #include namespace boost { namespace fusion { struct repetitive_view_tag; struct fusion_sequence_tag; template struct repetitive_view : sequence_base< repetitive_view > { typedef repetitive_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::true_ is_view; typedef single_pass_traversal_tag category; typedef typename boost::remove_reference::type sequence_type; typedef typename mpl::if_, Sequence, sequence_type&>::type stored_seq_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED repetitive_view(Sequence& in_seq) : seq(in_seq) {} stored_seq_type seq; private: // silence MSVC warning C4512: assignment operator could not be generated repetitive_view& operator= (repetitive_view const&); }; }} #endif KWStyle-master/Utilities/boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp000066400000000000000000000011431265471724600313010ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Distributed under the 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_FUSION_REPETITIVE_VIEW_FWD_HPP_INCLUDED) #define BOOST_FUSION_REPETITIVE_VIEW_FWD_HPP_INCLUDED namespace boost { namespace fusion { struct repetitive_view_tag; template struct repetitive_view; }} #endif KWStyle-master/Utilities/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp000066400000000000000000000047241265471724600323620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2007 Tobias Schwinger Distributed under the 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_FUSION_REPETITIVE_VIEW_ITERATOR_HPP_INCLUDED #define BOOST_FUSION_REPETITIVE_VIEW_ITERATOR_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct repetitive_view_iterator_tag; template::type> struct repetitive_view_iterator : iterator_base< repetitive_view_iterator > { typedef repetitive_view_iterator_tag fusion_tag; typedef Sequence sequence_type; typedef typename convert_iterator::type pos_type; typedef typename convert_iterator::type>::type first_type; typedef typename convert_iterator::type>::type end_type; typedef single_pass_traversal_tag category; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit repetitive_view_iterator(Sequence& in_seq) : seq(in_seq), pos(begin(in_seq)) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED repetitive_view_iterator(Sequence& in_seq, pos_type const& in_pos) : seq(in_seq), pos(in_pos) {} Sequence& seq; pos_type pos; private: // silence MSVC warning C4512: assignment operator could not be generated repetitive_view_iterator& operator= (repetitive_view_iterator const&); }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::repetitive_view_iterator > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/view/reverse_view.hpp000066400000000000000000000012221265471724600245200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_VIEW_REVERSE_VIEW_10022005_0612) #define FUSION_SEQUENCE_VIEW_REVERSE_VIEW_10022005_0612 #include #include #include #endif KWStyle-master/Utilities/boost/fusion/view/reverse_view/000077500000000000000000000000001265471724600240125ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/reverse_view/detail/000077500000000000000000000000001265471724600252545ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/reverse_view/detail/advance_impl.hpp000066400000000000000000000031221265471724600304050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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(FUSION_ADVANCE_IMPL_14122005_2015) #define FUSION_ADVANCE_IMPL_14122005_2015 #include #include #include namespace boost { namespace fusion { struct reverse_view_iterator_tag; template struct reverse_view_iterator; namespace extension { template struct advance_impl; template<> struct advance_impl { template struct apply { typedef typename Iterator::first_type first_type; typedef typename mpl::negate::type negative_dist; typedef typename result_of::advance::type advanced_type; typedef reverse_view_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(boost::fusion::advance(i.first)); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/reverse_view/detail/at_impl.hpp000066400000000000000000000023751265471724600274210ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_VIEW_REVERSE_VIEW_DETAIL_AT_IMPL_HPP #define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_AT_IMPL_HPP #include #include #include #include namespace boost { namespace fusion { namespace extension { template struct at_impl; template <> struct at_impl { template struct apply { typedef mpl::minus, N> real_n; typedef typename result_of::at::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return fusion::at(seq.seq); } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/view/reverse_view/detail/begin_impl.hpp000066400000000000000000000022131265471724600300700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_BEGIN_IMPL_07202005_0849) #define FUSION_BEGIN_IMPL_07202005_0849 namespace boost { namespace fusion { struct reverse_view_tag; template struct reverse_view_iterator; namespace extension { template struct begin_impl; template <> struct begin_impl { template struct apply { typedef reverse_view_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence const& s) { return type(s.last()); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp000066400000000000000000000022241265471724600310640ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP #define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct deref_data_impl; template <> struct deref_data_impl { template struct apply { typedef typename result_of::deref_data::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return fusion::deref_data(it.first); } }; }; }}} #endif KWStyle-master/Utilities/boost/fusion/view/reverse_view/detail/deref_impl.hpp000066400000000000000000000026301265471724600300740ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_DEREF_IMPL_07202005_0851) #define FUSION_DEREF_IMPL_07202005_0851 #include #include #include namespace boost { namespace fusion { struct reverse_view_iterator_tag; namespace extension { template struct deref_impl; template <> struct deref_impl { template struct apply { typedef typename result_of::deref< typename result_of::prior< typename Iterator::first_type >::type >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return *fusion::prior(i.first); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/reverse_view/detail/distance_impl.hpp000066400000000000000000000027461265471724600306110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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(FUSION_DISTANCE_IMPL_14122005_2104) #define FUSION_DISTANCE_IMPL_14122005_2104 #include #include namespace boost { namespace fusion { struct reverse_view_iterator_tag; template struct reverse_view_iterator; namespace extension { template struct distance_impl; template<> struct distance_impl { template struct apply { typedef typename First::first_type first_type; typedef typename Last::first_type last_type; typedef typename result_of::distance::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& first, Last const& last) { return boost::fusion::distance(last.first, first.first); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/reverse_view/detail/end_impl.hpp000066400000000000000000000022051265471724600275530ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_END_IMPL_07202005_0851) #define FUSION_END_IMPL_07202005_0851 namespace boost { namespace fusion { struct reverse_view_tag; template struct reverse_view_iterator; namespace extension { template struct end_impl; template <> struct end_impl { template struct apply { typedef reverse_view_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence const& s) { return type(s.first()); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/reverse_view/detail/key_of_impl.hpp000066400000000000000000000015711265471724600302660ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_VIEW_REVERSE_VIEW_DETAIL_KEY_OF_IMPL_HPP #define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_KEY_OF_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct key_of_impl; template <> struct key_of_impl { template struct apply : result_of::key_of {}; }; }}} #endif KWStyle-master/Utilities/boost/fusion/view/reverse_view/detail/next_impl.hpp000066400000000000000000000027051265471724600277700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_NEXT_IMPL_07202005_0856) #define FUSION_NEXT_IMPL_07202005_0856 #include #include #include namespace boost { namespace fusion { struct reverse_view_iterator_tag; template struct reverse_view_iterator; namespace extension { template <> struct next_impl { template struct apply { typedef typename Iterator::first_type first_type; typedef typename prior_impl:: template apply wrapped; typedef reverse_view_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(wrapped::call(i.first)); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/reverse_view/detail/prior_impl.hpp000066400000000000000000000027071265471724600301470ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_PRIOR_IMPL_07202005_0857) #define FUSION_PRIOR_IMPL_07202005_0857 #include #include #include namespace boost { namespace fusion { struct reverse_view_iterator_tag; template struct reverse_view_iterator; namespace extension { template <> struct prior_impl { template struct apply { typedef typename Iterator::first_type first_type; typedef typename next_impl:: template apply wrapped; typedef reverse_view_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(wrapped::call(i.first)); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/reverse_view/detail/value_at_impl.hpp000066400000000000000000000020571265471724600306120ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_AT_IMPL_HPP #define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_AT_IMPL_HPP #include #include #include #include namespace boost { namespace fusion { namespace extension { template struct value_at_impl; template <> struct value_at_impl { template struct apply : result_of::value_at< typename Seq::seq_type , mpl::minus, N> > {}; }; }}} #endif KWStyle-master/Utilities/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp000066400000000000000000000016461265471724600316060ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2009 Christopher Schmidt Distributed under the 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_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP #define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP #include #include namespace boost { namespace fusion { namespace extension { template struct value_of_data_impl; template <> struct value_of_data_impl { template struct apply : result_of::value_of_data {}; }; }}} #endif KWStyle-master/Utilities/boost/fusion/view/reverse_view/detail/value_of_impl.hpp000066400000000000000000000023201265471724600306030ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VALUE_OF_IMPL_07202005_0900) #define FUSION_VALUE_OF_IMPL_07202005_0900 #include #include #include namespace boost { namespace fusion { struct reverse_view_iterator_tag; namespace extension { template struct value_of_impl; template <> struct value_of_impl { template struct apply { typedef typename result_of::value_of< typename result_of::prior< typename Iterator::first_type >::type >::type type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/reverse_view/reverse_view.hpp000066400000000000000000000053771265471724600272440ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_REVERSE_VIEW_07202005_0836) #define FUSION_REVERSE_VIEW_07202005_0836 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct reverse_view_tag; struct fusion_sequence_tag; template struct reverse_view : sequence_base > { typedef reverse_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::true_ is_view; typedef Sequence seq_type; typedef typename traits::category_of::type category; typedef typename result_of::begin::type first_type; typedef typename result_of::end::type last_type; typedef typename result_of::size::type size; BOOST_STATIC_ASSERT(( is_base_of< bidirectional_traversal_tag , typename traits::category_of::type>::value)); BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED reverse_view(Sequence& in_seq) : seq(in_seq) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED first_type first() const { return fusion::begin(seq); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED last_type last() const { return fusion::end(seq); } typename mpl::if_, Sequence, Sequence&>::type seq; private: // silence MSVC warning C4512: assignment operator could not be generated reverse_view& operator= (reverse_view const&); }; }} #endif KWStyle-master/Utilities/boost/fusion/view/reverse_view/reverse_view_iterator.hpp000066400000000000000000000047251265471724600311510ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_REVERSE_VIEW_ITERATOR_07202005_0835) #define FUSION_REVERSE_VIEW_ITERATOR_07202005_0835 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct reverse_view_iterator_tag; template struct reverse_view_iterator : iterator_base > { typedef convert_iterator converter; typedef typename converter::type first_type; typedef reverse_view_iterator_tag fusion_tag; typedef typename traits::category_of::type category; BOOST_STATIC_ASSERT(( is_base_of< bidirectional_traversal_tag , category>::value)); BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED reverse_view_iterator(First const& in_first) : first(converter::call(in_first)) {} first_type first; private: // silence MSVC warning C4512: assignment operator could not be generated reverse_view_iterator& operator= (reverse_view_iterator const&); }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::reverse_view_iterator > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/view/single_view.hpp000066400000000000000000000011601265471724600243270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SINGLE_VIEW_03192006_2216) #define FUSION_SINGLE_VIEW_03192006_2216 #include #include #include #endif KWStyle-master/Utilities/boost/fusion/view/single_view/000077500000000000000000000000001265471724600236205ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/single_view/detail/000077500000000000000000000000001265471724600250625ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/single_view/detail/advance_impl.hpp000066400000000000000000000026461265471724600302250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SINGLE_VIEW_ADVANCE_IMPL_JUL_07_2011_1348PM) #define BOOST_FUSION_SINGLE_VIEW_ADVANCE_IMPL_JUL_07_2011_1348PM #include #include namespace boost { namespace fusion { struct single_view_iterator_tag; template struct single_view_iterator; namespace extension { template struct advance_impl; template<> struct advance_impl { template struct apply { typedef single_view_iterator< typename Iterator::single_view_type, typename mpl::plus::type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.view); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/single_view/detail/at_impl.hpp000066400000000000000000000024261265471724600272240ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SINGLE_VIEW_AT_IMPL_JUL_07_2011_1348PM) #define BOOST_FUSION_SINGLE_VIEW_AT_IMPL_JUL_07_2011_1348PM #include #include #include #include namespace boost { namespace fusion { struct single_view_tag; namespace extension { template struct at_impl; template<> struct at_impl { template struct apply { BOOST_MPL_ASSERT((mpl::equal_to >)); typedef typename Sequence::value_type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return seq.val; } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/single_view/detail/begin_impl.hpp000066400000000000000000000024321265471724600277010ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SINGLE_VIEW_BEGIN_IMPL_05052005_0305) #define BOOST_FUSION_SINGLE_VIEW_BEGIN_IMPL_05052005_0305 #include #include namespace boost { namespace fusion { struct single_view_tag; template struct single_view_iterator; namespace extension { template struct begin_impl; template <> struct begin_impl { template struct apply { typedef single_view_iterator > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return type(seq); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/single_view/detail/deref_impl.hpp000066400000000000000000000025571265471724600277120ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SINGLE_VIEW_DEREF_IMPL_05052005_0258) #define BOOST_FUSION_SINGLE_VIEW_DEREF_IMPL_05052005_0258 #include #include #include #include namespace boost { namespace fusion { struct single_view_iterator_tag; namespace extension { template struct deref_impl; template <> struct deref_impl { template struct apply { BOOST_MPL_ASSERT((mpl::equal_to >)); typedef typename Iterator::value_type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return i.view.val; } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/single_view/detail/distance_impl.hpp000066400000000000000000000025501265471724600304100ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SINGLE_VIEW_DISTANCE_IMPL_JUL_07_2011_1348PM) #define BOOST_FUSION_SINGLE_VIEW_DISTANCE_IMPL_JUL_07_2011_1348PM #include #include namespace boost { namespace fusion { struct single_view_iterator_tag; namespace extension { template struct distance_impl; template<> struct distance_impl { template struct apply : mpl::minus { typedef typename mpl::minus::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& /*first*/, Last const& /*last*/) { return type(); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/single_view/detail/end_impl.hpp000066400000000000000000000024221265471724600273620ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SINGLE_VIEW_END_IMPL_05052005_0332) #define BOOST_FUSION_SINGLE_VIEW_END_IMPL_05052005_0332 #include #include namespace boost { namespace fusion { struct single_view_tag; template struct single_view_iterator; namespace extension { template struct end_impl; template <> struct end_impl { template struct apply { typedef single_view_iterator > type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return type(seq); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/single_view/detail/equal_to_impl.hpp000066400000000000000000000024501265471724600304260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SINGLE_VIEW_ITERATOR_JUL_07_2011_1348PM) #define BOOST_FUSION_SINGLE_VIEW_ITERATOR_JUL_07_2011_1348PM #include #include #include #include #include namespace boost { namespace fusion { struct single_view_iterator_tag; namespace extension { template struct equal_to_impl; template<> struct equal_to_impl { template struct apply : mpl::equal_to { BOOST_MPL_ASSERT((is_same::type, typename add_const::type>)); }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/single_view/detail/next_impl.hpp000066400000000000000000000030201265471724600275650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SINGLE_VIEW_NEXT_IMPL_05052005_0331) #define BOOST_FUSION_SINGLE_VIEW_NEXT_IMPL_05052005_0331 #include #include #include namespace boost { namespace fusion { struct single_view_iterator_tag; template struct single_view_iterator; namespace extension { template struct next_impl; template <> struct next_impl { template struct apply { typedef single_view_iterator< typename Iterator::single_view_type, typename mpl::next::type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { BOOST_STATIC_ASSERT((type::position::value < 2)); return type(i.view); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/single_view/detail/prior_impl.hpp000066400000000000000000000026121265471724600277500ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SINGLE_VIEW_PRIOR_IMPL_JUL_07_2011_1348PM) #define BOOST_FUSION_SINGLE_VIEW_PRIOR_IMPL_JUL_07_2011_1348PM #include #include namespace boost { namespace fusion { struct single_view_iterator_tag; template struct single_view_iterator; namespace extension { template struct prior_impl; template <> struct prior_impl { template struct apply { typedef single_view_iterator< typename Iterator::single_view_type, typename mpl::prior::type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.view); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/single_view/detail/size_impl.hpp000066400000000000000000000015441265471724600275720ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(FUSION_SINGLE_VIEW_SIZE_IMPL_JUL_07_2011_1348PM) #define FUSION_SINGLE_VIEW_SIZE_IMPL_JUL_07_2011_1348PM namespace boost { namespace fusion { struct single_view_tag; namespace extension { template struct size_impl; template <> struct size_impl { template struct apply { typedef mpl::int_<1> type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/single_view/detail/value_at_impl.hpp000066400000000000000000000022431265471724600304150ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SINGLE_VIEW_VALUE_AT_IMPL_JUL_07_2011_1348PM) #define BOOST_FUSION_SINGLE_VIEW_VALUE_AT_IMPL_JUL_07_2011_1348PM #include #include #include #include #include namespace boost { namespace fusion { struct single_view_tag; namespace extension { template struct value_at_impl; template<> struct value_at_impl { template struct apply { BOOST_MPL_ASSERT((mpl::equal_to >)); typedef typename Sequence::value_type type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/single_view/detail/value_of_impl.hpp000066400000000000000000000022561265471724600304210ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SINGLE_VIEW_VALUE_OF_IMPL_05052005_0324) #define BOOST_FUSION_SINGLE_VIEW_VALUE_OF_IMPL_05052005_0324 #include #include #include #include namespace boost { namespace fusion { struct single_view_iterator_tag; namespace extension { template struct value_of_impl; template <> struct value_of_impl { template struct apply { BOOST_MPL_ASSERT((mpl::equal_to >)); typedef typename Iterator::value_type type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/single_view/single_view.hpp000066400000000000000000000045601265471724600266510ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SINGLE_VIEW_05052005_0335) #define BOOST_FUSION_SINGLE_VIEW_05052005_0335 #include #include #include #include #include #include #include #include #include #include #include #include #include #if defined (BOOST_MSVC) # pragma warning(push) # pragma warning (disable: 4512) // assignment operator could not be generated. #endif namespace boost { namespace fusion { struct single_view_tag; struct random_access_traversal_tag; struct fusion_sequence_tag; template struct single_view : sequence_base > { typedef single_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef random_access_traversal_tag category; typedef mpl::true_ is_view; typedef mpl::int_<1> size; typedef T value_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED single_view() : val() {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit single_view(typename detail::call_param::type in_val) : val(in_val) {} value_type val; }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline single_view::type> make_single_view(T const& v) { return single_view::type>(v); } }} #if defined (BOOST_MSVC) # pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/fusion/view/single_view/single_view_iterator.hpp000066400000000000000000000044331265471724600305610ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2011 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) ==============================================================================*/ #if !defined(BOOST_FUSION_SINGLE_VIEW_ITERATOR_05052005_0340) #define BOOST_FUSION_SINGLE_VIEW_ITERATOR_05052005_0340 #include #include #include #include #include #include #include #include #include #include #include #if defined (BOOST_MSVC) # pragma warning(push) # pragma warning (disable: 4512) // assignment operator could not be generated. #endif namespace boost { namespace fusion { struct single_view_iterator_tag; struct random_access_traversal_tag; template struct single_view_iterator : iterator_base > { typedef single_view_iterator_tag fusion_tag; typedef random_access_traversal_tag category; typedef typename SingleView::value_type value_type; typedef Pos position; typedef SingleView single_view_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit single_view_iterator(single_view_type& in_view) : view(in_view) {} SingleView& view; private: single_view_iterator& operator=(single_view_iterator const&); }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::single_view_iterator > { }; } #endif #if defined (BOOST_MSVC) # pragma warning(pop) #endif #endif KWStyle-master/Utilities/boost/fusion/view/transform_view.hpp000066400000000000000000000012361265471724600250650ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_SEQUENCE_VIEW_TRANSFORM_VIEW_10022005_0612) #define FUSION_SEQUENCE_VIEW_TRANSFORM_VIEW_10022005_0612 #include #include #include #endif KWStyle-master/Utilities/boost/fusion/view/transform_view/000077500000000000000000000000001265471724600243525ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/transform_view/detail/000077500000000000000000000000001265471724600256145ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/transform_view/detail/advance_impl.hpp000066400000000000000000000054201265471724600307500ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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(FUSION_ADVANCE_IMPL_13122005_1906) #define FUSION_ADVANCE_IMPL_13122005_1906 #include #include namespace boost { namespace fusion { struct transform_view_iterator_tag; struct transform_view_iterator2_tag; template struct transform_view_iterator; template struct transform_view_iterator2; namespace extension { template struct advance_impl; // Unary Version template<> struct advance_impl { template struct apply { typedef typename Iterator::first_type first_type; typedef typename result_of::advance::type advanced_type; typedef typename Iterator::transform_type transform_type; typedef transform_view_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(boost::fusion::advance(i.first), i.f); } }; }; // Binary Version template<> struct advance_impl { template struct apply { typedef typename Iterator::first1_type first1_type; typedef typename Iterator::first2_type first2_type; typedef typename result_of::advance::type advanced1_type; typedef typename result_of::advance::type advanced2_type; typedef typename Iterator::transform_type transform_type; typedef transform_view_iterator2 type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type( boost::fusion::advance(i.first1) , boost::fusion::advance(i.first2), i.f); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/transform_view/detail/apply_transform_result.hpp000066400000000000000000000020561265471724600331460ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2007 Dan Marsden Distributed under the 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_FUSION_APPLY_TRANSFORM_RESULT_02092006_1936) #define BOOST_FUSION_APPLY_TRANSFORM_RESULT_02092006_1936 #include #include namespace boost { namespace fusion { struct void_; namespace detail { template struct apply_transform_result { template struct apply : boost::result_of {}; template struct apply : boost::result_of {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/transform_view/detail/at_impl.hpp000066400000000000000000000046721265471724600277630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_AT_IMPL_20061029_1946) #define BOOST_FUSION_AT_IMPL_20061029_1946 #include #include #include #include namespace boost { namespace fusion { struct transform_view_tag; struct transform_view2_tag; namespace extension { template struct at_impl; template<> struct at_impl { template struct apply { typedef typename Seq::transform_type F; typedef detail::apply_transform_result transform_type; typedef typename boost::fusion::result_of::at::type value_type; typedef typename mpl::apply::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return seq.f(boost::fusion::at(seq.seq)); } }; }; template<> struct at_impl { template struct apply { typedef typename Seq::transform_type F; typedef detail::apply_transform_result transform_type; typedef typename boost::fusion::result_of::at::type value1_type; typedef typename boost::fusion::result_of::at::type value2_type; typedef typename mpl::apply::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return seq.f(boost::fusion::at(seq.seq1), boost::fusion::at(seq.seq2)); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/transform_view/detail/begin_impl.hpp000066400000000000000000000043131265471724600304330ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_BEGIN_IMPL_07162005_1031) #define FUSION_BEGIN_IMPL_07162005_1031 #include #include namespace boost { namespace fusion { template struct transform_view_iterator; template struct transform_view_iterator2; namespace extension { template struct begin_impl; // Unary Version template <> struct begin_impl { template struct apply { typedef typename Sequence::first_type first_type; typedef typename Sequence::transform_type transform_type; typedef transform_view_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { return type(s.first(), s.f); } }; }; // Binary Version template <> struct begin_impl { template struct apply { typedef typename Sequence::first1_type first1_type; typedef typename Sequence::first2_type first2_type; typedef typename Sequence::transform_type transform_type; typedef transform_view_iterator2 type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { return type(s.first1(), s.first2(), s.f); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/transform_view/detail/deref_impl.hpp000066400000000000000000000050261265471724600304360ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_DEREF_IMPL_07162005_1026) #define FUSION_DEREF_IMPL_07162005_1026 #include #include #include #include #include namespace boost { namespace fusion { struct transform_view_iterator_tag; struct transform_view_iterator2_tag; namespace extension { template struct deref_impl; // Unary Version template <> struct deref_impl { template struct apply { typedef typename result_of::deref::type value_type; typedef detail::apply_transform_result transform_type; typedef typename mpl::apply::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return i.f(*i.first); } }; }; // Binary Version template <> struct deref_impl { template struct apply { typedef typename result_of::deref::type value1_type; typedef typename result_of::deref::type value2_type; typedef detail::apply_transform_result transform_type; typedef typename mpl::apply::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return i.f(*i.first1, *i.first2); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/transform_view/detail/distance_impl.hpp000066400000000000000000000042141265471724600311410ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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(FUSION_DISTANCE_IMPL_13122005_2139) #define FUSION_DISTANCE_IMPL_13122005_2139 #include #include namespace boost { namespace fusion { struct transform_view_iterator_tag; struct transform_view_iterator2_tag; namespace extension { template struct distance_impl; // Unary Version template<> struct distance_impl { template struct apply : result_of::distance { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename result_of::distance::type call(First const& first, Last const& last) { return boost::fusion::distance(first.first, last.first); } }; }; // Binary Version template<> struct distance_impl { template struct apply : result_of::distance { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename result_of::distance::type call(First const& first, Last const& last) { return boost::fusion::distance(first.first1, last.first1); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/transform_view/detail/end_impl.hpp000066400000000000000000000042651265471724600301230ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_END_IMPL_07162005_1028) #define FUSION_END_IMPL_07162005_1028 #include #include namespace boost { namespace fusion { template struct transform_view_iterator; template struct transform_view_iterator2; namespace extension { template struct end_impl; // Unary Version template <> struct end_impl { template struct apply { typedef typename Sequence::last_type last_type; typedef typename Sequence::transform_type transform_type; typedef transform_view_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { return type(s.last(), s.f); } }; }; // Binary Version template <> struct end_impl { template struct apply { typedef typename Sequence::last1_type last1_type; typedef typename Sequence::last2_type last2_type; typedef typename Sequence::transform_type transform_type; typedef transform_view_iterator2 type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { return type(s.last1(), s.last2(), s.f); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/transform_view/detail/equal_to_impl.hpp000066400000000000000000000025251265471724600311630ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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_FUSION_TRANSFORM_VIEW_ITERATOR_20070127_0957) #define BOOST_FUSION_TRANSFORM_VIEW_ITERATOR_20070127_0957 #include #include namespace boost { namespace fusion { struct transform_view_iterator_tag; struct transform_view_iterator2_tag; namespace extension { template struct equal_to_impl; template<> struct equal_to_impl { template struct apply : result_of::equal_to {}; }; template<> struct equal_to_impl { template struct apply : result_of::equal_to {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/transform_view/detail/next_impl.hpp000066400000000000000000000050531265471724600303270ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_NEXT_IMPL_07162005_1029) #define FUSION_NEXT_IMPL_07162005_1029 #include #include namespace boost { namespace fusion { struct transform_view_iterator_tag; struct transform_view_iterator2_tag; template struct transform_view_iterator; template struct transform_view_iterator2; namespace extension { template struct next_impl; // Unary Version template <> struct next_impl { template struct apply { typedef typename Iterator::first_type first_type; typedef typename result_of::next::type next_type; typedef typename Iterator::transform_type transform_type; typedef transform_view_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(fusion::next(i.first), i.f); } }; }; // Binary Version template <> struct next_impl { template struct apply { typedef typename Iterator::first1_type first1_type; typedef typename Iterator::first2_type first2_type; typedef typename result_of::next::type next1_type; typedef typename result_of::next::type next2_type; typedef typename Iterator::transform_type transform_type; typedef transform_view_iterator2 type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(fusion::next(i.first1), fusion::next(i.first2), i.f); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/transform_view/detail/prior_impl.hpp000066400000000000000000000051351265471724600305050ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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(FUSION_PREV_IMPL_13122005_2110) #define FUSION_PREV_IMPL_13122005_2110 #include #include namespace boost { namespace fusion { struct transform_view_iterator_tag; struct transform_view_iterator2_tag; template struct transform_view_iterator; template struct transform_view_iterator2; namespace extension { template struct prior_impl; // Unary Version template<> struct prior_impl { template struct apply { typedef typename Iterator::first_type first_type; typedef typename result_of::prior::type prior_type; typedef typename Iterator::transform_type transform_type; typedef transform_view_iterator type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(fusion::prior(i.first), i.f); } }; }; // Binary Version template<> struct prior_impl { template struct apply { typedef typename Iterator::first1_type first1_type; typedef typename Iterator::first2_type first2_type; typedef typename result_of::prior::type prior1_type; typedef typename result_of::prior::type prior2_type; typedef typename Iterator::transform_type transform_type; typedef transform_view_iterator2 type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(fusion::prior(i.first1), fusion::prior(i.first2), i.f); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/transform_view/detail/value_at_impl.hpp000066400000000000000000000040721265471724600311510ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Distributed under the 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_FUSION_VALUE_AT_IMPL_20061101_0745) #define BOOST_FUSION_VALUE_AT_IMPL_20061101_0745 #include #include #include #include namespace boost { namespace fusion { struct transform_view_tag; struct transform_view2_tag; namespace extension { template struct value_at_impl; template<> struct value_at_impl { template struct apply { typedef typename Seq::transform_type F; typedef detail::apply_transform_result transform_type; typedef typename boost::fusion::result_of::value_at::type value_type; typedef typename mpl::apply::type type; }; }; template<> struct value_at_impl { template struct apply { typedef typename Seq::transform_type F; typedef detail::apply_transform_result transform_type; typedef typename boost::fusion::result_of::value_at::type value1_type; typedef typename boost::fusion::result_of::value_at::type value2_type; typedef typename mpl::apply::type type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/transform_view/detail/value_of_impl.hpp000066400000000000000000000041331265471724600311470ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_VALUE_OF_IMPL_07162005_1030) #define FUSION_VALUE_OF_IMPL_07162005_1030 #include #include #include #include namespace boost { namespace fusion { struct transform_view_iterator_tag; struct transform_view_iterator2_tag; namespace extension { template struct value_of_impl; // Unary Version template <> struct value_of_impl { template struct apply { typedef typename result_of::value_of::type value_type; typedef detail::apply_transform_result transform_type; typedef typename mpl::apply::type type; }; }; // Binary Version template <> struct value_of_impl { template struct apply { typedef typename result_of::value_of::type value1_type; typedef typename result_of::value_of::type value2_type; typedef detail::apply_transform_result transform_type; typedef typename mpl::apply::type type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/transform_view/transform_view.hpp000066400000000000000000000123501265471724600301310ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_TRANSFORM_VIEW_07162005_1037) #define FUSION_TRANSFORM_VIEW_07162005_1037 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct void_; struct transform_view_tag; struct transform_view2_tag; struct fusion_sequence_tag; // Binary Version template struct transform_view : sequence_base > { BOOST_STATIC_ASSERT(result_of::size::value == result_of::size::value); typedef transform_view2_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::true_ is_view; typedef typename traits::category_of::type category1; typedef typename traits::category_of::type category2; typedef typename detail::strictest_traversal< fusion::vector2 >::type category; typedef typename result_of::begin::type first1_type; typedef typename result_of::begin::type first2_type; typedef typename result_of::end::type last1_type; typedef typename result_of::end::type last2_type; typedef typename result_of::size::type size; typedef Sequence1 sequence1_type; typedef Sequence2 sequence2_type; typedef F transform_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED transform_view(Sequence1& in_seq1, Sequence2& in_seq2, F const& binop) : f(binop) , seq1(in_seq1) , seq2(in_seq2) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED first1_type first1() const { return fusion::begin(seq1); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED first2_type first2() const { return fusion::begin(seq2); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED last1_type last1() const { return fusion::end(seq1); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED last2_type last2() const { return fusion::end(seq2); } transform_type f; typename mpl::if_, Sequence1, Sequence1&>::type seq1; typename mpl::if_, Sequence2, Sequence2&>::type seq2; private: // silence MSVC warning C4512: assignment operator could not be generated transform_view& operator= (transform_view const&); }; // Unary Version template #if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) struct transform_view : sequence_base > #else struct transform_view : sequence_base > #endif { typedef transform_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::true_ is_view; typedef typename traits::category_of::type category; typedef typename result_of::begin::type first_type; typedef typename result_of::end::type last_type; typedef typename result_of::size::type size; typedef Sequence sequence_type; typedef F transform_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED transform_view(Sequence& in_seq, F const& in_f) : seq(in_seq) , f(in_f) {} BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED first_type first() const { return fusion::begin(seq); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED last_type last() const { return fusion::end(seq); } typename mpl::if_, Sequence, Sequence&>::type seq; transform_type f; private: // silence MSVC warning C4512: assignment operator could not be generated transform_view& operator= (transform_view const&); }; }} #endif KWStyle-master/Utilities/boost/fusion/view/transform_view/transform_view_fwd.hpp000066400000000000000000000012611265471724600307700ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_TRANSFORM_VIEW_FORWARD_01052006_1839) #define FUSION_TRANSFORM_VIEW_FORWARD_01052006_1839 namespace boost { namespace fusion { struct void_; struct transform_view_tag; struct transform_view2_tag; template struct transform_view; }} #endif KWStyle-master/Utilities/boost/fusion/view/transform_view/transform_view_iterator.hpp000066400000000000000000000070471265471724600320510ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the 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(FUSION_TRANSFORM_VIEW_ITERATOR_07162005_1033) #define FUSION_TRANSFORM_VIEW_ITERATOR_07162005_1033 #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { // Unary Version struct transform_view_iterator_tag; template struct transform_view_iterator : iterator_base > { typedef transform_view_iterator_tag fusion_tag; typedef convert_iterator converter; typedef typename converter::type first_type; typedef typename traits::category_of::type category; typedef F transform_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED transform_view_iterator(First const& in_first, F const& in_f) : first(converter::call(in_first)), f(in_f) {} first_type first; transform_type f; private: // silence MSVC warning C4512: assignment operator could not be generated transform_view_iterator& operator= (transform_view_iterator const&); }; // Binary Version struct transform_view_iterator2_tag; template struct transform_view_iterator2 : iterator_base > { typedef transform_view_iterator2_tag fusion_tag; typedef convert_iterator converter1; typedef convert_iterator converter2; typedef typename converter1::type first1_type; typedef typename converter2::type first2_type; typedef typename traits::category_of::type category; typedef F transform_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED transform_view_iterator2(First1 const& in_first1, First2 const& in_first2, F const& in_f) : first1(converter1::call(in_first1)), first2(converter2::call(in_first2)), f(in_f) {} first1_type first1; first2_type first2; transform_type f; private: // silence MSVC warning C4512: assignment operator could not be generated transform_view_iterator2& operator= (transform_view_iterator2 const&); }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::transform_view_iterator > { }; template struct iterator_traits< ::boost::fusion::transform_view_iterator2 > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/view/zip_view.hpp000066400000000000000000000012011265471724600236440ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_ZIP_VIEW_23012006_0811) #define FUSION_ZIP_VIEW_23012006_0811 #include #include #include #endif KWStyle-master/Utilities/boost/fusion/view/zip_view/000077500000000000000000000000001265471724600231415ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/zip_view/detail/000077500000000000000000000000001265471724600244035ustar00rootroot00000000000000KWStyle-master/Utilities/boost/fusion/view/zip_view/detail/advance_impl.hpp000066400000000000000000000043101265471724600275340ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_ADVANCE_IMPL_20061024_2021) #define FUSION_ADVANCE_IMPL_20061024_2021 #include #include #include #include #include namespace boost { namespace fusion { struct zip_view_iterator_tag; namespace detail { template struct poly_advance { template struct result; template struct result(It)> { typedef typename remove_reference::type it; typedef typename result_of::advance::type type; }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(const It& it) const { return fusion::advance(it); } }; } namespace extension { template struct advance_impl; template<> struct advance_impl { template struct apply { typedef zip_view_iterator< typename result_of::transform >::type> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return type( fusion::transform(it.iterators_, detail::poly_advance())); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/zip_view/detail/at_impl.hpp000066400000000000000000000060041265471724600265410ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_AT_IMPL_20060124_1933) #define FUSION_AT_IMPL_20060124_1933 #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct zip_view_tag; namespace detail { template struct poly_at { template struct result; template struct result(SeqRef)> : mpl::eval_if, mpl::identity, result_of::at::type, N> > { BOOST_MPL_ASSERT((is_reference)); }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(Seq& seq) const { return fusion::at(seq); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(Seq const& seq) const { return fusion::at(seq); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type operator()(unused_type const&) const { return unused_type(); } }; } namespace extension { template struct at_impl; template<> struct at_impl { template struct apply { typedef typename result_of::as_vector< typename result_of::transform< typename Seq::sequences, detail::poly_at >::type>::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return type( fusion::transform(seq.sequences_, detail::poly_at())); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/zip_view/detail/begin_impl.hpp000066400000000000000000000057631265471724600272340ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_BEGIN_IMPL_20060123_2147) #define FUSION_BEGIN_IMPL_20060123_2147 #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct zip_view_tag; namespace detail { struct poly_begin { template struct result; template struct result : mpl::eval_if, mpl::identity, result_of::begin::type> > { BOOST_MPL_ASSERT((is_reference)); }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(Seq& seq) const { return fusion::begin(seq); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(Seq const& seq) const { return fusion::begin(seq); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type operator()(unused_type const&) const { return unused_type(); } }; } namespace extension { template struct begin_impl; template<> struct begin_impl { template struct apply { typedef zip_view_iterator< typename result_of::transform::type, typename Sequence::category> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& sequence) { return type( fusion::transform(sequence.sequences_, detail::poly_begin())); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/zip_view/detail/deref_impl.hpp000066400000000000000000000052701265471724600272260ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_DEREF_IMPL_20061024_1959) #define FUSION_DEREF_IMPL_20061024_1959 #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct zip_view_iterator_tag; namespace detail { struct poly_deref { template struct result; template struct result { typedef typename remove_const< typename remove_reference::type>::type it; typedef typename mpl::eval_if, mpl::identity, result_of::deref >::type type; }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(const It& it) const { return fusion::deref(it); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type operator()(unused_type const&) const { return unused_type(); } }; } namespace extension { template struct deref_impl; template<> struct deref_impl { template struct apply { typedef typename result_of::as_vector< typename result_of::transform::type>::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return type( fusion::transform(it.iterators_, detail::poly_deref())); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/zip_view/detail/distance_impl.hpp000066400000000000000000000061101265471724600277250ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_DISTANCE_IMPL_20060124_2033) #define FUSION_DISTANCE_IMPL_20060124_2033 #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct zip_view_iterator_tag; struct random_access_iterator_tag; namespace detail { template struct best_distance { typedef typename result_of::find_if< typename SearchIt::iterators, is_same, random_access_iterator_tag> > finder; BOOST_MPL_ASSERT_NOT((is_same >)); typedef typename result_of::distance::type type; }; template struct default_distance : result_of::distance< typename result_of::value_at_c::type, typename result_of::value_at_c::type> {}; template struct zip_view_iterator_distance { typedef typename result_of::find_if< typename It1::iterators, is_same, random_access_iterator_tag> > finder; typedef typename mpl::eval_if< is_same::type>, detail::default_distance , detail::best_distance >::type type; }; } namespace extension { template struct distance_impl; template<> struct distance_impl { template struct apply : detail::zip_view_iterator_distance::type { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename detail::zip_view_iterator_distance::type call(It1 const& /*it1*/, It2 const& /*it2*/) { return typename detail::zip_view_iterator_distance::type(); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/zip_view/detail/end_impl.hpp000066400000000000000000000070541265471724600267110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_END_IMPL_20060123_2208) #define FUSION_END_IMPL_20060123_2208 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct zip_view_tag; namespace detail { template struct get_endpoint { typedef typename remove_reference::type Seq; typedef typename result_of::begin::type begin; typedef typename result_of::advance::type type; }; template struct endpoints { template struct result; template struct result(SeqRef)> : mpl::eval_if, mpl::identity, get_endpoint > { BOOST_MPL_ASSERT((is_reference)); }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(Seq& seq) const { return fusion::advance(fusion::begin(seq)); } template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(Seq const& seq) const { return fusion::advance(fusion::begin(seq)); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type operator()(unused_type const&) const { return unused_type(); } }; } namespace extension { template struct end_impl; template<> struct end_impl { template struct apply { typedef zip_view_iterator< typename result_of::transform >::type, typename Sequence::category> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& sequence) { return type( fusion::transform(sequence.sequences_, detail::endpoints())); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/zip_view/detail/equal_to_impl.hpp000066400000000000000000000036631265471724600277560ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_EQUAL_TO_IMPL_20060128_1423) #define FUSION_EQUAL_TO_IMPL_20060128_1423 #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct zip_view_iterator_tag; namespace detail { template struct zip_iterators_equal { typedef mpl::zip_view > zipped; typedef mpl::transform_view > > transformed; typedef typename mpl::find_if >::type found; typedef typename is_same::type, found>::type type; }; } namespace extension { template struct equal_to_impl; template<> struct equal_to_impl { template struct apply : detail::zip_iterators_equal::type {}; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/zip_view/detail/next_impl.hpp000066400000000000000000000053071265471724600271200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_NEXT_IMPL_20060124_2006) #define FUSION_NEXT_IMPL_20060124_2006 #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct zip_view_iterator_tag; namespace detail { struct poly_next { template struct result; template struct result { typedef typename remove_const< typename remove_reference::type>::type it; typedef typename mpl::eval_if, mpl::identity, result_of::next >::type type; }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(const It& it) const { return fusion::next(it); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type operator()(unused_type const&) const { return unused_type(); } }; } namespace extension { template struct next_impl; template<> struct next_impl { template struct apply { typedef fusion::zip_view_iterator< typename result_of::transform::type, typename Iterator::category> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& it) { return type( fusion::transform(it.iterators_, detail::poly_next())); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/zip_view/detail/prior_impl.hpp000066400000000000000000000053131265471724600272720ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_PRIOR_IMPL_20060124_2006) #define FUSION_PRIOR_IMPL_20060124_2006 #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct zip_view_iterator_tag; namespace detail { struct poly_prior { template struct result; template struct result { typedef typename remove_const< typename remove_reference::type>::type it; typedef typename mpl::eval_if, mpl::identity, result_of::prior >::type type; }; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(const It& it) const { return fusion::prior(it); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type operator()(unused_type const&) const { return unused_type(); } }; } namespace extension { template struct prior_impl; template<> struct prior_impl { template struct apply { typedef zip_view_iterator< typename result_of::transform::type, typename Iterator::category> type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& it) { return type( fusion::transform(it.iterators_, detail::poly_prior())); } }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/zip_view/detail/size_impl.hpp000066400000000000000000000016531265471724600271140ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_SIZE_IMPL_20060124_0800) #define FUSION_SIZE_IMPL_20060124_0800 namespace boost { namespace fusion { struct zip_view_tag; namespace extension { template struct size; template struct size_impl; template<> struct size_impl { template struct apply { typedef typename Sequence::size type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/zip_view/detail/value_at_impl.hpp000066400000000000000000000044441265471724600277430ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_VALUE_AT_IMPL_20060124_2129) #define FUSION_VALUE_AT_IMPL_20060124_2129 #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct zip_view_tag; namespace detail { template struct poly_value_at { template struct result; template struct result(Seq)> : mpl::eval_if, mpl::identity, result_of::value_at::type, N> > {}; // never called, but needed for decltype-based result_of (C++0x) #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES template BOOST_FUSION_GPU_ENABLED typename result::type operator()(Seq&&) const; #endif }; } namespace extension { template struct value_at_impl; template<> struct value_at_impl { template struct apply { typedef typename result_of::transform< typename Sequence::sequences, detail::poly_value_at >::type values; typedef typename result_of::as_vector::type type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/zip_view/detail/value_of_impl.hpp000066400000000000000000000042461265471724600277430ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_VALUE_OF_IMPL_20060124_2147) #define FUSION_VALUE_OF_IMPL_20060124_2147 #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct zip_view_iterator_tag; namespace detail { struct poly_value_of { template struct result; template struct result : mpl::eval_if, mpl::identity, result_of::value_of > {}; // never called, but needed for decltype-based result_of (C++0x) #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES template BOOST_FUSION_GPU_ENABLED typename result::type operator()(It&&) const; #endif }; } namespace extension { template struct value_of_impl; template<> struct value_of_impl { template struct apply { typedef typename result_of::transform< typename Iterator::iterators, detail::poly_value_of>::type values; typedef typename result_of::as_vector::type type; }; }; } }} #endif KWStyle-master/Utilities/boost/fusion/view/zip_view/zip_view.hpp000066400000000000000000000114611265471724600255110ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_ZIP_VIEW_23012006_0813) #define FUSION_ZIP_VIEW_23012006_0813 #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 fusion { namespace detail { template struct all_references : fusion::result_of::equal_to > >::type, typename fusion::result_of::end::type> {}; struct seq_ref_size { template struct result; template struct result { static int const high_int = static_cast( (static_cast(~0) >> 1) - 1); typedef typename remove_reference::type SeqClass; typedef typename mpl::eval_if< traits::is_forward, result_of::size, mpl::int_ >::type type; }; // never called, but needed for decltype-based result_of (C++0x) #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES template BOOST_FUSION_GPU_ENABLED typename result::type operator()(Seq&&) const; #endif }; struct poly_min { template struct result; template struct result { typedef typename remove_reference::type lhs; typedef typename remove_reference::type rhs; typedef typename mpl::min::type type; }; // never called, but needed for decltype-based result_of (C++0x) #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES template BOOST_FUSION_GPU_ENABLED typename result::type operator()(Lhs&&, Rhs&&) const; #endif }; template struct min_size { typedef typename result_of::transform::type sizes; typedef typename result_of::fold::type, detail::poly_min>::type type; }; } struct zip_view_tag; struct fusion_sequence_tag; template struct zip_view : sequence_base< zip_view > { typedef typename result_of::remove::type real_sequences; BOOST_MPL_ASSERT((detail::all_references)); typedef typename detail::strictest_traversal::type category; typedef zip_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::true_ is_view; typedef typename fusion::result_of::as_vector::type sequences; typedef typename detail::min_size::type size; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED zip_view( const Sequences& seqs) : sequences_(seqs) {}; sequences sequences_; }; }} #endif KWStyle-master/Utilities/boost/fusion/view/zip_view/zip_view_iterator.hpp000066400000000000000000000040071265471724600274200ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_ZIP_VIEW_ITERATOR_23012006_0814) #define FUSION_ZIP_VIEW_ITERATOR_23012006_0814 #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace fusion { struct zip_view_iterator_tag; template< typename IteratorSequence, typename Traversal> struct zip_view_iterator : iterator_base > { typedef zip_view_iterator_tag fusion_tag; typedef Traversal category; template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED zip_view_iterator( const InitSeq& iterator_seq) : iterators_(iterator_seq) {} typedef typename result_of::as_vector::type iterators; iterators iterators_; }; }} #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std { template struct iterator_traits< ::boost::fusion::zip_view_iterator > { }; } #endif #endif KWStyle-master/Utilities/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp000066400000000000000000000014421265471724600302600ustar00rootroot00000000000000/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2006 Dan Marsden Distributed under the 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(FUSION_ZIP_VIEW_ITERATOR_FWD) #define FUSION_ZIP_VIEW_ITERATOR_FWD #include #include namespace boost { namespace fusion { template< typename IteratorSequence, typename Traversal = typename detail::strictest_traversal::type> struct zip_view_iterator; }} #endif KWStyle-master/Utilities/boost/generator_iterator.hpp000066400000000000000000000037541265471724600234510ustar00rootroot00000000000000// (C) Copyright Jens Maurer 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) // // Revision History: // 15 Nov 2001 Jens Maurer // created. // See http://www.boost.org/libs/utility/iterator_adaptors.htm for documentation. #ifndef BOOST_ITERATOR_ADAPTOR_GENERATOR_ITERATOR_HPP #define BOOST_ITERATOR_ADAPTOR_GENERATOR_ITERATOR_HPP #include #include namespace boost { namespace iterators { template class generator_iterator : public iterator_facade< generator_iterator , typename Generator::result_type , single_pass_traversal_tag , typename Generator::result_type const& > { typedef iterator_facade< generator_iterator , typename Generator::result_type , single_pass_traversal_tag , typename Generator::result_type const& > super_t; public: generator_iterator() {} generator_iterator(Generator* g) : m_g(g), m_value((*m_g)()) {} void increment() { m_value = (*m_g)(); } const typename Generator::result_type& dereference() const { return m_value; } bool equal(generator_iterator const& y) const { return this->m_g == y.m_g && this->m_value == y.m_value; } private: Generator* m_g; typename Generator::result_type m_value; }; template struct generator_iterator_generator { typedef generator_iterator type; }; template inline generator_iterator make_generator_iterator(Generator & gen) { typedef generator_iterator result_t; return result_t(&gen); } } // namespace iterators using iterators::generator_iterator; using iterators::generator_iterator_generator; using iterators::make_generator_iterator; } // namespace boost #endif // BOOST_ITERATOR_ADAPTOR_GENERATOR_ITERATOR_HPP KWStyle-master/Utilities/boost/geometry.hpp000066400000000000000000000013001265471724600213660ustar00rootroot00000000000000// Boost.Geometry (aka GGL, Generic Geometry Library) // Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands. // Copyright (c) 2008-2011 Bruno Lalande, Paris, France. // Copyright (c) 2009-2011 Mateusz Loskot, London, UK. // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. // 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 BOOST_GEOMETRY_HPP #define BOOST_GEOMETRY_HPP #include #endif // BOOST_GEOMETRY_HPP KWStyle-master/Utilities/boost/get_pointer.hpp000066400000000000000000000022311265471724600220560ustar00rootroot00000000000000// Copyright Peter Dimov and 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 GET_POINTER_DWA20021219_HPP #define GET_POINTER_DWA20021219_HPP #include // In order to avoid circular dependencies with Boost.TR1 // we make sure that our include of doesn't try to // pull in the TR1 headers: that's why we use this header // rather than including directly: #include // std::auto_ptr namespace boost { // get_pointer(p) extracts a ->* capable pointer from p template T * get_pointer(T * p) { return p; } // get_pointer(shared_ptr const & p) has been moved to shared_ptr.hpp template T * get_pointer(std::auto_ptr const& p) { return p.get(); } #if !defined( BOOST_NO_CXX11_SMART_PTR ) template T * get_pointer( std::unique_ptr const& p ) { return p.get(); } template T * get_pointer( std::shared_ptr const& p ) { return p.get(); } #endif } // namespace boost #endif // GET_POINTER_DWA20021219_HPP KWStyle-master/Utilities/boost/implicit_cast.hpp000066400000000000000000000015631265471724600223720ustar00rootroot00000000000000// 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 IMPLICIT_CAST_DWA200356_HPP # define 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; } // incomplete return type now is here //template //void implicit_cast (...); } // namespace boost #endif // IMPLICIT_CAST_DWA200356_HPP KWStyle-master/Utilities/boost/indirect_reference.hpp000066400000000000000000000020141265471724600233550ustar00rootroot00000000000000#ifndef INDIRECT_REFERENCE_DWA200415_HPP # define INDIRECT_REFERENCE_DWA200415_HPP // // Copyright David Abrahams 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) // // typename indirect_reference

::type provides the type of *p. // // http://www.boost.org/libs/iterator/doc/pointee.html // # include # include # include # include # include namespace boost { namespace detail { template struct smart_ptr_reference { typedef typename boost::pointee

::type& type; }; } template struct indirect_reference : mpl::eval_if< detail::is_incrementable

, iterator_reference

, detail::smart_ptr_reference

> { }; } // namespace boost #endif // INDIRECT_REFERENCE_DWA200415_HPP KWStyle-master/Utilities/boost/integer.hpp000066400000000000000000000265051265471724600212060ustar00rootroot00000000000000// 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(__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(__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 KWStyle-master/Utilities/boost/integer_fwd.hpp000066400000000000000000000120221265471724600220330ustar00rootroot00000000000000// 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; // 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 boost #endif // BOOST_INTEGER_FWD_HPP KWStyle-master/Utilities/boost/integer_traits.hpp000066400000000000000000000201751265471724600225710ustar00rootroot00000000000000/* boost integer_traits.hpp header file * * 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) * * $Id$ * * Idea by Beman Dawes, Ed Brey, Steve Cleary, and Nathan Myers */ // See http://www.boost.org/libs/integer for documentation. #ifndef BOOST_INTEGER_TRAITS_HPP #define BOOST_INTEGER_TRAITS_HPP #include #include // These are an implementation detail and not part of the interface #include // we need wchar.h for WCHAR_MAX/MIN but not all platforms provide it, // and some may have but not ... #if !defined(BOOST_NO_INTRINSIC_WCHAR_T) && (!defined(BOOST_NO_CWCHAR) || defined(sun) || defined(__sun) || defined(__QNX__)) #include #endif // // We simply cannot include this header on gcc without getting copious warnings of the kind: // // ../../../boost/integer_traits.hpp:164:66: 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 { template class integer_traits : public std::numeric_limits { public: BOOST_STATIC_CONSTANT(bool, is_integral = false); }; namespace detail { template class integer_traits_base { public: BOOST_STATIC_CONSTANT(bool, is_integral = true); BOOST_STATIC_CONSTANT(T, const_min = min_val); BOOST_STATIC_CONSTANT(T, const_max = max_val); }; #ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION // A definition is required even for integral static constants template const bool integer_traits_base::is_integral; template const T integer_traits_base::const_min; template const T integer_traits_base::const_max; #endif } // namespace detail template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; #ifndef BOOST_NO_INTRINSIC_WCHAR_T template<> class integer_traits : public std::numeric_limits, // Don't trust WCHAR_MIN and WCHAR_MAX with Mac OS X's native // library: they are wrong! #if defined(WCHAR_MIN) && defined(WCHAR_MAX) && !defined(__APPLE__) public detail::integer_traits_base #elif defined(__BORLANDC__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__BEOS__) && defined(__GNUC__)) // No WCHAR_MIN and WCHAR_MAX, whar_t is short and unsigned: public detail::integer_traits_base #elif (defined(__sgi) && (!defined(__SGI_STL_PORT) || __SGI_STL_PORT < 0x400))\ || (defined __APPLE__)\ || (defined(__OpenBSD__) && defined(__GNUC__))\ || (defined(__NetBSD__) && defined(__GNUC__))\ || (defined(__FreeBSD__) && defined(__GNUC__))\ || (defined(__DragonFly__) && defined(__GNUC__))\ || (defined(__hpux) && defined(__GNUC__) && (__GNUC__ == 3) && !defined(__SGI_STL_PORT)) // No WCHAR_MIN and WCHAR_MAX, wchar_t has the same range as int. // - SGI MIPSpro with native library // - gcc 3.x on HP-UX // - Mac OS X with native library // - gcc on FreeBSD, OpenBSD and NetBSD public detail::integer_traits_base #else #error No WCHAR_MIN and WCHAR_MAX present, please adjust integer_traits<> for your compiler. #endif { }; #endif // BOOST_NO_INTRINSIC_WCHAR_T template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; template<> class integer_traits : public std::numeric_limits, public detail::integer_traits_base { }; #if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) #if defined(ULLONG_MAX) && defined(BOOST_HAS_LONG_LONG) template<> class integer_traits< ::boost::long_long_type> : public std::numeric_limits< ::boost::long_long_type>, public detail::integer_traits_base< ::boost::long_long_type, LLONG_MIN, LLONG_MAX> { }; template<> class integer_traits< ::boost::ulong_long_type> : public std::numeric_limits< ::boost::ulong_long_type>, public detail::integer_traits_base< ::boost::ulong_long_type, 0, ULLONG_MAX> { }; #elif defined(ULONG_LONG_MAX) && defined(BOOST_HAS_LONG_LONG) template<> class integer_traits< ::boost::long_long_type> : public std::numeric_limits< ::boost::long_long_type>, public detail::integer_traits_base< ::boost::long_long_type, LONG_LONG_MIN, LONG_LONG_MAX>{ }; template<> class integer_traits< ::boost::ulong_long_type> : public std::numeric_limits< ::boost::ulong_long_type>, public detail::integer_traits_base< ::boost::ulong_long_type, 0, ULONG_LONG_MAX> { }; #elif defined(ULONGLONG_MAX) && defined(BOOST_HAS_LONG_LONG) template<> class integer_traits< ::boost::long_long_type> : public std::numeric_limits< ::boost::long_long_type>, public detail::integer_traits_base< ::boost::long_long_type, LONGLONG_MIN, LONGLONG_MAX> { }; template<> class integer_traits< ::boost::ulong_long_type> : public std::numeric_limits< ::boost::ulong_long_type>, public detail::integer_traits_base< ::boost::ulong_long_type, 0, ULONGLONG_MAX> { }; #elif defined(_LLONG_MAX) && defined(_C2) && defined(BOOST_HAS_LONG_LONG) template<> class integer_traits< ::boost::long_long_type> : public std::numeric_limits< ::boost::long_long_type>, public detail::integer_traits_base< ::boost::long_long_type, -_LLONG_MAX - _C2, _LLONG_MAX> { }; template<> class integer_traits< ::boost::ulong_long_type> : public std::numeric_limits< ::boost::ulong_long_type>, public detail::integer_traits_base< ::boost::ulong_long_type, 0, _ULLONG_MAX> { }; #elif defined(BOOST_HAS_LONG_LONG) // // we have long long but no constants, this happens for example with gcc in -ansi mode, // we'll just have to work out the values for ourselves (assumes 2's compliment representation): // template<> class integer_traits< ::boost::long_long_type> : public std::numeric_limits< ::boost::long_long_type>, public detail::integer_traits_base< ::boost::long_long_type, (1LL << (sizeof(::boost::long_long_type) * CHAR_BIT - 1)), ~(1LL << (sizeof(::boost::long_long_type) * CHAR_BIT - 1))> { }; template<> class integer_traits< ::boost::ulong_long_type> : public std::numeric_limits< ::boost::ulong_long_type>, public detail::integer_traits_base< ::boost::ulong_long_type, 0, ~0uLL> { }; #elif defined(BOOST_HAS_MS_INT64) template<> class integer_traits< __int64> : public std::numeric_limits< __int64>, public detail::integer_traits_base< __int64, _I64_MIN, _I64_MAX> { }; template<> class integer_traits< unsigned __int64> : public std::numeric_limits< unsigned __int64>, public detail::integer_traits_base< unsigned __int64, 0, _UI64_MAX> { }; #endif #endif } // namespace boost #endif /* BOOST_INTEGER_TRAITS_HPP */ KWStyle-master/Utilities/boost/intrusive_ptr.hpp000066400000000000000000000007631265471724600224640ustar00rootroot00000000000000#ifndef BOOST_INTRUSIVE_PTR_HPP_INCLUDED #define BOOST_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/intrusive_ptr.html for documentation. // #include #endif // #ifndef BOOST_INTRUSIVE_PTR_HPP_INCLUDED KWStyle-master/Utilities/boost/io_fwd.hpp000066400000000000000000000045151265471724600210150ustar00rootroot00000000000000// Boost io_fwd.hpp header file --------------------------------------------// // Copyright 2002 Daryle Walker. Use, modification, and distribution are subject // to the Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or a copy at .) // See for the library's home page. #ifndef BOOST_IO_FWD_HPP #define BOOST_IO_FWD_HPP #include // for std::char_traits (declaration) namespace boost { namespace io { // From -------------------------------------------// class ios_flags_saver; class ios_precision_saver; class ios_width_saver; class ios_base_all_saver; template < typename Ch, class Tr = ::std::char_traits > class basic_ios_iostate_saver; template < typename Ch, class Tr = ::std::char_traits > class basic_ios_exception_saver; template < typename Ch, class Tr = ::std::char_traits > class basic_ios_tie_saver; template < typename Ch, class Tr = ::std::char_traits > class basic_ios_rdbuf_saver; template < typename Ch, class Tr = ::std::char_traits > class basic_ios_fill_saver; template < typename Ch, class Tr = ::std::char_traits > class basic_ios_locale_saver; template < typename Ch, class Tr = ::std::char_traits > class basic_ios_all_saver; typedef basic_ios_iostate_saver ios_iostate_saver; typedef basic_ios_iostate_saver wios_iostate_saver; typedef basic_ios_exception_saver ios_exception_saver; typedef basic_ios_exception_saver wios_exception_saver; typedef basic_ios_tie_saver ios_tie_saver; typedef basic_ios_tie_saver wios_tie_saver; typedef basic_ios_rdbuf_saver ios_rdbuf_saver; typedef basic_ios_rdbuf_saver wios_rdbuf_saver; typedef basic_ios_fill_saver ios_fill_saver; typedef basic_ios_fill_saver wios_fill_saver; typedef basic_ios_locale_saver ios_locale_saver; typedef basic_ios_locale_saver wios_locale_saver; typedef basic_ios_all_saver ios_all_saver; typedef basic_ios_all_saver wios_all_saver; class ios_iword_saver; class ios_pword_saver; class ios_all_word_saver; } // namespace io } // namespace boost #endif // BOOST_IO_FWD_HPP KWStyle-master/Utilities/boost/is_placeholder.hpp000066400000000000000000000011721265471724600225170ustar00rootroot00000000000000#ifndef BOOST_IS_PLACEHOLDER_HPP_INCLUDED #define BOOST_IS_PLACEHOLDER_HPP_INCLUDED // MS compatible compilers support #pragma once #if defined( _MSC_VER ) && ( _MSC_VER >= 1020 ) # pragma once #endif // is_placeholder.hpp - TR1 is_placeholder metafunction // // 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 namespace boost { template< class T > struct is_placeholder { enum _vt { value = 0 }; }; } // namespace boost #endif // #ifndef BOOST_IS_PLACEHOLDER_HPP_INCLUDED KWStyle-master/Utilities/boost/iterator.hpp000066400000000000000000000007131265471724600213730ustar00rootroot00000000000000// (C) Copyright Beman Dawes 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) #ifndef BOOST_ITERATOR_HPP #define BOOST_ITERATOR_HPP // This header is obsolete and will be deprecated. #include #include // std::ptrdiff_t namespace boost { using std::iterator; } // namespace boost #endif // BOOST_ITERATOR_HPP KWStyle-master/Utilities/boost/iterator/000077500000000000000000000000001265471724600206615ustar00rootroot00000000000000KWStyle-master/Utilities/boost/iterator/counting_iterator.hpp000066400000000000000000000142061265471724600251340ustar00rootroot00000000000000// 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 COUNTING_ITERATOR_DWA200348_HPP # define COUNTING_ITERATOR_DWA200348_HPP # include # include # include # include # include # include namespace boost { namespace iterators { template < class Incrementable , class CategoryOrTraversal , class Difference > class counting_iterator; namespace detail { // Try to detect numeric types at compile time in ways compatible // with the limitations of the compiler and library. template struct is_numeric_impl { // For a while, this wasn't true, but we rely on it below. This is a regression assert. BOOST_STATIC_ASSERT(::boost::is_integral::value); # ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS BOOST_STATIC_CONSTANT(bool, value = std::numeric_limits::is_specialized); # else # if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551)) BOOST_STATIC_CONSTANT( bool, value = ( boost::is_convertible::value && boost::is_convertible::value )); # else BOOST_STATIC_CONSTANT(bool, value = ::boost::is_arithmetic::value); # endif # endif }; template struct is_numeric : mpl::bool_<(::boost::iterators::detail::is_numeric_impl::value)> {}; # if defined(BOOST_HAS_LONG_LONG) template <> struct is_numeric< ::boost::long_long_type> : mpl::true_ {}; template <> struct is_numeric< ::boost::ulong_long_type> : mpl::true_ {}; # endif // Some compilers fail to have a numeric_limits specialization template <> struct is_numeric : mpl::true_ {}; template struct numeric_difference { typedef typename boost::detail::numeric_traits::difference_type type; }; BOOST_STATIC_ASSERT(is_numeric::value); template struct counting_iterator_base { typedef typename detail::ia_dflt_help< CategoryOrTraversal , mpl::eval_if< is_numeric , mpl::identity , iterator_traversal > >::type traversal; typedef typename detail::ia_dflt_help< Difference , mpl::eval_if< is_numeric , numeric_difference , iterator_difference > >::type difference; typedef iterator_adaptor< counting_iterator // self , Incrementable // Base , Incrementable // Value # ifndef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY const // MSVC won't strip this. Instead we enable Thomas' // criterion (see boost/iterator/detail/facade_iterator_category.hpp) # endif , traversal , Incrementable const& // reference , difference > type; }; // Template class distance_policy_select -- choose a policy for computing the // distance between counting_iterators at compile-time based on whether or not // the iterator wraps an integer or an iterator, using "poor man's partial // specialization". template struct distance_policy_select; // A policy for wrapped iterators template struct iterator_distance { static Difference distance(Incrementable1 x, Incrementable2 y) { return y - x; } }; // A policy for wrapped numbers template struct number_distance { static Difference distance(Incrementable1 x, Incrementable2 y) { return boost::detail::numeric_distance(x, y); } }; } template < class Incrementable , class CategoryOrTraversal = use_default , class Difference = use_default > class counting_iterator : public detail::counting_iterator_base< Incrementable, CategoryOrTraversal, Difference >::type { typedef typename detail::counting_iterator_base< Incrementable, CategoryOrTraversal, Difference >::type super_t; friend class iterator_core_access; public: typedef typename super_t::difference_type difference_type; counting_iterator() { } counting_iterator(counting_iterator const& rhs) : super_t(rhs.base()) {} counting_iterator(Incrementable x) : super_t(x) { } # if 0 template counting_iterator( counting_iterator const& t , typename enable_if_convertible::type* = 0 ) : super_t(t.base()) {} # endif private: typename super_t::reference dereference() const { return this->base_reference(); } template difference_type distance_to(counting_iterator const& y) const { typedef typename mpl::if_< detail::is_numeric , detail::number_distance , detail::iterator_distance >::type d; return d::distance(this->base(), y.base()); } }; // Manufacture a counting iterator for an arbitrary incrementable type template inline counting_iterator make_counting_iterator(Incrementable x) { typedef counting_iterator result_t; return result_t(x); } } // namespace iterators using iterators::counting_iterator; using iterators::make_counting_iterator; } // namespace boost #endif // COUNTING_ITERATOR_DWA200348_HPP KWStyle-master/Utilities/boost/iterator/detail/000077500000000000000000000000001265471724600221235ustar00rootroot00000000000000KWStyle-master/Utilities/boost/iterator/detail/any_conversion_eater.hpp000066400000000000000000000012151265471724600270470ustar00rootroot00000000000000// 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 ANY_CONVERSION_EATER_DWA20031117_HPP # define ANY_CONVERSION_EATER_DWA20031117_HPP namespace boost { namespace iterators { namespace detail { // This type can be used in traits to "eat" up the one user-defined // implicit conversion allowed. struct any_conversion_eater { template any_conversion_eater(T const&); }; }}} // namespace boost::iterators::detail #endif // ANY_CONVERSION_EATER_DWA20031117_HPP KWStyle-master/Utilities/boost/iterator/detail/config_def.hpp000066400000000000000000000077001265471724600247230ustar00rootroot00000000000000// (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(__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(__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(__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(__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 KWStyle-master/Utilities/boost/iterator/detail/config_undef.hpp000066400000000000000000000012561265471724600252660ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/iterator/detail/enable_if.hpp000066400000000000000000000036061265471724600245450ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/iterator/detail/facade_iterator_category.hpp000066400000000000000000000135111265471724600276460ustar00rootroot00000000000000// 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 // 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 { // forward declaration struct 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 KWStyle-master/Utilities/boost/iterator/detail/minimum_category.hpp000066400000000000000000000012511265471724600262030ustar00rootroot00000000000000// 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 MINIMUM_CATEGORY_DWA20031119_HPP # define MINIMUM_CATEGORY_DWA20031119_HPP # include namespace boost { // This import below (as well as the whole header) is for backward compatibility // with boost/token_iterator.hpp. It should be removed as soon as that header is fixed. namespace detail { using iterators::minimum_category; } // namespace detail } // namespace boost #endif // MINIMUM_CATEGORY_DWA20031119_HPP KWStyle-master/Utilities/boost/iterator/filter_iterator.hpp000066400000000000000000000075361265471724600246030ustar00rootroot00000000000000// (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_FILTER_ITERATOR_23022003THW_HPP #define BOOST_FILTER_ITERATOR_23022003THW_HPP #include #include #include #include #include namespace boost { namespace iterators { template class filter_iterator; namespace detail { template struct filter_iterator_base { typedef iterator_adaptor< filter_iterator , Iterator , use_default , typename mpl::if_< is_convertible< typename iterator_traversal::type , random_access_traversal_tag > , bidirectional_traversal_tag , use_default >::type > type; }; } template class filter_iterator : public detail::filter_iterator_base::type { typedef typename detail::filter_iterator_base< Predicate, Iterator >::type super_t; friend class iterator_core_access; public: filter_iterator() { } filter_iterator(Predicate f, Iterator x, Iterator end_ = Iterator()) : super_t(x), m_predicate(f), m_end(end_) { satisfy_predicate(); } filter_iterator(Iterator x, Iterator end_ = Iterator()) : super_t(x), m_predicate(), m_end(end_) { // Pro8 is a little too aggressive about instantiating the // body of this function. #if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) // Don't allow use of this constructor if Predicate is a // function pointer type, since it will be 0. BOOST_STATIC_ASSERT(is_class::value); #endif satisfy_predicate(); } template filter_iterator( filter_iterator const& t , typename enable_if_convertible::type* = 0 ) : super_t(t.base()), m_predicate(t.predicate()), m_end(t.end()) {} Predicate predicate() const { return m_predicate; } Iterator end() const { return m_end; } private: void increment() { ++(this->base_reference()); satisfy_predicate(); } void decrement() { while(!this->m_predicate(*--(this->base_reference()))){}; } void satisfy_predicate() { while (this->base() != this->m_end && !this->m_predicate(*this->base())) ++(this->base_reference()); } // Probably should be the initial base class so it can be // optimized away via EBO if it is an empty class. Predicate m_predicate; Iterator m_end; }; template inline filter_iterator make_filter_iterator(Predicate f, Iterator x, Iterator end = Iterator()) { return filter_iterator(f,x,end); } template inline filter_iterator make_filter_iterator( typename iterators::enable_if< is_class , Iterator >::type x , Iterator end = Iterator()) { return filter_iterator(x,end); } } // namespace iterators using iterators::filter_iterator; using iterators::make_filter_iterator; } // namespace boost #endif // BOOST_FILTER_ITERATOR_23022003THW_HPP KWStyle-master/Utilities/boost/iterator/function_input_iterator.hpp000066400000000000000000000130361265471724600263520ustar00rootroot00000000000000// Copyright 2009 (C) Dean Michael Berris // Copyright 2012 (C) Google, Inc. // Copyright 2012 (C) Jeffrey Lee Hellrung, Jr. // Distributed under the 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_FUNCTION_INPUT_ITERATOR #define BOOST_FUNCTION_INPUT_ITERATOR #include #include #include #include #include #include #include #include namespace boost { namespace iterators { namespace impl { template class function_input_iterator : public iterator_facade< function_input_iterator, typename Function::result_type, single_pass_traversal_tag, typename Function::result_type const & > { public: function_input_iterator() {} function_input_iterator(Function & f_, Input state_ = Input()) : f(&f_), state(state_) {} void increment() { if(value) value = none; else (*f)(); ++state; } typename Function::result_type const & dereference() const { return (value ? value : value = (*f)()).get(); } bool equal(function_input_iterator const & other) const { return f == other.f && state == other.state; } private: Function * f; Input state; mutable optional value; }; template class function_pointer_input_iterator : public iterator_facade< function_pointer_input_iterator, typename function_types::result_type::type, single_pass_traversal_tag, typename function_types::result_type::type const & > { public: function_pointer_input_iterator() {} function_pointer_input_iterator(Function &f_, Input state_ = Input()) : f(f_), state(state_) {} void increment() { if(value) value = none; else (*f)(); ++state; } typename function_types::result_type::type const & dereference() const { return (value ? value : value = (*f)()).get(); } bool equal(function_pointer_input_iterator const & other) const { return f == other.f && state == other.state; } private: Function f; Input state; mutable optional::type> value; }; template class function_reference_input_iterator : public function_pointer_input_iterator { public: function_reference_input_iterator(Function & f_, Input state_ = Input()) : function_pointer_input_iterator(&f_, state_) {} }; } // namespace impl template class function_input_iterator : public mpl::if_< function_types::is_function_pointer, impl::function_pointer_input_iterator, typename mpl::if_< function_types::is_function_reference, impl::function_reference_input_iterator, impl::function_input_iterator >::type >::type { typedef typename mpl::if_< function_types::is_function_pointer, impl::function_pointer_input_iterator, typename mpl::if_< function_types::is_function_reference, impl::function_reference_input_iterator, impl::function_input_iterator >::type >::type base_type; public: function_input_iterator(Function & f, Input i) : base_type(f, i) {} }; template inline function_input_iterator make_function_input_iterator(Function & f, Input state) { typedef function_input_iterator result_t; return result_t(f, state); } template inline function_input_iterator make_function_input_iterator(Function * f, Input state) { typedef function_input_iterator result_t; return result_t(f, state); } struct infinite { infinite & operator++() { return *this; } infinite & operator++(int) { return *this; } bool operator==(infinite &) const { return false; }; bool operator==(infinite const &) const { return false; }; }; } // namespace iterators using iterators::function_input_iterator; using iterators::make_function_input_iterator; using iterators::infinite; } // namespace boost #endif KWStyle-master/Utilities/boost/iterator/indirect_iterator.hpp000066400000000000000000000075101265471724600251070ustar00rootroot00000000000000// (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_INDIRECT_ITERATOR_23022003THW_HPP #define BOOST_INDIRECT_ITERATOR_23022003THW_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef BOOST_MPL_CFG_NO_HAS_XXX # include # include # include # include #endif #include // must be last #include namespace boost { namespace iterators { template class indirect_iterator; namespace detail { template struct indirect_base { typedef typename boost::detail::iterator_traits::value_type dereferenceable; typedef iterator_adaptor< indirect_iterator , Iter , typename ia_dflt_help< Value, pointee >::type , Category , typename ia_dflt_help< Reference , mpl::eval_if< is_same , indirect_reference , add_reference > >::type , Difference > type; }; template <> struct indirect_base {}; } // namespace detail template < class Iterator , class Value = use_default , class Category = use_default , class Reference = use_default , class Difference = use_default > class indirect_iterator : public detail::indirect_base< Iterator, Value, Category, Reference, Difference >::type { typedef typename detail::indirect_base< Iterator, Value, Category, Reference, Difference >::type super_t; friend class iterator_core_access; public: indirect_iterator() {} indirect_iterator(Iterator iter) : super_t(iter) {} template < class Iterator2, class Value2, class Category2 , class Reference2, class Difference2 > indirect_iterator( indirect_iterator< Iterator2, Value2, Category2, Reference2, Difference2 > const& y , typename enable_if_convertible::type* = 0 ) : super_t(y.base()) {} private: typename super_t::reference dereference() const { # if BOOST_WORKAROUND(__BORLANDC__, < 0x5A0 ) return const_cast(**this->base()); # else return **this->base(); # endif } }; template inline indirect_iterator make_indirect_iterator(Iter x) { return indirect_iterator(x); } template inline indirect_iterator make_indirect_iterator(Iter x, Traits* = 0) { return indirect_iterator(x); } } // namespace iterators using iterators::indirect_iterator; using iterators::make_indirect_iterator; } // namespace boost #include #endif // BOOST_INDIRECT_ITERATOR_23022003THW_HPP KWStyle-master/Utilities/boost/iterator/interoperable.hpp000066400000000000000000000030251265471724600242250ustar00rootroot00000000000000// (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 KWStyle-master/Utilities/boost/iterator/is_lvalue_iterator.hpp000066400000000000000000000077211265471724600252750ustar00rootroot00000000000000// 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 IS_LVALUE_ITERATOR_DWA2003112_HPP # define IS_LVALUE_ITERATOR_DWA2003112_HPP #include #include #include #include // should be the last #includes #include #include #ifndef BOOST_NO_IS_CONVERTIBLE namespace boost { namespace iterators { namespace detail { #ifndef BOOST_NO_LVALUE_RETURN_DETECTION // Calling lvalue_preserver( , 0 ) returns a reference // to the expression's result if is an lvalue, or // not_an_lvalue() otherwise. struct not_an_lvalue {}; template T& lvalue_preserver(T&, int); template not_an_lvalue lvalue_preserver(U const&, ...); # define BOOST_LVALUE_PRESERVER(expr) detail::lvalue_preserver(expr,0) #else # define BOOST_LVALUE_PRESERVER(expr) expr #endif // Guts of is_lvalue_iterator. Value is the iterator's value_type // and the result is computed in the nested rebind template. template struct is_lvalue_iterator_impl { // Eat implicit conversions so we don't report true for things // convertible to Value const& struct conversion_eater { conversion_eater(Value&); }; static char tester(conversion_eater, int); static char (& tester(any_conversion_eater, ...) )[2]; template struct rebind { static It& x; BOOST_STATIC_CONSTANT( bool , value = ( sizeof( is_lvalue_iterator_impl::tester( BOOST_LVALUE_PRESERVER(*x), 0 ) ) == 1 ) ); }; }; #undef BOOST_LVALUE_PRESERVER // // void specializations to handle std input and output iterators // template <> struct is_lvalue_iterator_impl { template struct rebind : boost::mpl::false_ {}; }; #ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS template <> struct is_lvalue_iterator_impl { template struct rebind : boost::mpl::false_ {}; }; template <> struct is_lvalue_iterator_impl { template struct rebind : boost::mpl::false_ {}; }; template <> struct is_lvalue_iterator_impl { template struct rebind : boost::mpl::false_ {}; }; #endif // // This level of dispatching is required for Borland. We might save // an instantiation by removing it for others. // template struct is_readable_lvalue_iterator_impl : is_lvalue_iterator_impl< BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits::value_type const >::template rebind {}; template struct is_non_const_lvalue_iterator_impl : is_lvalue_iterator_impl< BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits::value_type >::template rebind {}; } // namespace detail // Define the trait with full mpl lambda capability and various broken // compiler workarounds BOOST_TT_AUX_BOOL_TRAIT_DEF1( is_lvalue_iterator,T,::boost::iterators::detail::is_readable_lvalue_iterator_impl::value) BOOST_TT_AUX_BOOL_TRAIT_DEF1( is_non_const_lvalue_iterator,T,::boost::iterators::detail::is_non_const_lvalue_iterator_impl::value) } // namespace iterators using iterators::is_lvalue_iterator; using iterators::is_non_const_lvalue_iterator; } // namespace boost #endif #include #include #endif // IS_LVALUE_ITERATOR_DWA2003112_HPP KWStyle-master/Utilities/boost/iterator/is_readable_iterator.hpp000066400000000000000000000053701265471724600255420ustar00rootroot00000000000000// 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 IS_READABLE_ITERATOR_DWA2003112_HPP # define IS_READABLE_ITERATOR_DWA2003112_HPP #include #include #include #include // should be the last #include #include #ifndef BOOST_NO_IS_CONVERTIBLE namespace boost { namespace iterators { namespace detail { // Guts of is_readable_iterator. Value is the iterator's value_type // and the result is computed in the nested rebind template. template struct is_readable_iterator_impl { static char tester(Value&, int); static char (& tester(any_conversion_eater, ...) )[2]; template struct rebind { static It& x; BOOST_STATIC_CONSTANT( bool , value = ( sizeof( is_readable_iterator_impl::tester(*x, 1) ) == 1 ) ); }; }; #undef BOOST_READABLE_PRESERVER // // void specializations to handle std input and output iterators // template <> struct is_readable_iterator_impl { template struct rebind : boost::mpl::false_ {}; }; #ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS template <> struct is_readable_iterator_impl { template struct rebind : boost::mpl::false_ {}; }; template <> struct is_readable_iterator_impl { template struct rebind : boost::mpl::false_ {}; }; template <> struct is_readable_iterator_impl { template struct rebind : boost::mpl::false_ {}; }; #endif // // This level of dispatching is required for Borland. We might save // an instantiation by removing it for others. // template struct is_readable_iterator_impl2 : is_readable_iterator_impl< BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits::value_type const >::template rebind {}; } // namespace detail // Define the trait with full mpl lambda capability and various broken // compiler workarounds BOOST_TT_AUX_BOOL_TRAIT_DEF1( is_readable_iterator,T,::boost::iterators::detail::is_readable_iterator_impl2::value) } // namespace iterators using iterators::is_readable_iterator; } // namespace boost #endif #include #endif // IS_READABLE_ITERATOR_DWA2003112_HPP KWStyle-master/Utilities/boost/iterator/iterator_adaptor.hpp000066400000000000000000000256731265471724600247520ustar00rootroot00000000000000// (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 #include #include #include #include #include #ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY # include #endif #include #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. struct use_default; } // namespace iterators using iterators::use_default; // the incompleteness of use_default causes massive problems for // is_convertible (naturally). This workaround is fortunately not // needed for vc6/vc7. template struct is_convertible : mpl::false_ {}; 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 to easy. // struct enable_type; } // // 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. // # if defined(BOOST_NO_IS_CONVERTIBLE) || defined(BOOST_NO_SFINAE) template struct enable_if_convertible { typedef boost::iterators::detail::enable_type type; }; # elif BOOST_WORKAROUND(_MSC_FULL_VER, BOOST_TESTED_AT(13102292)) // For some reason vc7.1 needs us to "cut off" instantiation // of is_convertible in a few cases. template struct enable_if_convertible : iterators::enable_if< mpl::or_< is_same , is_convertible > , boost::iterators::detail::enable_type > {}; # else template struct enable_if_convertible : iterators::enable_if< is_convertible , boost::iterators::detail::enable_type > {}; # endif // // Default template argument handling for iterator_adaptor // namespace detail { // If T is use_default, return the result of invoking // DefaultNullaryFn, otherwise return T. template struct ia_dflt_help : mpl::eval_if< is_same , DefaultNullaryFn , mpl::identity > { }; // A metafunction which computes an iterator_adaptor's base class, // a specialization of iterator_facade. template < class Derived , class Base , class Value , class Traversal , class Reference , class Difference > struct iterator_adaptor_base { typedef iterator_facade< Derived # ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY , typename boost::iterators::detail::ia_dflt_help< Value , mpl::eval_if< is_same , iterator_value , remove_reference > >::type # else , typename boost::iterators::detail::ia_dflt_help< Value, iterator_value >::type # endif , typename boost::iterators::detail::ia_dflt_help< Traversal , iterator_traversal >::type , typename boost::iterators::detail::ia_dflt_help< Reference , mpl::eval_if< is_same , iterator_reference , add_reference > >::type , typename boost::iterators::detail::ia_dflt_help< Difference, iterator_difference >::type > type; }; // workaround for aC++ CR JAGaf33512 template inline void iterator_adaptor_assert_traversal () { BOOST_STATIC_ASSERT((is_convertible::value)); } } // // 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 ommitted 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 < class Derived , class Base , class Value = use_default , class Traversal = use_default , class Reference = use_default , class Difference = use_default > class iterator_adaptor : public boost::iterators::detail::iterator_adaptor_base< Derived, Base, Value, Traversal, Reference, Difference >::type { friend class iterator_core_access; protected: typedef typename boost::iterators::detail::iterator_adaptor_base< Derived, Base, Value, Traversal, Reference, Difference >::type super_t; public: iterator_adaptor() {} explicit iterator_adaptor(Base const &iter) : m_iterator(iter) { } typedef Base base_type; Base const& base() const { return m_iterator; } protected: // for convenience in derived classes typedef iterator_adaptor iterator_adaptor_; // // lvalue access to the Base object for Derived // Base const& base_reference() const { return m_iterator; } Base& base_reference() { 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 < class OtherDerived, class OtherIterator, class V, class C, class R, class D > bool equal(iterator_adaptor const& x) const { // Maybe readd with same_distance // BOOST_STATIC_ASSERT( // (detail::same_category_and_difference::value) // ); return m_iterator == x.base(); } typedef typename iterator_category_to_traversal< typename super_t::iterator_category >::type my_traversal; # define BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(cat) \ boost::iterators::detail::iterator_adaptor_assert_traversal(); void advance(typename super_t::difference_type n) { BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(random_access_traversal_tag) m_iterator += n; } void increment() { ++m_iterator; } void decrement() { BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(bidirectional_traversal_tag) --m_iterator; } template < class OtherDerived, class OtherIterator, class V, class C, class R, class D > typename super_t::difference_type distance_to( iterator_adaptor const& y) const { BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(random_access_traversal_tag) // Maybe readd with same_distance // BOOST_STATIC_ASSERT( // (detail::same_category_and_difference::value) // ); return y.base() - m_iterator; } # undef BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL private: // data members Base m_iterator; }; } // namespace iterators using iterators::iterator_adaptor; using iterators::enable_if_convertible; } // namespace boost #include #endif // BOOST_ITERATOR_ADAPTOR_23022003THW_HPP KWStyle-master/Utilities/boost/iterator/iterator_archetypes.hpp000066400000000000000000000361051265471724600254570ustar00rootroot00000000000000// (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_ARCHETYPES_HPP #define BOOST_ITERATOR_ARCHETYPES_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace iterators { template struct access_archetype; template struct traversal_archetype; namespace archetypes { enum { readable_iterator_bit = 1 , writable_iterator_bit = 2 , swappable_iterator_bit = 4 , lvalue_iterator_bit = 8 }; // Not quite tags, since dispatching wouldn't work. typedef mpl::int_::type readable_iterator_t; typedef mpl::int_::type writable_iterator_t; typedef mpl::int_< (readable_iterator_bit|writable_iterator_bit) >::type readable_writable_iterator_t; typedef mpl::int_< (readable_iterator_bit|lvalue_iterator_bit) >::type readable_lvalue_iterator_t; typedef mpl::int_< (lvalue_iterator_bit|writable_iterator_bit) >::type writable_lvalue_iterator_t; typedef mpl::int_::type swappable_iterator_t; typedef mpl::int_::type lvalue_iterator_t; template struct has_access : mpl::equal_to< mpl::bitand_ , Base > {}; } namespace detail { template struct assign_proxy { assign_proxy& operator=(T) { return *this; } }; template struct read_proxy { operator T() { return static_object::get(); } }; template struct read_write_proxy : read_proxy // Use to inherit from assign_proxy, but that doesn't work. -JGS { read_write_proxy& operator=(T) { return *this; } }; template struct arrow_proxy { T const* operator->() const { return 0; } }; struct no_operator_brackets {}; template struct readable_operator_brackets { read_proxy operator[](std::ptrdiff_t n) const { return read_proxy(); } }; template struct writable_operator_brackets { read_write_proxy operator[](std::ptrdiff_t n) const { return read_write_proxy(); } }; template struct operator_brackets : mpl::eval_if< is_convertible , mpl::eval_if< archetypes::has_access< AccessCategory , archetypes::writable_iterator_t > , mpl::identity > , mpl::if_< archetypes::has_access< AccessCategory , archetypes::readable_iterator_t > , readable_operator_brackets , no_operator_brackets > > , mpl::identity >::type {}; template struct traversal_archetype_impl { template struct archetype; }; // Constructor argument for those iterators that // are not default constructible struct ctor_arg {}; template struct traversal_archetype_ : traversal_archetype_impl::template archetype { typedef typename traversal_archetype_impl::template archetype base; traversal_archetype_() {} traversal_archetype_(ctor_arg arg) : base(arg) {} }; template <> struct traversal_archetype_impl { template struct archetype { explicit archetype(ctor_arg) {} struct bogus { }; // This use to be void, but that causes trouble for iterator_facade. Need more research. -JGS typedef bogus difference_type; Derived& operator++() { return (Derived&)static_object::get(); } Derived operator++(int) const { return (Derived&)static_object::get(); } }; }; template <> struct traversal_archetype_impl { template struct archetype : public equality_comparable< traversal_archetype_ >, public traversal_archetype_ { explicit archetype(ctor_arg arg) : traversal_archetype_(arg) {} typedef std::ptrdiff_t difference_type; }; }; template bool operator==(traversal_archetype_ const&, traversal_archetype_ const&) { return true; } template <> struct traversal_archetype_impl { template struct archetype : public traversal_archetype_ { archetype() : traversal_archetype_(ctor_arg()) {} }; }; template <> struct traversal_archetype_impl { template struct archetype : public traversal_archetype_ { Derived& operator--() { return static_object::get(); } Derived operator--(int) const { return static_object::get(); } }; }; template <> struct traversal_archetype_impl { template struct archetype : public traversal_archetype_ { Derived& operator+=(std::ptrdiff_t) { return static_object::get(); } Derived& operator-=(std::ptrdiff_t) { return static_object::get(); } }; }; template Derived& operator+(traversal_archetype_ const&, std::ptrdiff_t) { return static_object::get(); } template Derived& operator+(std::ptrdiff_t, traversal_archetype_ const&) { return static_object::get(); } template Derived& operator-(traversal_archetype_ const&, std::ptrdiff_t) { return static_object::get(); } template std::ptrdiff_t operator-(traversal_archetype_ const&, traversal_archetype_ const&) { return 0; } template bool operator<(traversal_archetype_ const&, traversal_archetype_ const&) { return true; } template bool operator>(traversal_archetype_ const&, traversal_archetype_ const&) { return true; } template bool operator<=(traversal_archetype_ const&, traversal_archetype_ const&) { return true; } template bool operator>=(traversal_archetype_ const&, traversal_archetype_ const&) { return true; } struct bogus_type; template struct convertible_type : mpl::if_< is_const, typename remove_const::type, bogus_type > {}; } // namespace detail template struct undefined; template struct iterator_access_archetype_impl { template struct archetype; }; template struct iterator_access_archetype : iterator_access_archetype_impl< AccessCategory >::template archetype { }; template <> struct iterator_access_archetype_impl< archetypes::readable_iterator_t > { template struct archetype { typedef typename remove_cv::type value_type; typedef Value reference; typedef Value* pointer; value_type operator*() const { return static_object::get(); } detail::arrow_proxy operator->() const { return detail::arrow_proxy(); } }; }; template <> struct iterator_access_archetype_impl< archetypes::writable_iterator_t > { template struct archetype { BOOST_STATIC_ASSERT(!is_const::value); typedef void value_type; typedef void reference; typedef void pointer; detail::assign_proxy operator*() const { return detail::assign_proxy(); } }; }; template <> struct iterator_access_archetype_impl< archetypes::readable_writable_iterator_t > { template struct archetype : public virtual iterator_access_archetype< Value, archetypes::readable_iterator_t > { typedef detail::read_write_proxy reference; detail::read_write_proxy operator*() const { return detail::read_write_proxy(); } }; }; template <> struct iterator_access_archetype_impl { template struct archetype : public virtual iterator_access_archetype< Value, archetypes::readable_iterator_t > { typedef Value& reference; Value& operator*() const { return static_object::get(); } Value* operator->() const { return 0; } }; }; template <> struct iterator_access_archetype_impl { template struct archetype : public virtual iterator_access_archetype< Value, archetypes::readable_lvalue_iterator_t > { BOOST_STATIC_ASSERT((!is_const::value)); }; }; template struct iterator_archetype; template struct traversal_archetype_base : detail::operator_brackets< typename remove_cv::type , AccessCategory , TraversalCategory > , detail::traversal_archetype_< iterator_archetype , Value , TraversalCategory > { }; namespace detail { template struct iterator_archetype_base : iterator_access_archetype , traversal_archetype_base { typedef iterator_access_archetype access; typedef typename detail::facade_iterator_category< TraversalCategory , typename mpl::eval_if< archetypes::has_access< AccessCategory, archetypes::writable_iterator_t > , remove_const , add_const >::type , typename access::reference >::type iterator_category; // Needed for some broken libraries (see below) typedef boost::iterator< iterator_category , Value , typename traversal_archetype_base< Value, AccessCategory, TraversalCategory >::difference_type , typename access::pointer , typename access::reference > workaround_iterator_base; }; } template struct iterator_archetype : public detail::iterator_archetype_base // These broken libraries require derivation from std::iterator // (or related magic) in order to handle iter_swap and other // iterator operations # if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, < 310) \ || BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(0x20101)) , public detail::iterator_archetype_base< Value, AccessCategory, TraversalCategory >::workaround_iterator_base # endif { // Derivation from std::iterator above caused references to nested // types to be ambiguous, so now we have to redeclare them all // here. # if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, < 310) \ || BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(0x20101)) typedef detail::iterator_archetype_base< Value,AccessCategory,TraversalCategory > base; typedef typename base::value_type value_type; typedef typename base::reference reference; typedef typename base::pointer pointer; typedef typename base::difference_type difference_type; typedef typename base::iterator_category iterator_category; # endif iterator_archetype() { } iterator_archetype(iterator_archetype const& x) : detail::iterator_archetype_base< Value , AccessCategory , TraversalCategory >(x) {} iterator_archetype& operator=(iterator_archetype const&) { return *this; } # if 0 // Optional conversion from mutable iterator_archetype( iterator_archetype< typename detail::convertible_type::type , AccessCategory , TraversalCategory> const& ); # endif }; } // namespace iterators // Backward compatibility names namespace iterator_archetypes = iterators::archetypes; using iterators::access_archetype; using iterators::traversal_archetype; using iterators::iterator_archetype; using iterators::undefined; using iterators::iterator_access_archetype_impl; using iterators::traversal_archetype_base; } // namespace boost #endif // BOOST_ITERATOR_ARCHETYPES_HPP KWStyle-master/Utilities/boost/iterator/iterator_categories.hpp000066400000000000000000000145411265471724600254350ustar00rootroot00000000000000// (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 boost::detail::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 > > > > > { }; // 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 // // 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 KWStyle-master/Utilities/boost/iterator/iterator_concepts.hpp000066400000000000000000000166251265471724600251330ustar00rootroot00000000000000// (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_CONCEPTS_HPP #define BOOST_ITERATOR_CONCEPTS_HPP #include #include // Use boost::detail::iterator_traits to work around some MSVC/Dinkumware problems. #include #include #include #include #include #include #include #include // Use boost/limits to work around missing limits headers on some compilers #include #include #include #include namespace boost_concepts { // Used a different namespace here (instead of "boost") so that the // concept descriptions do not take for granted the names in // namespace boost. //=========================================================================== // Iterator Access Concepts BOOST_concept(ReadableIterator,(Iterator)) : boost::Assignable , boost::CopyConstructible { typedef BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits::value_type value_type; typedef BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits::reference reference; BOOST_CONCEPT_USAGE(ReadableIterator) { value_type v = *i; boost::ignore_unused_variable_warning(v); } private: Iterator i; }; template < typename Iterator , typename ValueType = BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits::value_type > struct WritableIterator : boost::CopyConstructible { BOOST_CONCEPT_USAGE(WritableIterator) { *i = v; } private: ValueType v; Iterator i; }; template < typename Iterator , typename ValueType = BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits::value_type > struct WritableIteratorConcept : WritableIterator {}; BOOST_concept(SwappableIterator,(Iterator)) { BOOST_CONCEPT_USAGE(SwappableIterator) { std::iter_swap(i1, i2); } private: Iterator i1; Iterator i2; }; BOOST_concept(LvalueIterator,(Iterator)) { typedef typename boost::detail::iterator_traits::value_type value_type; BOOST_CONCEPT_USAGE(LvalueIterator) { value_type& r = const_cast(*i); boost::ignore_unused_variable_warning(r); } private: Iterator i; }; //=========================================================================== // Iterator Traversal Concepts BOOST_concept(IncrementableIterator,(Iterator)) : boost::Assignable , boost::CopyConstructible { typedef typename boost::iterator_traversal::type traversal_category; BOOST_CONCEPT_ASSERT(( boost::Convertible< traversal_category , boost::incrementable_traversal_tag >)); BOOST_CONCEPT_USAGE(IncrementableIterator) { ++i; (void)i++; } private: Iterator i; }; BOOST_concept(SinglePassIterator,(Iterator)) : IncrementableIterator , boost::EqualityComparable { BOOST_CONCEPT_ASSERT(( boost::Convertible< BOOST_DEDUCED_TYPENAME SinglePassIterator::traversal_category , boost::single_pass_traversal_tag > )); }; BOOST_concept(ForwardTraversal,(Iterator)) : SinglePassIterator , boost::DefaultConstructible { typedef typename boost::detail::iterator_traits::difference_type difference_type; BOOST_MPL_ASSERT((boost::is_integral)); BOOST_MPL_ASSERT_RELATION(std::numeric_limits::is_signed, ==, true); BOOST_CONCEPT_ASSERT(( boost::Convertible< BOOST_DEDUCED_TYPENAME ForwardTraversal::traversal_category , boost::forward_traversal_tag > )); }; BOOST_concept(BidirectionalTraversal,(Iterator)) : ForwardTraversal { BOOST_CONCEPT_ASSERT(( boost::Convertible< BOOST_DEDUCED_TYPENAME BidirectionalTraversal::traversal_category , boost::bidirectional_traversal_tag > )); BOOST_CONCEPT_USAGE(BidirectionalTraversal) { --i; (void)i--; } private: Iterator i; }; BOOST_concept(RandomAccessTraversal,(Iterator)) : BidirectionalTraversal { BOOST_CONCEPT_ASSERT(( boost::Convertible< BOOST_DEDUCED_TYPENAME RandomAccessTraversal::traversal_category , boost::random_access_traversal_tag > )); BOOST_CONCEPT_USAGE(RandomAccessTraversal) { i += n; i = i + n; i = n + i; i -= n; i = i - n; n = i - j; } private: typename BidirectionalTraversal::difference_type n; Iterator i, j; }; //=========================================================================== // Iterator Interoperability namespace detail { template void interop_single_pass_constraints(Iterator1 const& i1, Iterator2 const& i2) { bool b; b = i1 == i2; b = i1 != i2; b = i2 == i1; b = i2 != i1; boost::ignore_unused_variable_warning(b); } template void interop_rand_access_constraints( Iterator1 const& i1, Iterator2 const& i2, boost::random_access_traversal_tag, boost::random_access_traversal_tag) { bool b; typename boost::detail::iterator_traits::difference_type n; b = i1 < i2; b = i1 <= i2; b = i1 > i2; b = i1 >= i2; n = i1 - i2; b = i2 < i1; b = i2 <= i1; b = i2 > i1; b = i2 >= i1; n = i2 - i1; boost::ignore_unused_variable_warning(b); boost::ignore_unused_variable_warning(n); } template void interop_rand_access_constraints( Iterator1 const&, Iterator2 const&, boost::single_pass_traversal_tag, boost::single_pass_traversal_tag) { } } // namespace detail BOOST_concept(InteroperableIterator,(Iterator)(ConstIterator)) { private: typedef typename boost::iterators::pure_iterator_traversal::type traversal_category; typedef typename boost::iterators::pure_iterator_traversal::type const_traversal_category; public: BOOST_CONCEPT_ASSERT((SinglePassIterator)); BOOST_CONCEPT_ASSERT((SinglePassIterator)); BOOST_CONCEPT_USAGE(InteroperableIterator) { detail::interop_single_pass_constraints(i, ci); detail::interop_rand_access_constraints(i, ci, traversal_category(), const_traversal_category()); ci = i; } private: Iterator i; ConstIterator ci; }; } // namespace boost_concepts #include #endif // BOOST_ITERATOR_CONCEPTS_HPP KWStyle-master/Utilities/boost/iterator/iterator_facade.hpp000066400000000000000000001026631265471724600245160ustar00rootroot00000000000000// (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 // 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 // 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 KWStyle-master/Utilities/boost/iterator/iterator_traits.hpp000066400000000000000000000027561265471724600246230ustar00rootroot00000000000000// 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 boost::detail::iterator_traits::value_type type; }; template struct iterator_reference { typedef typename boost::detail::iterator_traits::reference type; }; template struct iterator_pointer { typedef typename boost::detail::iterator_traits::pointer type; }; template struct iterator_difference { typedef typename boost::detail::iterator_traits::difference_type type; }; template struct iterator_category { typedef typename boost::detail::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 KWStyle-master/Utilities/boost/iterator/minimum_category.hpp000066400000000000000000000043201265471724600247410ustar00rootroot00000000000000// 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 BOOST_ITERATOR_MINIMUM_CATEGORY_HPP_INCLUDED_ # define BOOST_ITERATOR_MINIMUM_CATEGORY_HPP_INCLUDED_ # include # include # include # include # include namespace boost { namespace iterators { namespace detail { template struct minimum_category_impl; template struct error_not_related_by_convertibility; template <> struct minimum_category_impl { template struct apply { typedef T2 type; }; }; template <> struct minimum_category_impl { template struct apply { typedef T1 type; }; }; template <> struct minimum_category_impl { template struct apply { BOOST_STATIC_ASSERT((is_same::value)); typedef T1 type; }; }; template <> struct minimum_category_impl { template struct apply : error_not_related_by_convertibility { }; }; } // namespace detail // // Returns the minimum category type or fails to compile // if T1 and T2 are unrelated. // template struct minimum_category { typedef boost::iterators::detail::minimum_category_impl< ::boost::is_convertible::value , ::boost::is_convertible::value > outer; typedef typename outer::template apply inner; typedef typename inner::type type; BOOST_MPL_AUX_LAMBDA_SUPPORT(2,minimum_category,(T1,T2)) }; template <> struct minimum_category { template struct apply : minimum_category {}; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,minimum_category,(mpl::_1,mpl::_2)) }; } // namespace iterators } // namespace boost #endif // BOOST_ITERATOR_MINIMUM_CATEGORY_HPP_INCLUDED_ KWStyle-master/Utilities/boost/iterator/new_iterator_tests.hpp000066400000000000000000000162401265471724600253210ustar00rootroot00000000000000#ifndef BOOST_NEW_ITERATOR_TESTS_HPP # define BOOST_NEW_ITERATOR_TESTS_HPP // // Copyright (c) David Abrahams 2001. // Copyright (c) Jeremy Siek 2001-2003. // Copyright (c) Thomas Witt 2002. // // 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 is meant to be the beginnings of a comprehensive, generic // test suite for STL concepts such as iterators and containers. // // Revision History: // 28 Oct 2002 Started update for new iterator categories // (Jeremy Siek) // 28 Apr 2002 Fixed input iterator requirements. // For a == b a++ == b++ is no longer required. // See 24.1.1/3 for details. // (Thomas Witt) // 08 Feb 2001 Fixed bidirectional iterator test so that // --i is no longer a precondition. // (Jeremy Siek) // 04 Feb 2001 Added lvalue test, corrected preconditions // (David Abrahams) # include # include # include # include // for detail::dummy_constructor # include # include # include # include # include # include # include namespace boost { // Do separate tests for *i++ so we can treat, e.g., smart pointers, // as readable and/or writable iterators. template void readable_iterator_traversal_test(Iterator i1, T v, mpl::true_) { T v2(*i1++); BOOST_TEST(v == v2); } template void readable_iterator_traversal_test(const Iterator i1, T v, mpl::false_) {} template void writable_iterator_traversal_test(Iterator i1, T v, mpl::true_) { ++i1; // we just wrote into that position *i1++ = v; Iterator x(i1++); (void)x; } template void writable_iterator_traversal_test(const Iterator i1, T v, mpl::false_) {} // Preconditions: *i == v template void readable_iterator_test(const Iterator i1, T v) { Iterator i2(i1); // Copy Constructible typedef typename detail::iterator_traits::reference ref_t; ref_t r1 = *i1; ref_t r2 = *i2; T v1 = r1; T v2 = r2; BOOST_TEST(v1 == v); BOOST_TEST(v2 == v); # if !BOOST_WORKAROUND(__MWERKS__, <= 0x2407) readable_iterator_traversal_test(i1, v, detail::is_postfix_incrementable()); // I think we don't really need this as it checks the same things as // the above code. BOOST_STATIC_ASSERT(is_readable_iterator::value); # endif } template void writable_iterator_test(Iterator i, T v, T v2) { Iterator i2(i); // Copy Constructible *i2 = v; # if !BOOST_WORKAROUND(__MWERKS__, <= 0x2407) writable_iterator_traversal_test( i, v2, mpl::and_< detail::is_incrementable , detail::is_postfix_incrementable >()); # endif } template void swappable_iterator_test(Iterator i, Iterator j) { Iterator i2(i), j2(j); typename detail::iterator_traits::value_type bi = *i, bj = *j; iter_swap(i2, j2); typename detail::iterator_traits::value_type ai = *i, aj = *j; BOOST_TEST(bi == aj && bj == ai); } template void constant_lvalue_iterator_test(Iterator i, T v1) { Iterator i2(i); typedef typename detail::iterator_traits::value_type value_type; typedef typename detail::iterator_traits::reference reference; BOOST_STATIC_ASSERT((is_same::value)); const T& v2 = *i2; BOOST_TEST(v1 == v2); # ifndef BOOST_NO_LVALUE_RETURN_DETECTION BOOST_STATIC_ASSERT(is_lvalue_iterator::value); BOOST_STATIC_ASSERT(!is_non_const_lvalue_iterator::value); # endif } template void non_const_lvalue_iterator_test(Iterator i, T v1, T v2) { Iterator i2(i); typedef typename detail::iterator_traits::value_type value_type; typedef typename detail::iterator_traits::reference reference; BOOST_STATIC_ASSERT((is_same::value)); T& v3 = *i2; BOOST_TEST(v1 == v3); // A non-const lvalue iterator is not neccessarily writable, but we // are assuming the value_type is assignable here *i = v2; T& v4 = *i2; BOOST_TEST(v2 == v4); # ifndef BOOST_NO_LVALUE_RETURN_DETECTION BOOST_STATIC_ASSERT(is_lvalue_iterator::value); BOOST_STATIC_ASSERT(is_non_const_lvalue_iterator::value); # endif } template void forward_readable_iterator_test(Iterator i, Iterator j, T val1, T val2) { Iterator i2; Iterator i3(i); i2 = i; BOOST_TEST(i2 == i3); BOOST_TEST(i != j); BOOST_TEST(i2 != j); readable_iterator_test(i, val1); readable_iterator_test(i2, val1); readable_iterator_test(i3, val1); BOOST_TEST(i == i2++); BOOST_TEST(i != ++i3); readable_iterator_test(i2, val2); readable_iterator_test(i3, val2); readable_iterator_test(i, val1); } template void forward_swappable_iterator_test(Iterator i, Iterator j, T val1, T val2) { forward_readable_iterator_test(i, j, val1, val2); Iterator i2 = i; ++i2; swappable_iterator_test(i, i2); } // bidirectional // Preconditions: *i == v1, *++i == v2 template void bidirectional_readable_iterator_test(Iterator i, T v1, T v2) { Iterator j(i); ++j; forward_readable_iterator_test(i, j, v1, v2); ++i; Iterator i1 = i, i2 = i; BOOST_TEST(i == i1--); BOOST_TEST(i != --i2); readable_iterator_test(i, v2); readable_iterator_test(i1, v1); readable_iterator_test(i2, v1); --i; BOOST_TEST(i == i1); BOOST_TEST(i == i2); ++i1; ++i2; readable_iterator_test(i, v1); readable_iterator_test(i1, v2); readable_iterator_test(i2, v2); } // random access // Preconditions: [i,i+N) is a valid range template void random_access_readable_iterator_test(Iterator i, int N, TrueVals vals) { bidirectional_readable_iterator_test(i, vals[0], vals[1]); const Iterator j = i; int c; for (c = 0; c < N-1; ++c) { BOOST_TEST(i == j + c); BOOST_TEST(*i == vals[c]); typename detail::iterator_traits::value_type x = j[c]; BOOST_TEST(*i == x); BOOST_TEST(*i == *(j + c)); BOOST_TEST(*i == *(c + j)); ++i; BOOST_TEST(i > j); BOOST_TEST(i >= j); BOOST_TEST(j <= i); BOOST_TEST(j < i); } Iterator k = j + N - 1; for (c = 0; c < N-1; ++c) { BOOST_TEST(i == k - c); BOOST_TEST(*i == vals[N - 1 - c]); typename detail::iterator_traits::value_type x = j[N - 1 - c]; BOOST_TEST(*i == x); Iterator q = k - c; BOOST_TEST(*i == *q); BOOST_TEST(i > j); BOOST_TEST(i >= j); BOOST_TEST(j <= i); BOOST_TEST(j < i); --i; } } } // namespace boost # include #endif // BOOST_NEW_ITERATOR_TESTS_HPP KWStyle-master/Utilities/boost/iterator/permutation_iterator.hpp000066400000000000000000000045431265471724600256600ustar00rootroot00000000000000// (C) Copyright Toon Knapen 2001. // (C) Copyright David Abrahams 2003. // (C) Copyright Roland Richter 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_PERMUTATION_ITERATOR_HPP #define BOOST_PERMUTATION_ITERATOR_HPP #include #include namespace boost { namespace iterators { template< class ElementIterator , class IndexIterator> class permutation_iterator : public iterator_adaptor< permutation_iterator , IndexIterator, typename boost::detail::iterator_traits::value_type , use_default, typename boost::detail::iterator_traits::reference> { typedef iterator_adaptor< permutation_iterator , IndexIterator, typename boost::detail::iterator_traits::value_type , use_default, typename boost::detail::iterator_traits::reference> super_t; friend class iterator_core_access; public: permutation_iterator() : m_elt_iter() {} explicit permutation_iterator(ElementIterator x, IndexIterator y) : super_t(y), m_elt_iter(x) {} template permutation_iterator( permutation_iterator const& r , typename enable_if_convertible::type* = 0 , typename enable_if_convertible::type* = 0 ) : super_t(r.base()), m_elt_iter(r.m_elt_iter) {} private: typename super_t::reference dereference() const { return *(m_elt_iter + *this->base()); } #ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS template friend class permutation_iterator; #else public: #endif ElementIterator m_elt_iter; }; template inline permutation_iterator make_permutation_iterator( ElementIterator e, IndexIterator i ) { return permutation_iterator( e, i ); } } // namespace iterators using iterators::permutation_iterator; using iterators::make_permutation_iterator; } // namespace boost #endif KWStyle-master/Utilities/boost/iterator/reverse_iterator.hpp000066400000000000000000000040101265471724600247510ustar00rootroot00000000000000// (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_REVERSE_ITERATOR_23022003THW_HPP #define BOOST_REVERSE_ITERATOR_23022003THW_HPP #include #include #include namespace boost { namespace iterators { // // // template class reverse_iterator : public iterator_adaptor< reverse_iterator, Iterator > { typedef iterator_adaptor< reverse_iterator, Iterator > super_t; friend class iterator_core_access; public: reverse_iterator() {} explicit reverse_iterator(Iterator x) : super_t(x) {} template reverse_iterator( reverse_iterator const& r , typename enable_if_convertible::type* = 0 ) : super_t(r.base()) {} private: typename super_t::reference dereference() const { return *boost::prior(this->base()); } void increment() { --this->base_reference(); } void decrement() { ++this->base_reference(); } void advance(typename super_t::difference_type n) { this->base_reference() += -n; } template typename super_t::difference_type distance_to(reverse_iterator const& y) const { return this->base_reference() - y.base(); } }; template inline reverse_iterator make_reverse_iterator(BidirectionalIterator x) { return reverse_iterator(x); } } // namespace iterators using iterators::reverse_iterator; using iterators::make_reverse_iterator; } // namespace boost #endif // BOOST_REVERSE_ITERATOR_23022003THW_HPP KWStyle-master/Utilities/boost/iterator/transform_iterator.hpp000066400000000000000000000132431265471724600253210ustar00rootroot00000000000000// (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_TRANSFORM_ITERATOR_23022003THW_HPP #define BOOST_TRANSFORM_ITERATOR_23022003THW_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310)) # include #endif #include namespace boost { namespace iterators { template class transform_iterator; namespace detail { // Compute the iterator_adaptor instantiation to be used for transform_iterator template struct transform_iterator_base { private: // By default, dereferencing the iterator yields the same as // the function. typedef typename ia_dflt_help< Reference , result_of::reference)> >::type reference; // To get the default for Value: remove any reference on the // result type, but retain any constness to signal // non-writability. Note that if we adopt Thomas' suggestion // to key non-writability *only* on the Reference argument, // we'd need to strip constness here as well. typedef typename ia_dflt_help< Value , remove_reference >::type cv_value_type; public: typedef iterator_adaptor< transform_iterator , Iterator , cv_value_type , use_default // Leave the traversal category alone , reference > type; }; } template class transform_iterator : public boost::iterators::detail::transform_iterator_base::type { typedef typename boost::iterators::detail::transform_iterator_base::type super_t; friend class iterator_core_access; public: transform_iterator() { } transform_iterator(Iterator const& x, UnaryFunc f) : super_t(x), m_f(f) { } explicit transform_iterator(Iterator const& x) : super_t(x) { // Pro8 is a little too aggressive about instantiating the // body of this function. #if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) // don't provide this constructor if UnaryFunc is a // function pointer type, since it will be 0. Too dangerous. BOOST_STATIC_ASSERT(is_class::value); #endif } template < class OtherUnaryFunction , class OtherIterator , class OtherReference , class OtherValue> transform_iterator( transform_iterator const& t , typename enable_if_convertible::type* = 0 #if !BOOST_WORKAROUND(BOOST_MSVC, == 1310) , typename enable_if_convertible::type* = 0 #endif ) : super_t(t.base()), m_f(t.functor()) {} UnaryFunc functor() const { return m_f; } private: typename super_t::reference dereference() const { return m_f(*this->base()); } // Probably should be the initial base class so it can be // optimized away via EBO if it is an empty class. UnaryFunc m_f; }; template inline transform_iterator make_transform_iterator(Iterator it, UnaryFunc fun) { return transform_iterator(it, fun); } // Version which allows explicit specification of the UnaryFunc // type. // // This generator is not provided if UnaryFunc is a function // pointer type, because it's too dangerous: the default-constructed // function pointer in the iterator be 0, leading to a runtime // crash. template inline typename iterators::enable_if< is_class // We should probably find a cheaper test than is_class<> , transform_iterator >::type make_transform_iterator(Iterator it) { return transform_iterator(it, UnaryFunc()); } #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) template inline transform_iterator< Return (*)(Argument), Iterator, Return> make_transform_iterator(Iterator it, Return (*fun)(Argument)) { return transform_iterator(it, fun); } #endif } // namespace iterators using iterators::transform_iterator; using iterators::make_transform_iterator; } // namespace boost #include #endif // BOOST_TRANSFORM_ITERATOR_23022003THW_HPP KWStyle-master/Utilities/boost/iterator/zip_iterator.hpp000066400000000000000000000402121265471724600241040ustar00rootroot00000000000000// Copyright David Abrahams and Thomas Becker 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) #ifndef BOOST_ZIP_ITERATOR_TMB_07_13_2003_HPP_ # define BOOST_ZIP_ITERATOR_TMB_07_13_2003_HPP_ #include #include #include #include #include // for enable_if_convertible #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace iterators { // Zip iterator forward declaration for zip_iterator_base template class zip_iterator; // One important design goal of the zip_iterator is to isolate all // functionality whose implementation relies on the current tuple // implementation. This goal has been achieved as follows: Inside // the namespace detail there is a namespace tuple_impl_specific. // This namespace encapsulates all functionality that is specific // to the current Boost tuple implementation. More precisely, the // namespace tuple_impl_specific provides the following tuple // algorithms and meta-algorithms for the current Boost tuple // implementation: // // tuple_meta_transform // tuple_meta_accumulate // tuple_transform // tuple_for_each // // If the tuple implementation changes, all that needs to be // replaced is the implementation of these four (meta-)algorithms. namespace detail { // Functors to be used with tuple algorithms // template class advance_iterator { public: advance_iterator(DiffType step) : m_step(step) {} template void operator()(Iterator& it) const { it += m_step; } private: DiffType m_step; }; // struct increment_iterator { template void operator()(Iterator& it) { ++it; } }; // struct decrement_iterator { template void operator()(Iterator& it) { --it; } }; // struct dereference_iterator { template struct apply { typedef typename boost::detail::iterator_traits::reference type; }; template typename apply::type operator()(Iterator const& it) { return *it; } }; // The namespace tuple_impl_specific provides two meta- // algorithms and two algorithms for tuples. // namespace tuple_impl_specific { // Meta-transform algorithm for tuples // template struct tuple_meta_transform; template struct tuple_meta_transform_impl { typedef tuples::cons< typename mpl::apply1< typename mpl::lambda::type , typename Tuple::head_type >::type , typename tuple_meta_transform< typename Tuple::tail_type , UnaryMetaFun >::type > type; }; template struct tuple_meta_transform : mpl::eval_if< boost::is_same , mpl::identity , tuple_meta_transform_impl > { }; // Meta-accumulate algorithm for tuples. Note: The template // parameter StartType corresponds to the initial value in // ordinary accumulation. // template struct tuple_meta_accumulate; template< typename Tuple , class BinaryMetaFun , typename StartType > struct tuple_meta_accumulate_impl { typedef typename mpl::apply2< typename mpl::lambda::type , typename Tuple::head_type , typename tuple_meta_accumulate< typename Tuple::tail_type , BinaryMetaFun , StartType >::type >::type type; }; template< typename Tuple , class BinaryMetaFun , typename StartType > struct tuple_meta_accumulate : mpl::eval_if< boost::is_same , mpl::identity , tuple_meta_accumulate_impl< Tuple , BinaryMetaFun , StartType > > { }; #if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ || ( \ BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, != 0) && defined(_MSC_VER) \ ) // Not sure why intel's partial ordering fails in this case, but I'm // assuming int's an MSVC bug-compatibility feature. # define BOOST_TUPLE_ALGO_DISPATCH # define BOOST_TUPLE_ALGO(algo) algo##_impl # define BOOST_TUPLE_ALGO_TERMINATOR , int # define BOOST_TUPLE_ALGO_RECURSE , ... #else # define BOOST_TUPLE_ALGO(algo) algo # define BOOST_TUPLE_ALGO_TERMINATOR # define BOOST_TUPLE_ALGO_RECURSE #endif // transform algorithm for tuples. The template parameter Fun // must be a unary functor which is also a unary metafunction // class that computes its return type based on its argument // type. For example: // // struct to_ptr // { // template // struct apply // { // typedef Arg* type; // } // // template // Arg* operator()(Arg x); // }; template inline tuples::null_type BOOST_TUPLE_ALGO(tuple_transform) (tuples::null_type const&, Fun BOOST_TUPLE_ALGO_TERMINATOR) { return tuples::null_type(); } template inline typename tuple_meta_transform< Tuple , Fun >::type BOOST_TUPLE_ALGO(tuple_transform)( const Tuple& t, Fun f BOOST_TUPLE_ALGO_RECURSE ) { typedef typename tuple_meta_transform< BOOST_DEDUCED_TYPENAME Tuple::tail_type , Fun >::type transformed_tail_type; return tuples::cons< BOOST_DEDUCED_TYPENAME mpl::apply1< Fun, BOOST_DEDUCED_TYPENAME Tuple::head_type >::type , transformed_tail_type >( f(boost::tuples::get<0>(t)), tuple_transform(t.get_tail(), f) ); } #ifdef BOOST_TUPLE_ALGO_DISPATCH template inline typename tuple_meta_transform< Tuple , Fun >::type tuple_transform( const Tuple& t, Fun f ) { return tuple_transform_impl(t, f, 1); } #endif // for_each algorithm for tuples. // template inline Fun BOOST_TUPLE_ALGO(tuple_for_each)( tuples::null_type , Fun f BOOST_TUPLE_ALGO_TERMINATOR ) { return f; } template inline Fun BOOST_TUPLE_ALGO(tuple_for_each)( Tuple& t , Fun f BOOST_TUPLE_ALGO_RECURSE) { f( t.get_head() ); return tuple_for_each(t.get_tail(), f); } #ifdef BOOST_TUPLE_ALGO_DISPATCH template inline Fun tuple_for_each( Tuple& t, Fun f ) { return tuple_for_each_impl(t, f, 1); } #endif // Equality of tuples. NOTE: "==" for tuples currently (7/2003) // has problems under some compilers, so I just do my own. // No point in bringing in a bunch of #ifdefs here. This is // going to go away with the next tuple implementation anyway. // inline bool tuple_equal(tuples::null_type, tuples::null_type) { return true; } template inline bool tuple_equal(Tuple1 const& t1, Tuple2 const& t2) { return t1.get_head() == t2.get_head() && tuple_equal(t1.get_tail(), t2.get_tail()); } } // // end namespace tuple_impl_specific template struct iterator_reference { typedef typename boost::detail::iterator_traits::reference type; }; #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_reference { template struct apply : iterator_reference {}; }; #endif // Metafunction to obtain the type of the tuple whose element types // are the reference types of an iterator tuple. // template struct tuple_of_references : tuple_impl_specific::tuple_meta_transform< IteratorTuple, iterator_reference > { }; // Metafunction to obtain the minimal traversal tag in a tuple // of iterators. // template struct minimum_traversal_category_in_iterator_tuple { typedef typename tuple_impl_specific::tuple_meta_transform< IteratorTuple , pure_traversal_tag > >::type tuple_of_traversal_tags; typedef typename tuple_impl_specific::tuple_meta_accumulate< tuple_of_traversal_tags , minimum_category<> , random_access_traversal_tag >::type type; }; // We need to call tuple_meta_accumulate with mpl::and_ as the // accumulating functor. To this end, we need to wrap it into // a struct that has exactly two arguments (that is, template // parameters) and not five, like mpl::and_ does. // template struct and_with_two_args : mpl::and_ { }; # ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT // Hack because BOOST_MPL_AUX_LAMBDA_SUPPORT doesn't seem to work // out well. In this case I think it's an MPL bug template<> struct and_with_two_args { template struct apply : mpl::and_ {}; }; # endif /////////////////////////////////////////////////////////////////// // // Class zip_iterator_base // // Builds and exposes the iterator facade type from which the zip // iterator will be derived. // template struct zip_iterator_base { private: // Reference type is the type of the tuple obtained from the // iterators' reference types. typedef typename detail::tuple_of_references::type reference; // Value type is the same as reference type. typedef reference value_type; // Difference type is the first iterator's difference type typedef typename boost::detail::iterator_traits< typename tuples::element<0, IteratorTuple>::type >::difference_type difference_type; // Traversal catetgory is the minimum traversal category in the // iterator tuple. typedef typename detail::minimum_traversal_category_in_iterator_tuple< IteratorTuple >::type traversal_category; public: // The iterator facade type from which the zip iterator will // be derived. typedef iterator_facade< zip_iterator, value_type, traversal_category, reference, difference_type > type; }; template <> struct zip_iterator_base { typedef int type; }; } ///////////////////////////////////////////////////////////////////// // // zip_iterator class definition // template class zip_iterator : public detail::zip_iterator_base::type { // Typedef super_t as our base class. typedef typename detail::zip_iterator_base::type super_t; // iterator_core_access is the iterator's best friend. friend class iterator_core_access; public: // Construction // ============ // Default constructor zip_iterator() { } // Constructor from iterator tuple zip_iterator(IteratorTuple iterator_tuple) : m_iterator_tuple(iterator_tuple) { } // Copy constructor template zip_iterator( const zip_iterator& other, typename enable_if_convertible< OtherIteratorTuple, IteratorTuple >::type* = 0 ) : m_iterator_tuple(other.get_iterator_tuple()) {} // Get method for the iterator tuple. const IteratorTuple& get_iterator_tuple() const { return m_iterator_tuple; } private: // Implementation of Iterator Operations // ===================================== // Dereferencing returns a tuple built from the dereferenced // iterators in the iterator tuple. typename super_t::reference dereference() const { return detail::tuple_impl_specific::tuple_transform( get_iterator_tuple(), detail::dereference_iterator() ); } // Two zip iterators are equal if all iterators in the iterator // tuple are equal. NOTE: It should be possible to implement this // as // // return get_iterator_tuple() == other.get_iterator_tuple(); // // but equality of tuples currently (7/2003) does not compile // under several compilers. No point in bringing in a bunch // of #ifdefs here. // template bool equal(const zip_iterator& other) const { return detail::tuple_impl_specific::tuple_equal( get_iterator_tuple(), other.get_iterator_tuple() ); } // Advancing a zip iterator means to advance all iterators in the // iterator tuple. void advance(typename super_t::difference_type n) { detail::tuple_impl_specific::tuple_for_each( m_iterator_tuple, detail::advance_iterator(n) ); } // Incrementing a zip iterator means to increment all iterators in // the iterator tuple. void increment() { detail::tuple_impl_specific::tuple_for_each( m_iterator_tuple, detail::increment_iterator() ); } // Decrementing a zip iterator means to decrement all iterators in // the iterator tuple. void decrement() { detail::tuple_impl_specific::tuple_for_each( m_iterator_tuple, detail::decrement_iterator() ); } // Distance is calculated using the first iterator in the tuple. template typename super_t::difference_type distance_to( const zip_iterator& other ) const { return boost::tuples::get<0>(other.get_iterator_tuple()) - boost::tuples::get<0>(this->get_iterator_tuple()); } // Data Members // ============ // The iterator tuple. IteratorTuple m_iterator_tuple; }; // Make function for zip iterator // template inline zip_iterator make_zip_iterator(IteratorTuple t) { return zip_iterator(t); } } // namespace iterators using iterators::zip_iterator; using iterators::make_zip_iterator; } // namespace boost #endif KWStyle-master/Utilities/boost/iterator_adaptors.hpp000066400000000000000000000007221265471724600232700ustar00rootroot00000000000000// Copyright David Abrahams 2004. Distributed under the Boost // Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See www.boost.org/libs/iterator for documentation. #ifndef ITERATOR_ADAPTORS_DWA2004725_HPP # define ITERATOR_ADAPTORS_DWA2004725_HPP #define BOOST_ITERATOR_ADAPTORS_VERSION 0x0200 #include #endif // ITERATOR_ADAPTORS_DWA2004725_HPP KWStyle-master/Utilities/boost/last_value.hpp000066400000000000000000000023671265471724600217100ustar00rootroot00000000000000// last_value function object (documented as part of Boost.Signals) // 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/signals #ifndef BOOST_LAST_VALUE_HPP #define BOOST_LAST_VALUE_HPP #include #include namespace boost { template struct last_value { typedef T result_type; template T operator()(InputIterator first, InputIterator last) const { assert(first != last); T value = *first++; while (first != last) value = *first++; return value; } }; template<> struct last_value { #ifdef BOOST_NO_VOID_RETURNS struct unusable {}; public: typedef unusable result_type; #else public: typedef void result_type; #endif // BOOST_NO_VOID_RETURNS template result_type operator()(InputIterator first, InputIterator last) const { while (first != last) *first++; return result_type(); } }; } #endif // BOOST_SIGNALS_LAST_VALUE_HPP KWStyle-master/Utilities/boost/lexical_cast.hpp000066400000000000000000000063001265471724600221730ustar00rootroot00000000000000// Copyright Kevlin Henney, 2000-2005. // Copyright Alexander Nasonov, 2006-2010. // Copyright Antony Polukhin, 2011-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) // // what: lexical_cast custom keyword cast // who: contributed by Kevlin Henney, // enhanced with contributions from Terje Slettebo, // with additional fixes and suggestions from Gennaro Prota, // Beman Dawes, Dave Abrahams, Daryle Walker, Peter Dimov, // Alexander Nasonov, Antony Polukhin, Justin Viiret, Michael Hofmann, // Cheng Yang, Matthew Bradbury, David W. Birdsall, Pavel Korzh and other Boosters // when: November 2000, March 2003, June 2005, June 2006, March 2011 - 2014 #ifndef BOOST_LEXICAL_CAST_INCLUDED #define BOOST_LEXICAL_CAST_INCLUDED #include #ifdef BOOST_HAS_PRAGMA_ONCE # pragma once #endif #if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_WSTRING) #define BOOST_LCAST_NO_WCHAR_T #endif #include #include #include namespace boost { template inline Target lexical_cast(const Source &arg) { Target result; if (!boost::conversion::detail::try_lexical_convert(arg, result)) { boost::conversion::detail::throw_bad_cast(); } return result; } template inline Target lexical_cast(const char* chars, std::size_t count) { return ::boost::lexical_cast( ::boost::iterator_range(chars, chars + count) ); } template inline Target lexical_cast(const unsigned char* chars, std::size_t count) { return ::boost::lexical_cast( ::boost::iterator_range(chars, chars + count) ); } template inline Target lexical_cast(const signed char* chars, std::size_t count) { return ::boost::lexical_cast( ::boost::iterator_range(chars, chars + count) ); } #ifndef BOOST_LCAST_NO_WCHAR_T template inline Target lexical_cast(const wchar_t* chars, std::size_t count) { return ::boost::lexical_cast( ::boost::iterator_range(chars, chars + count) ); } #endif #ifndef BOOST_NO_CXX11_CHAR16_T template inline Target lexical_cast(const char16_t* chars, std::size_t count) { return ::boost::lexical_cast( ::boost::iterator_range(chars, chars + count) ); } #endif #ifndef BOOST_NO_CXX11_CHAR32_T template inline Target lexical_cast(const char32_t* chars, std::size_t count) { return ::boost::lexical_cast( ::boost::iterator_range(chars, chars + count) ); } #endif } // namespace boost #undef BOOST_LCAST_NO_WCHAR_T #endif // BOOST_LEXICAL_CAST_INCLUDED KWStyle-master/Utilities/boost/limits.hpp000066400000000000000000000140021265471724600210370ustar00rootroot00000000000000 // (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 KWStyle-master/Utilities/boost/local_function.hpp000066400000000000000000000446521265471724600225530ustar00rootroot00000000000000 // Copyright (C) 2009-2012 Lorenzo Caminiti // Distributed under the Boost Software License, Version 1.0 // (see accompanying file LICENSE_1_0.txt or a copy at // http://www.boost.org/LICENSE_1_0.txt) // Home at http://www.boost.org/libs/local_function #ifndef BOOST_LOCAL_FUNCTION_HPP_ #define BOOST_LOCAL_FUNCTION_HPP_ #ifndef DOXYGEN #include #include #include #include #include #include #include // PUBLIC // #ifdef BOOST_NO_CXX11_VARIADIC_MACROS # define BOOST_LOCAL_FUNCTION_ID(id, declarations) \ BOOST_LOCAL_FUNCTION_AUX_DECL(id, 0 /* not within template */, \ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS( \ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST( \ declarations))) # define BOOST_LOCAL_FUNCTION(declarations) \ BOOST_LOCAL_FUNCTION_ID( \ BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, declarations) # define BOOST_LOCAL_FUNCTION_ID_TPL(id, declarations) \ BOOST_LOCAL_FUNCTION_AUX_DECL(id, 1 /* within template */, \ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS( \ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST( \ declarations))) # define BOOST_LOCAL_FUNCTION_TPL(declarations) \ BOOST_LOCAL_FUNCTION_ID_TPL( \ BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, declarations) #else // VARIADIC # define BOOST_LOCAL_FUNCTION_ID(id, ...) \ BOOST_LOCAL_FUNCTION_AUX_DECL(id, 0 /* not within template */, \ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS( \ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST(__VA_ARGS__))) # define BOOST_LOCAL_FUNCTION(...) \ BOOST_LOCAL_FUNCTION_ID( \ BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, __VA_ARGS__) # define BOOST_LOCAL_FUNCTION_ID_TPL(id, ...) \ BOOST_LOCAL_FUNCTION_AUX_DECL(id, 1 /* within template */, \ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS( \ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST(__VA_ARGS__))) # define BOOST_LOCAL_FUNCTION_TPL(...) \ BOOST_LOCAL_FUNCTION_ID_TPL( \ BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, __VA_ARGS__) #endif // VARIADIC #define BOOST_LOCAL_FUNCTION_NAME(qualified_name) \ BOOST_LOCAL_FUNCTION_AUX_NAME(0 /* not within template */, qualified_name) #define BOOST_LOCAL_FUNCTION_NAME_TPL(qualified_name) \ BOOST_LOCAL_FUNCTION_AUX_NAME(1 /* within template */, qualified_name) #define BOOST_LOCAL_FUNCTION_TYPEOF(bound_variable_name) \ BOOST_LOCAL_FUNCTION_AUX_TYPEOF_TYPE(bound_variable_name) // DOCUMENTATION // #else // DOXYGEN /** @file @brief Local functions allow to program functions locally, within other functions, and directly within the scope where they are needed. */ /** @brief This macro is used to start a local function declaration. This macro must be used within a declarative context, it must follow the local function result type, it must be followed by the local function body code, and then by the @RefMacro{BOOST_LOCAL_FUNCTION_NAME} macro (see the @RefSect{tutorial, Tutorial} and @RefSect{advanced_topics, Advanced Topics} sections): @code { // Some declarative context. ... result_type BOOST_LOCAL_FUNCTION(declarations) { ... // Body code. } BOOST_LOCAL_FUNCTION_NAME(qualified_name) ... } @endcode As usual, exceptions specifications can be optionally programmed just after the macro and before the body code block { ... } (but the exception specifications will only apply to the body code and not to the library code automatically generated by the macro expansion, see the @RefSect{advanced_topics, Advanced Topics} section). Within templates, the special macros @RefMacro{BOOST_LOCAL_FUNCTION_TPL} and @RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL} must be used. @Params @Param{declarations, On compilers that support variadic macros\, the parameter declarations are defined by the following grammar: @code declarations: void | declaration_tuple | declaration_sequence declaration_tuple: declaration\, declaration\, ... declaration_sequence: (declaration) (declaration) ... declaration: bound_variable | parameter | default_value | result_type bound_variable: [const] bind [(variable_type)] [&] variable_name parameter: [auto | register] parameter_type parameter_name default_value: default parameter_default_value result_type: return function_result_type @endcode On compilers that do not support variadic macros\, declaration_tuple cannot be used: @code declarations: void | declaration_sequence @endcode (Lexical conventions: token1 | token2 means either token1 or token2; [token] means either token or nothing; {expression} means the token resulting from the expression.) } @EndParams Note that on compilers that support variadic macros, commas can be used to separate the declarations resembling more closely the usual C++ function declaration syntax (this is the preferred syntax). However, for portability, on all C++ compilers (with and without variadic macros) the same library macros also accept parameter declarations specified as a Boost.Preprocessor sequence separated by round parenthesis (). When binding the object this, the special symbol this_ needs to be used instead of this as the name of the variable to bind and also within the local function body to access the object. (Mistakenly using this instead of this_ might not always result in a compiler error and will in general result in undefined behaviour.) The result type must either be specified just before the macro or within the macro declarations prefixed by return (but not in both places). Within the local function body it possible to access the result type using result_type, the type of the first parameter using arg1_type, the type of the second parameter using arg2_type, etc. The bound variable types can be accessed using @RefMacro{BOOST_LOCAL_FUNCTION_TYPEOF}. This macro cannot be portably expanded multiple times on the same line. In these cases, use the @RefMacro{BOOST_LOCAL_FUNCTION_ID} macro instead. The maximum number of local function parameters (excluding bound variables) is specified by the configuration macro @RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_ARITY_MAX}. The maximum number of bound variables is specified by the configuration macro @RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX}. The configuration macro @RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_LOCALS_AS_TPARAMS} can be used to force optimizations that reduce the local function call run-time overhead. @Note Local functions are functors so they can be assigned to other functors like boost::function (see Boost.Function). @See @RefSect{tutorial, Tutorial} section, @RefSect{advanced_topics, Advanced Topics} section, @RefMacro{BOOST_LOCAL_FUNCTION_NAME}, @RefMacro{BOOST_LOCAL_FUNCTION_TPL}, @RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL}, @RefMacro{BOOST_LOCAL_FUNCTION_TYPEOF}, @RefMacro{BOOST_LOCAL_FUNCTION_ID}, @RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_ARITY_MAX}, @RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX}, @RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_LOCALS_AS_TPARAMS}. */ #define BOOST_LOCAL_FUNCTION(declarations) /** @brief This macro is used to start a local function declaration within templates. This macro must be used instead of @RefMacro{BOOST_LOCAL_FUNCTION} when declaring a local function within a template. A part from that, this macro has the exact same syntax a @RefMacro{BOOST_LOCAL_FUNCTION} (see @RefMacro{BOOST_LOCAL_FUNCTION} for more information): @code { // Some declarative context within a template. ... result_type BOOST_LOCAL_FUNCTION_TPL(declarations) { ... // Body code. } BOOST_LOCAL_FUNCTION_NAME_TPL(qualified_name) ... } @endcode Note that @RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL} must be used with this macro instead of @RefMacro{BOOST_LOCAL_FUNCTION_NAME}. This macro cannot be portably expanded multiple times on the same line. In these cases, use the @RefMacro{BOOST_LOCAL_FUNCTION_ID_TPL} macro instead. @Note C++03 does not allow to use typename outside templates. This library internally manipulates types, these operations require typename but only within templates. This macro is used to indicate to the library when the enclosing scope is a template so the library can correctly use typename. @See @RefSect{tutorial, Tutorial} section, @RefMacro{BOOST_LOCAL_FUNCTION}, @RefMacro{BOOST_LOCAL_FUNCTION_ID_TPL}, @RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL}. */ #define BOOST_LOCAL_FUNCTION_TPL(declarations) /** @brief This macro allows to declare multiple local functions on the same line. This macro is equivalent to @RefMacro{BOOST_LOCAL_FUNCTION} but it can be expanded multiple times on the same line if different identifiers id are provided for each expansion (see the @RefSect{advanced_topics, Advanced Topics} section). @Params @Param{id, A unique identifier token which can be concatenated by the preprocessor (__LINE__\, local_function_number_1_on_line_123\, etc). } @Param{declarations, Same as the declarations parameter of the @RefMacro{BOOST_LOCAL_FUNCTION} macro. } @EndParams The @RefMacro{BOOST_LOCAL_FUNCTION_NAME} macro should be used to end each one of the multiple local function declarations as usual (and it will specify a unique name for each local function). Within templates, the special macros @RefMacro{BOOST_LOCAL_FUNCTION_ID_TPL} must be used. @Note This macro can be useful when the local function macros are expanded within user-defined macros (because macros all expand on the same line). On some compilers (e.g., MSVC which supports the non-standard __COUNTER__ macro) it might not be necessary to use this macro but the use of this macro when expanding multiple local function macros on the same line is always necessary to ensure portability (this is because this library can only portably use __LINE__ to internally generate unique identifiers). @See @RefSect{advanced_topics, Advanced Topics} section, @RefMacro{BOOST_LOCAL_FUNCTION}, @RefMacro{BOOST_LOCAL_FUNCTION_NAME}, @RefMacro{BOOST_LOCAL_FUNCTION_ID_TPL}. */ #define BOOST_LOCAL_FUNCTION_ID(id, declarations) /** @brief This macro allows to declare multiple local functions on the same line within templates. This macro must be used instead of @RefMacro{BOOST_LOCAL_FUNCTION_TPL} when declaring multiple local functions on the same line within a template. A part from that, this macro has the exact same syntax as @RefMacro{BOOST_LOCAL_FUNCTION_TPL} (see @RefMacro{BOOST_LOCAL_FUNCTION_TPL} for more information). @Params @Param{id, A unique identifier token which can be concatenated by the preprocessor (__LINE__\, local_function_number_1_on_line_123\, etc). } @Param{declarations, Same as the declarations parameter of the @RefMacro{BOOST_LOCAL_FUNCTION_TPL} macro. } @EndParams The @RefMacro{BOOST_LOCAL_FUNCTION_NAME} macro should be used to end each one of the multiple local function declarations as usual (and it will specify a unique name for each local function). Outside template, the macro @RefMacro{BOOST_LOCAL_FUNCTION_ID} should be used to declare multiple local functions on the same line. @Note This macro can be useful when the local function macros are expanded within user-defined macros (because macros all expand on the same line). On some compilers (e.g., MSVC which supports the non-standard __COUNTER__ macro) it might not be necessary to use this macro but the use of this macro when expanding multiple local function macros on the same line is always necessary to ensure portability (this is because this library can only portably use __LINE__ to internally generate unique identifiers). @See @RefSect{advanced_topics, Advanced Topics} section, @RefMacro{BOOST_LOCAL_FUNCTION_TPL}, @RefMacro{BOOST_LOCAL_FUNCTION_NAME}, @RefMacro{BOOST_LOCAL_FUNCTION_ID}. */ #define BOOST_LOCAL_FUNCTION_ID_TPL(id, declarations) /** @brief This macro is used to end a local function declaration specifying its name. This macro must follow the local function body code block { ... }: @code { // Some declarative context. ... result_type BOOST_LOCAL_FUNCTION(declarations) { ... // Body code. } BOOST_LOCAL_FUNCTION_NAME(qualified_name) ... } @endcode Within templates, the special macros @RefMacro{BOOST_LOCAL_FUNCTION_TPL} and @RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL} must be used. @Params @Param{qualified_name, The name of the local function optionally qualified as follow: @code name: [inline] [recursive] local_function_name @endcode (Lexical conventions: token1 | token2 means either token1 or token2; [token] means either token or nothing; {expression} means the token resulting from the expression.) } @EndParams The local function name can be qualified by prefixing it with the keyword inline (see the @RefSect{advanced_topics, Advanced Topics} section): @code BOOST_LOCAL_FUNCTION_NAME(inline local_function_name) @endcode This increases the chances that the compiler will be able to inline the local function calls (thus reducing run-time). However, inline local functions cannot be passed as template parameters (e.g., to std::for_each) or assigned to other functors (e.g., to boost::function). That is true on C++03 compilers but inline local functions can instead be passed as template parameters on C++11 compilers. On C++11 compilers, there is no need to declare a local function lined because this library will automatically use C++11 specific features to inline the local function while always allowing to pass it as a template parameter. This optimization is automatically enabled when the Boost.Config macro BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS is not defined but it also be forced using @RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_LOCALS_AS_TPARAMS}. The local function name can also be qualified by prefixing it with the "keyword" recursive (see the @RefSect{advanced_topics, Advanced Topics} section): @code BOOST_LOCAL_FUNCTION_NAME(recursive local_function_name) @endcode This allows the local function to recursively call itself from its body (as usual in C++). However, recursive local functions should only be called within their declaration scope (otherwise the result is undefined behaviour). Finally, compilers have not been observed to be able to inline recursive local function calls, not even when the recursive local function is also declared inline: @code BOOST_LOCAL_FUNCTION(inline recursive local_function_name) @endcode @Note The local function name cannot be the name of an operator operator... and it cannot be the same name of another local function declared within the same enclosing scope (but boost::overloaded_function can be used to overload local functions, see Boost.Functional/OverloadedFunction and the @RefSect{advanced_topics, Advanced Topics} section). @See @RefSect{tutorial, Tutorial} section, @RefSect{advanced_topics, Advanced Topics} section, @RefMacro{BOOST_LOCAL_FUNCTION}, @RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL}. */ #define BOOST_LOCAL_FUNCTION_NAME(qualified_name) /** @brief This macro is used to end a local function declaration specifying its name within templates. This macro must be used instead of @RefMacro{BOOST_LOCAL_FUNCTION_NAME} when declaring a local function within a template. A part from that, this macro has the exact same syntax a @RefMacro{BOOST_LOCAL_FUNCTION_NAME} (see @RefMacro{BOOST_LOCAL_FUNCTION_NAME} for more information): @code { // Some declarative context within a template. ... result_type BOOST_LOCAL_FUNCTION_TPL(declarations) { ... // Body code. } BOOST_LOCAL_FUNCTION_NAME_TPL(qualified_name) ... } @endcode Note that @RefMacro{BOOST_LOCAL_FUNCTION_TPL} must be used with this macro instead of @RefMacro{BOOST_LOCAL_FUNCTION}. @Note C++03 does not allow to use typename outside templates. This library internally manipulates types, these operations require typename but only within templates. This macro is used to indicate to the library when the enclosing scope is a template so the library can correctly use typename. @See @RefSect{tutorial, Tutorial} section, @RefMacro{BOOST_LOCAL_FUNCTION_NAME}, @RefMacro{BOOST_LOCAL_FUNCTION_TPL}. */ #define BOOST_LOCAL_FUNCTION_NAME_TPL(name) /** @brief This macro expands to the type of the specified bound variable. This macro can be used within the local functions body to refer to the bound variable types so to declare local variables, check concepts (using Boost.ConceptCheck), etc (see the @RefSect{advanced_topics, Advanced Topics} section). This way the local function can be programmed entirely without explicitly specifying the bound variable types thus facilitating maintenance (e.g., if the type of a bound variable changes in the enclosing scope, the local function code does not have to change). @Params @Param{bound_variable_name, The name of one of the local function's bound variables. } @EndParams The type returned by the macro is fully qualified in that it contains the extra constant and reference qualifiers when the specified variable is bound by constant and by reference. For example, if a variable named t of type T is: @li Bound by value using bind t then BOOST_LOCAL_FUNCTION_TYPEOF(t) is T. @li Bound by constant value using const bind t then BOOST_LOCAL_FUNCTION_TYPEOF(t) is const T. @li Bound by reference using bind& t then BOOST_LOCAL_FUNCTION_TYPEOF(t) is T&. @li Bound by constant reference using const bind& t then BOOST_LOCAL_FUNCTION_TYPEOF(t) is const T&. This macro must be prefixed by typename when used within templates. @Note It is best to use this macro instead of Boost.Typeof so to reduce the number of times Boost.Typeof is used to deduce types (see the @RefSect{advanced_topics, Advanced Topics} section). @See @RefSect{advanced_topics, Advanced Topics} section, @RefMacro{BOOST_LOCAL_FUNCTION}. */ #define BOOST_LOCAL_FUNCTION_TYPEOF(bound_variable_name) #endif // DOXYGEN #endif // #include guard KWStyle-master/Utilities/boost/locale.hpp000066400000000000000000000015671265471724600210110ustar00rootroot00000000000000// // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // // Distributed under the 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_LOCALE_HPP_INCLUDED #define BOOST_LOCALE_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 KWStyle-master/Utilities/boost/make_shared.hpp000066400000000000000000000007441265471724600220110ustar00rootroot00000000000000#ifndef BOOST_MAKE_SHARED_HPP_INCLUDED #define BOOST_MAKE_SHARED_HPP_INCLUDED // make_shared.hpp // // Copyright (c) 2007, 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/make_shared.html // for documentation. #include #endif // #ifndef BOOST_MAKE_SHARED_HPP_INCLUDED KWStyle-master/Utilities/boost/make_unique.hpp000066400000000000000000000005521265471724600220460ustar00rootroot00000000000000/* * Copyright (c) 2014 Glen Joseph Fernandes * glenfe at live dot com * * Distributed under the Boost Software License, * Version 1.0. (See accompanying file LICENSE_1_0.txt * or copy at http://boost.org/LICENSE_1_0.txt) */ #ifndef BOOST_MAKE_UNIQUE_HPP_INCLUDED #define BOOST_MAKE_UNIQUE_HPP_INCLUDED #include #endif KWStyle-master/Utilities/boost/math_fwd.hpp000066400000000000000000000047371265471724600213450ustar00rootroot00000000000000// Boost math_fwd.hpp header file ------------------------------------------// // (C) Copyright Hubert Holin and Daryle Walker 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/math for documentation. #ifndef BOOST_MATH_FWD_HPP #define BOOST_MATH_FWD_HPP #include namespace boost { namespace math { // From ----------------------------------------// template < typename T > class quaternion; template < > class quaternion< float >; template < > class quaternion< double >; template < > class quaternion< long double >; // Also has many function templates (including operators) // From ------------------------------------------// template < typename T > class octonion; template < > class octonion< float >; template < > class octonion< double >; template < > class octonion< long double >; // Also has many function templates (including operators) // From ---------------------------// // Only has function template // From ---------------------------// // Only has function template // From ---------------------------// // Only has function template // From ----------------------------// // Only has function templates // From ---------------------------// // Only has function templates // From -------------------------------------// // Only #includes other headers // 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; // Also has a couple of function templates } // namespace math } // namespace boost #endif // BOOST_MATH_FWD_HPP KWStyle-master/Utilities/boost/mem_fn.hpp000066400000000000000000000011241265471724600210000ustar00rootroot00000000000000#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 KWStyle-master/Utilities/boost/memory_order.hpp000066400000000000000000000026451265471724600222530ustar00rootroot00000000000000#ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED #define BOOST_MEMORY_ORDER_HPP_INCLUDED // MS compatible compilers support #pragma once #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif // boost/memory_order.hpp // // Defines enum boost::memory_order per the C++0x working draft // // Copyright (c) 2008, 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) namespace boost { // // Enum values are chosen so that code that needs to insert // a trailing fence for acquire semantics can use a single // test such as: // // if( mo & memory_order_acquire ) { ...fence... } // // For leading fences one can use: // // if( mo & memory_order_release ) { ...fence... } // // Architectures such as Alpha that need a fence on consume // can use: // // if( mo & ( memory_order_acquire | memory_order_consume ) ) { ...fence... } // // The values are also in the order of increasing "strength" // of the fences so that success/failure orders can be checked // efficiently in compare_exchange methods. // enum memory_order { memory_order_relaxed = 0, memory_order_consume = 1, memory_order_acquire = 2, memory_order_release = 4, memory_order_acq_rel = 6, // acquire | release memory_order_seq_cst = 14 // acq_rel | 8 }; } // namespace boost #endif // #ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED KWStyle-master/Utilities/boost/move/000077500000000000000000000000001265471724600177765ustar00rootroot00000000000000KWStyle-master/Utilities/boost/move/adl_move_swap.hpp000066400000000000000000000150101265471724600233240ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (C) Copyright 2007, 2008 Steven Watanabe, Joseph Gauterin, Niels Dekker // (C) Copyright Ion Gaztanaga 2005-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) // // See http://www.boost.org/libs/container for documentation. // ////////////////////////////////////////////////////////////////////////////// #ifndef BOOST_MOVE_ADL_MOVE_SWAP_HPP #define BOOST_MOVE_ADL_MOVE_SWAP_HPP #ifndef BOOST_CONFIG_HPP # include #endif # #if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif //Based on Boost.Core's swap. //Many thanks to Steven Watanabe, Joseph Gauterin and Niels Dekker. #include #include //for std::size_t //Try to avoid including , as it's quite big #if defined(_MSC_VER) && defined(BOOST_DINKUMWARE_STDLIB) #include //Dinkum libraries define std::swap in utility which is lighter than algorithm #elif defined(BOOST_GNU_STDLIB) //For non-GCC compilers, where GNUC version is not very reliable, or old GCC versions //use the good old stl_algobase header, which is quite lightweight #if !defined(BOOST_GCC) || ((__GNUC__ < 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ < 3))) #include #elif (__GNUC__ == 4) && (__GNUC_MINOR__ == 3) //In GCC 4.3 a tiny stl_move.h was created with swap and move utilities #include #else //In GCC 4.4 stl_move.h was renamed to move.h #include #endif #elif defined(_LIBCPP_VERSION) #include //The initial import of libc++ defines std::swap and still there #elif __cplusplus >= 201103L #include //Fallback for C++ >= 2011 #else #include //Fallback for C++98/03 #endif #include //for boost::move #if !defined(BOOST_MOVE_DOXYGEN_INVOKED) #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) namespace boost_move_member_swap { struct dont_care { dont_care(...); }; struct private_type { static private_type p; private_type const &operator,(int) const; }; typedef char yes_type; struct no_type{ char dummy[2]; }; template no_type is_private_type(T const &); yes_type is_private_type(private_type const &); template class has_member_function_named_swap { struct BaseMixin { void swap(); }; struct Base : public Type, public BaseMixin { Base(); }; template class Helper{}; template static no_type deduce(U*, Helper* = 0); static yes_type deduce(...); public: static const bool value = sizeof(yes_type) == sizeof(deduce((Base*)(0))); }; template struct has_member_swap_impl { static const bool value = false; }; template struct has_member_swap_impl { struct FunWrap : Fun { FunWrap(); using Fun::swap; private_type swap(dont_care) const; }; static Fun &declval_fun(); static FunWrap declval_wrap(); static bool const value = sizeof(no_type) == sizeof(is_private_type( (declval_wrap().swap(declval_fun()), 0)) ); }; template struct has_member_swap : public has_member_swap_impl ::value> {}; } //namespace boost_move_member_swap namespace boost_move_adl_swap{ template struct and_op_impl { static const bool value = false; }; template struct and_op_impl { static const bool value = P2::value; }; template struct and_op : and_op_impl {}; ////// template struct and_op_not_impl { static const bool value = false; }; template struct and_op_not_impl { static const bool value = !P2::value; }; template struct and_op_not : and_op_not_impl {}; template void swap_proxy(T& x, T& y, typename boost::move_detail::enable_if_c::value>::type* = 0) { //use std::swap if argument dependent lookup fails //Use using directive ("using namespace xxx;") instead as some older compilers //don't do ADL with using declarations ("using ns::func;"). using namespace std; swap(x, y); } template void swap_proxy(T& x, T& y , typename boost::move_detail::enable_if< and_op_not_impl , boost_move_member_swap::has_member_swap > >::type* = 0) { T t(::boost::move(x)); x = ::boost::move(y); y = ::boost::move(t); } template void swap_proxy(T& x, T& y , typename boost::move_detail::enable_if< and_op_impl< boost::move_detail::has_move_emulation_enabled_impl , boost_move_member_swap::has_member_swap > >::type* = 0) { x.swap(y); } } //namespace boost_move_adl_swap{ #else namespace boost_move_adl_swap{ template void swap_proxy(T& x, T& y) { using std::swap; swap(x, y); } } //namespace boost_move_adl_swap{ #endif //#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) namespace boost_move_adl_swap{ template void swap_proxy(T (& x)[N], T (& y)[N]) { for (std::size_t i = 0; i < N; ++i){ ::boost_move_adl_swap::swap_proxy(x[i], y[i]); } } } //namespace boost_move_adl_swap { #endif //!defined(BOOST_MOVE_DOXYGEN_INVOKED) namespace boost{ //! Exchanges the values of a and b, using Argument Dependent Lookup (ADL) to select a //! specialized swap function if available. If no specialized swap function is available, //! std::swap is used. //! //! Exception: If T uses Boost.Move's move emulation and the compiler has //! no rvalue references then: //! //! - If T has a T::swap(T&) member, that member is called. //! - Otherwise a move-based swap is called, equivalent to: //! T t(::boost::move(x)); x = ::boost::move(y); y = ::boost::move(t);. template void adl_move_swap(T& x, T& y) { ::boost_move_adl_swap::swap_proxy(x, y); } } //namespace boost{ #endif //#ifndef BOOST_MOVE_ADL_MOVE_SWAP_HPP KWStyle-master/Utilities/boost/move/algorithm.hpp000066400000000000000000000205331265471724600225000ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (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 #ifndef BOOST_MOVE_ALGORITHM_HPP #define BOOST_MOVE_ALGORITHM_HPP #ifndef BOOST_CONFIG_HPP # include #endif # #if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include #include #include #include //copy, copy_backward #include //uninitialized_copy namespace boost { ////////////////////////////////////////////////////////////////////////////// // // move // ////////////////////////////////////////////////////////////////////////////// #if !defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE) //! Effects: Moves elements in the range [first,last) into the range [result,result + (last - //! first)) starting from first and proceeding to last. For each non-negative integer n < (last-first), //! performs *(result + n) = ::boost::move (*(first + n)). //! //! Effects: result + (last - first). //! //! Requires: result shall not be in the range [first,last). //! //! Complexity: Exactly last - first move assignments. template // O models OutputIterator O move(I f, I l, O result) { while (f != l) { *result = ::boost::move(*f); ++f; ++result; } return result; } ////////////////////////////////////////////////////////////////////////////// // // move_backward // ////////////////////////////////////////////////////////////////////////////// //! Effects: Moves elements in the range [first,last) into the range //! [result - (last-first),result) starting from last - 1 and proceeding to //! first. For each positive integer n <= (last - first), //! performs *(result - n) = ::boost::move(*(last - n)). //! //! Requires: result shall not be in the range [first,last). //! //! Returns: result - (last - first). //! //! Complexity: Exactly last - first assignments. template // O models BidirectionalIterator O move_backward(I f, I l, O result) { while (f != l) { --l; --result; *result = ::boost::move(*l); } return result; } #else using ::std::move_backward; #endif //!defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE) ////////////////////////////////////////////////////////////////////////////// // // uninitialized_move // ////////////////////////////////////////////////////////////////////////////// //! Effects: //! \code //! for (; first != last; ++result, ++first) //! new (static_cast(&*result)) //! typename iterator_traits::value_type(boost::move(*first)); //! \endcode //! //! Returns: result template // F models ForwardIterator F uninitialized_move(I f, I l, F r /// @cond // ,typename ::boost::move_detail::enable_if::value_type> >::type* = 0 /// @endcond ) { typedef typename std::iterator_traits::value_type input_value_type; F back = r; BOOST_TRY{ while (f != l) { void * const addr = static_cast(::boost::move_detail::addressof(*r)); ::new(addr) input_value_type(::boost::move(*f)); ++f; ++r; } } BOOST_CATCH(...){ for (; back != r; ++back){ back->~input_value_type(); } BOOST_RETHROW; } BOOST_CATCH_END return r; } /// @cond /* template // F models ForwardIterator F uninitialized_move(I f, I l, F r, typename ::boost::move_detail::disable_if::value_type> >::type* = 0) { return std::uninitialized_copy(f, l, r); } */ ////////////////////////////////////////////////////////////////////////////// // // uninitialized_copy_or_move // ////////////////////////////////////////////////////////////////////////////// namespace move_detail { template // F models ForwardIterator inline F uninitialized_move_move_iterator(I f, I l, F r // ,typename ::boost::move_detail::enable_if< has_move_emulation_enabled >::type* = 0 ) { return ::boost::uninitialized_move(f, l, r); } /* template // F models ForwardIterator F uninitialized_move_move_iterator(I f, I l, F r, typename ::boost::move_detail::disable_if< has_move_emulation_enabled >::type* = 0) { return std::uninitialized_copy(f.base(), l.base(), r); } */ } //namespace move_detail { template // F models ForwardIterator inline F uninitialized_copy_or_move(I f, I l, F r, typename ::boost::move_detail::enable_if< move_detail::is_move_iterator >::type* = 0) { return ::boost::move_detail::uninitialized_move_move_iterator(f, l, r); } ////////////////////////////////////////////////////////////////////////////// // // copy_or_move // ////////////////////////////////////////////////////////////////////////////// namespace move_detail { template // F models ForwardIterator inline F move_move_iterator(I f, I l, F r // ,typename ::boost::move_detail::enable_if< has_move_emulation_enabled >::type* = 0 ) { return ::boost::move(f, l, r); } /* template // F models ForwardIterator F move_move_iterator(I f, I l, F r, typename ::boost::move_detail::disable_if< has_move_emulation_enabled >::type* = 0) { return std::copy(f.base(), l.base(), r); } */ } //namespace move_detail { template // F models ForwardIterator inline F copy_or_move(I f, I l, F r, typename ::boost::move_detail::enable_if< move_detail::is_move_iterator >::type* = 0) { return ::boost::move_detail::move_move_iterator(f, l, r); } /// @endcond //! Effects: //! \code //! for (; first != last; ++result, ++first) //! new (static_cast(&*result)) //! typename iterator_traits::value_type(*first); //! \endcode //! //! Returns: result //! //! Note: This function is provided because //! std::uninitialized_copy from some STL implementations //! is not compatible with move_iterator template // F models ForwardIterator inline F uninitialized_copy_or_move(I f, I l, F r /// @cond ,typename ::boost::move_detail::disable_if< move_detail::is_move_iterator >::type* = 0 /// @endcond ) { return std::uninitialized_copy(f, l, r); } //! Effects: //! \code //! for (; first != last; ++result, ++first) //! *result = *first; //! \endcode //! //! Returns: result //! //! Note: This function is provided because //! std::uninitialized_copy from some STL implementations //! is not compatible with move_iterator template // F models ForwardIterator inline F copy_or_move(I f, I l, F r /// @cond ,typename ::boost::move_detail::disable_if< move_detail::is_move_iterator >::type* = 0 /// @endcond ) { return std::copy(f, l, r); } } //namespace boost { #include #endif //#ifndef BOOST_MOVE_ALGORITHM_HPP KWStyle-master/Utilities/boost/move/core.hpp000066400000000000000000000336411265471724600214460ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (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 //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 #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED) #include //Move emulation rv breaks standard aliasing rules so add workarounds for some compilers #if defined(__GNUC__) && (__GNUC__ >= 4) && \ (\ defined(BOOST_GCC) || \ (defined(BOOST_INTEL) && (BOOST_INTEL_CXX_VERSION >= 1300)) \ ) #define BOOST_MOVE_ATTRIBUTE_MAY_ALIAS __attribute__((__may_alias__)) #else #define BOOST_MOVE_ATTRIBUTE_MAY_ALIAS #endif namespace boost { ////////////////////////////////////////////////////////////////////////////// // // struct rv // ////////////////////////////////////////////////////////////////////////////// template class 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&); } BOOST_MOVE_ATTRIBUTE_MAY_ALIAS; ////////////////////////////////////////////////////////////////////////////// // // 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 > {}; } //namespace move_detail { ////////////////////////////////////////////////////////////////////////////// // // has_move_emulation_enabled // ////////////////////////////////////////////////////////////////////////////// template struct has_move_emulation_enabled : ::boost::move_detail::has_move_emulation_enabled_impl {}; } //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_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 inline 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 inline 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 *static_cast< ::boost::rv* >(::boost::move_detail::addressof(x)); } template inline 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:\ operator ::boost::rv&() \ { return *static_cast< ::boost::rv* >(this); }\ operator const ::boost::rv&() const \ { return *static_cast* >(this); }\ private:\ // ////////////////////////////////////////////////////////////////////////////// // // BOOST_COPYABLE_AND_MOVABLE // ////////////////////////////////////////////////////////////////////////////// #define BOOST_COPYABLE_AND_MOVABLE(TYPE)\ public:\ TYPE& operator=(TYPE &t)\ { this->operator=(static_cast &>(const_cast(t))); return *this;}\ public:\ operator ::boost::rv&() \ { return *static_cast< ::boost::rv* >(this); }\ operator const ::boost::rv&() const \ { return *static_cast* >(this); }\ private:\ // #define BOOST_COPYABLE_AND_MOVABLE_ALT(TYPE)\ public:\ operator ::boost::rv&() \ { return *static_cast< ::boost::rv* >(this); }\ operator const ::boost::rv&() const \ { return *static_cast* >(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;\ // //! 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; }; } //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 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 inline 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 inline 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 KWStyle-master/Utilities/boost/move/default_delete.hpp000066400000000000000000000160641265471724600234640ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (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/move for documentation. // ////////////////////////////////////////////////////////////////////////////// #ifndef BOOST_MOVE_DEFAULT_DELETE_HPP_INCLUDED #define BOOST_MOVE_DEFAULT_DELETE_HPP_INCLUDED #ifndef BOOST_CONFIG_HPP # include #endif # #if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include #include #include #include #include //For std::size_t,std::nullptr_t //!\file //! Describes the default deleter (destruction policy) of unique_ptr: default_delete. namespace boost{ namespace move_upd { namespace bmupmu = ::boost::move_upmu; //////////////////////////////////////// //// enable_def_del //////////////////////////////////////// //compatible with a pointer type T*: //When either Y* is convertible to T* //Y is U[N] and T is U cv [] template struct def_del_compatible_cond : bmupmu::is_convertible {}; template struct def_del_compatible_cond : def_del_compatible_cond {}; template struct enable_def_del : bmupmu::enable_if_c::value, Type> {}; //////////////////////////////////////// //// enable_defdel_call //////////////////////////////////////// //When 2nd is T[N], 1st(*)[N] shall be convertible to T(*)[N]; //When 2nd is T[], 1st(*)[] shall be convertible to T(*)[]; //Otherwise, 1st* shall be convertible to 2nd*. template struct enable_defdel_call : public enable_def_del {}; template struct enable_defdel_call : public enable_def_del {}; template struct enable_defdel_call : public enable_def_del {}; //////////////////////////////////////// //// Some bool literal zero conversion utilities //////////////////////////////////////// struct bool_conversion {int for_bool; int for_arg(); }; typedef int bool_conversion::* explicit_bool_arg; #if !defined(BOOST_NO_CXX11_NULLPTR) && !defined(BOOST_NO_CXX11_DECLTYPE) typedef decltype(nullptr) nullptr_type; #elif !defined(BOOST_NO_CXX11_NULLPTR) typedef std::nullptr_t nullptr_type; #else typedef int (bool_conversion::*nullptr_type)(); #endif } //namespace move_upd { namespace movelib { namespace bmupd = boost::move_upd; namespace bmupmu = ::boost::move_upmu; //!The class template default_delete serves as the default deleter //!(destruction policy) for the class template unique_ptr. //! //! \tparam T The type to be deleted. It may be an incomplete type template struct default_delete { //! Default constructor. //! BOOST_CONSTEXPR default_delete() //Avoid "defaulted on its first declaration must not have an exception-specification" error for GCC 4.6 #if !defined(BOOST_GCC) || (BOOST_GCC < 40600 && BOOST_GCC >= 40700) || defined(BOOST_MOVE_DOXYGEN_INVOKED) BOOST_NOEXCEPT #endif #if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || defined(BOOST_MOVE_DOXYGEN_INVOKED) = default; #else {}; #endif #if defined(BOOST_MOVE_DOXYGEN_INVOKED) default_delete(const default_delete&) BOOST_NOEXCEPT = default; default_delete &operator=(const default_delete&) BOOST_NOEXCEPT = default; #else typedef typename bmupmu::remove_extent::type element_type; #endif //! Effects: Constructs a default_delete object from another default_delete object. //! //! Remarks: This constructor shall not participate in overload resolution unless: //! - If T is not an array type and U* is implicitly convertible to T*. //! - If T is an array type and U* is a more CV qualified pointer to remove_extent::type. template default_delete(const default_delete& BOOST_MOVE_DOCIGN(BOOST_MOVE_I typename bmupd::enable_def_del::type* =0) ) BOOST_NOEXCEPT { //If T is not an array type, U derives from T //and T has no virtual destructor, then you have a problem BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor::value )); } //! Effects: Constructs a default_delete object from another default_delete object. //! //! Remarks: This constructor shall not participate in overload resolution unless: //! - If T is not an array type and U* is implicitly convertible to T*. //! - If T is an array type and U* is a more CV qualified pointer to remove_extent::type. template BOOST_MOVE_DOC1ST(default_delete&, typename bmupd::enable_def_del::type) operator=(const default_delete&) BOOST_NOEXCEPT { //If T is not an array type, U derives from T //and T has no virtual destructor, then you have a problem BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor::value )); return *this; } //! Effects: if T is not an array type, calls delete on static_cast(ptr), //! otherwise calls delete[] on static_cast::type*>(ptr). //! //! Remarks: If U is an incomplete type, the program is ill-formed. //! This operator shall not participate in overload resolution unless: //! - T is not an array type and U* is convertible to T*, OR //! - T is an array type, and remove_cv::type is the same type as //! remove_cv::type>::type and U* is convertible to remove_extent::type*. template BOOST_MOVE_DOC1ST(void, typename bmupd::enable_defdel_call::type) operator()(U* ptr) const BOOST_NOEXCEPT { //U must be a complete type BOOST_STATIC_ASSERT(sizeof(U) > 0); //If T is not an array type, U derives from T //and T has no virtual destructor, then you have a problem BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor::value )); element_type * const p = static_cast(ptr); bmupmu::is_array::value ? delete [] p : delete p; } //! Effects: Same as (*this)(static_cast(nullptr)). //! void operator()(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) const BOOST_NOEXCEPT { BOOST_STATIC_ASSERT(sizeof(element_type) > 0); } }; } //namespace movelib { } //namespace boost{ #include #endif //#ifndef BOOST_MOVE_DEFAULT_DELETE_HPP_INCLUDED KWStyle-master/Utilities/boost/move/detail/000077500000000000000000000000001265471724600212405ustar00rootroot00000000000000KWStyle-master/Utilities/boost/move/detail/config_begin.hpp000066400000000000000000000015211265471724600243610ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (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) #endif KWStyle-master/Utilities/boost/move/detail/config_end.hpp000066400000000000000000000007311265471724600240450ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (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 KWStyle-master/Utilities/boost/move/detail/fwd_macros.hpp000066400000000000000000000511611265471724600241010ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (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/container for documentation. // ////////////////////////////////////////////////////////////////////////////// #ifndef BOOST_MOVE_DETAIL_FWD_MACROS_HPP #define BOOST_MOVE_DETAIL_FWD_MACROS_HPP #ifndef BOOST_CONFIG_HPP # include #endif # #if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include namespace boost { namespace move_detail { template struct unvoid { typedef T type; }; template <> struct unvoid { struct type { }; }; template <> struct unvoid { struct type { }; }; } //namespace move_detail { } //namespace boost { #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #if defined(BOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG) namespace boost { namespace move_detail { template struct mref; template struct mref { explicit mref(T &t) : t_(t){} T &t_; T & get() { return t_; } }; template struct mref { explicit mref(T &&t) : t_(t) {} T &t_; T &&get() { return ::boost::move(t_); } }; } //namespace move_detail { } //namespace boost { #endif //BOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG #endif //!defined(BOOST_NO_CXX11_RVALUE_REFERENCES) //BOOST_MOVE_REPEATN(MACRO) #define BOOST_MOVE_REPEAT0(MACRO) #define BOOST_MOVE_REPEAT1(MACRO) MACRO #define BOOST_MOVE_REPEAT2(MACRO) BOOST_MOVE_REPEAT1(MACRO), MACRO #define BOOST_MOVE_REPEAT3(MACRO) BOOST_MOVE_REPEAT2(MACRO), MACRO #define BOOST_MOVE_REPEAT4(MACRO) BOOST_MOVE_REPEAT3(MACRO), MACRO #define BOOST_MOVE_REPEAT5(MACRO) BOOST_MOVE_REPEAT4(MACRO), MACRO #define BOOST_MOVE_REPEAT6(MACRO) BOOST_MOVE_REPEAT5(MACRO), MACRO #define BOOST_MOVE_REPEAT7(MACRO) BOOST_MOVE_REPEAT6(MACRO), MACRO #define BOOST_MOVE_REPEAT8(MACRO) BOOST_MOVE_REPEAT7(MACRO), MACRO #define BOOST_MOVE_REPEAT9(MACRO) BOOST_MOVE_REPEAT8(MACRO), MACRO //BOOST_MOVE_FWDN #define BOOST_MOVE_FWD0 #define BOOST_MOVE_FWD1 ::boost::forward(p0) #define BOOST_MOVE_FWD2 BOOST_MOVE_FWD1, ::boost::forward(p1) #define BOOST_MOVE_FWD3 BOOST_MOVE_FWD2, ::boost::forward(p2) #define BOOST_MOVE_FWD4 BOOST_MOVE_FWD3, ::boost::forward(p3) #define BOOST_MOVE_FWD5 BOOST_MOVE_FWD4, ::boost::forward(p4) #define BOOST_MOVE_FWD6 BOOST_MOVE_FWD5, ::boost::forward(p5) #define BOOST_MOVE_FWD7 BOOST_MOVE_FWD6, ::boost::forward(p6) #define BOOST_MOVE_FWD8 BOOST_MOVE_FWD7, ::boost::forward(p7) #define BOOST_MOVE_FWD9 BOOST_MOVE_FWD8, ::boost::forward(p8) //BOOST_MOVE_FWDQN #define BOOST_MOVE_FWDQ0 #define BOOST_MOVE_FWDQ1 ::boost::forward(q0) #define BOOST_MOVE_FWDQ2 BOOST_MOVE_FWDQ1, ::boost::forward(q1) #define BOOST_MOVE_FWDQ3 BOOST_MOVE_FWDQ2, ::boost::forward(q2) #define BOOST_MOVE_FWDQ4 BOOST_MOVE_FWDQ3, ::boost::forward(q3) #define BOOST_MOVE_FWDQ5 BOOST_MOVE_FWDQ4, ::boost::forward(q4) #define BOOST_MOVE_FWDQ6 BOOST_MOVE_FWDQ5, ::boost::forward(q5) #define BOOST_MOVE_FWDQ7 BOOST_MOVE_FWDQ6, ::boost::forward(q6) #define BOOST_MOVE_FWDQ8 BOOST_MOVE_FWDQ7, ::boost::forward(q7) #define BOOST_MOVE_FWDQ9 BOOST_MOVE_FWDQ8, ::boost::forward(q8) //BOOST_MOVE_ARGN #define BOOST_MOVE_ARG0 #define BOOST_MOVE_ARG1 p0 #define BOOST_MOVE_ARG2 BOOST_MOVE_ARG1, p1 #define BOOST_MOVE_ARG3 BOOST_MOVE_ARG2, p2 #define BOOST_MOVE_ARG4 BOOST_MOVE_ARG3, p3 #define BOOST_MOVE_ARG5 BOOST_MOVE_ARG4, p4 #define BOOST_MOVE_ARG6 BOOST_MOVE_ARG5, p5 #define BOOST_MOVE_ARG7 BOOST_MOVE_ARG6, p6 #define BOOST_MOVE_ARG8 BOOST_MOVE_ARG7, p7 #define BOOST_MOVE_ARG9 BOOST_MOVE_ARG8, p8 //BOOST_MOVE_DECLVALN #define BOOST_MOVE_DECLVAL0 #define BOOST_MOVE_DECLVAL1 ::boost::move_detail::declval() #define BOOST_MOVE_DECLVAL2 BOOST_MOVE_DECLVAL1, ::boost::move_detail::declval() #define BOOST_MOVE_DECLVAL3 BOOST_MOVE_DECLVAL2, ::boost::move_detail::declval() #define BOOST_MOVE_DECLVAL4 BOOST_MOVE_DECLVAL3, ::boost::move_detail::declval() #define BOOST_MOVE_DECLVAL5 BOOST_MOVE_DECLVAL4, ::boost::move_detail::declval() #define BOOST_MOVE_DECLVAL6 BOOST_MOVE_DECLVAL5, ::boost::move_detail::declval() #define BOOST_MOVE_DECLVAL7 BOOST_MOVE_DECLVAL6, ::boost::move_detail::declval() #define BOOST_MOVE_DECLVAL8 BOOST_MOVE_DECLVAL7, ::boost::move_detail::declval() #define BOOST_MOVE_DECLVAL9 BOOST_MOVE_DECLVAL8, ::boost::move_detail::declval() #ifdef BOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG #define BOOST_MOVE_MREF(T) ::boost::move_detail::mref #define BOOST_MOVE_MFWD(N) ::boost::forward(this->m_p##N.get()) #else #define BOOST_MOVE_MREF(T) BOOST_FWD_REF(T) #define BOOST_MOVE_MFWD(N) ::boost::forward(this->m_p##N) #endif #define BOOST_MOVE_MITFWD(N) *this->m_p##N #define BOOST_MOVE_MINC(N) ++this->m_p##N //BOOST_MOVE_MFWDN #define BOOST_MOVE_MFWD0 #define BOOST_MOVE_MFWD1 BOOST_MOVE_MFWD(0) #define BOOST_MOVE_MFWD2 BOOST_MOVE_MFWD1, BOOST_MOVE_MFWD(1) #define BOOST_MOVE_MFWD3 BOOST_MOVE_MFWD2, BOOST_MOVE_MFWD(2) #define BOOST_MOVE_MFWD4 BOOST_MOVE_MFWD3, BOOST_MOVE_MFWD(3) #define BOOST_MOVE_MFWD5 BOOST_MOVE_MFWD4, BOOST_MOVE_MFWD(4) #define BOOST_MOVE_MFWD6 BOOST_MOVE_MFWD5, BOOST_MOVE_MFWD(5) #define BOOST_MOVE_MFWD7 BOOST_MOVE_MFWD6, BOOST_MOVE_MFWD(6) #define BOOST_MOVE_MFWD8 BOOST_MOVE_MFWD7, BOOST_MOVE_MFWD(7) #define BOOST_MOVE_MFWD9 BOOST_MOVE_MFWD8, BOOST_MOVE_MFWD(8) //BOOST_MOVE_MINCN #define BOOST_MOVE_MINC0 #define BOOST_MOVE_MINC1 BOOST_MOVE_MINC(0) #define BOOST_MOVE_MINC2 BOOST_MOVE_MINC1, BOOST_MOVE_MINC(1) #define BOOST_MOVE_MINC3 BOOST_MOVE_MINC2, BOOST_MOVE_MINC(2) #define BOOST_MOVE_MINC4 BOOST_MOVE_MINC3, BOOST_MOVE_MINC(3) #define BOOST_MOVE_MINC5 BOOST_MOVE_MINC4, BOOST_MOVE_MINC(4) #define BOOST_MOVE_MINC6 BOOST_MOVE_MINC5, BOOST_MOVE_MINC(5) #define BOOST_MOVE_MINC7 BOOST_MOVE_MINC6, BOOST_MOVE_MINC(6) #define BOOST_MOVE_MINC8 BOOST_MOVE_MINC7, BOOST_MOVE_MINC(7) #define BOOST_MOVE_MINC9 BOOST_MOVE_MINC8, BOOST_MOVE_MINC(8) //BOOST_MOVE_MITFWDN #define BOOST_MOVE_MITFWD0 #define BOOST_MOVE_MITFWD1 BOOST_MOVE_MITFWD(0) #define BOOST_MOVE_MITFWD2 BOOST_MOVE_MITFWD1, BOOST_MOVE_MITFWD(1) #define BOOST_MOVE_MITFWD3 BOOST_MOVE_MITFWD2, BOOST_MOVE_MITFWD(2) #define BOOST_MOVE_MITFWD4 BOOST_MOVE_MITFWD3, BOOST_MOVE_MITFWD(3) #define BOOST_MOVE_MITFWD5 BOOST_MOVE_MITFWD4, BOOST_MOVE_MITFWD(4) #define BOOST_MOVE_MITFWD6 BOOST_MOVE_MITFWD5, BOOST_MOVE_MITFWD(5) #define BOOST_MOVE_MITFWD7 BOOST_MOVE_MITFWD6, BOOST_MOVE_MITFWD(6) #define BOOST_MOVE_MITFWD8 BOOST_MOVE_MITFWD7, BOOST_MOVE_MITFWD(7) #define BOOST_MOVE_MITFWD9 BOOST_MOVE_MITFWD8, BOOST_MOVE_MITFWD(8) //BOOST_MOVE_FWD_INITN #define BOOST_MOVE_FWD_INIT0 #define BOOST_MOVE_FWD_INIT1 m_p0(::boost::forward(p0)) #define BOOST_MOVE_FWD_INIT2 BOOST_MOVE_FWD_INIT1, m_p1(::boost::forward(p1)) #define BOOST_MOVE_FWD_INIT3 BOOST_MOVE_FWD_INIT2, m_p2(::boost::forward(p2)) #define BOOST_MOVE_FWD_INIT4 BOOST_MOVE_FWD_INIT3, m_p3(::boost::forward(p3)) #define BOOST_MOVE_FWD_INIT5 BOOST_MOVE_FWD_INIT4, m_p4(::boost::forward(p4)) #define BOOST_MOVE_FWD_INIT6 BOOST_MOVE_FWD_INIT5, m_p5(::boost::forward(p5)) #define BOOST_MOVE_FWD_INIT7 BOOST_MOVE_FWD_INIT6, m_p6(::boost::forward(p6)) #define BOOST_MOVE_FWD_INIT8 BOOST_MOVE_FWD_INIT7, m_p7(::boost::forward(p7)) #define BOOST_MOVE_FWD_INIT9 BOOST_MOVE_FWD_INIT8, m_p8(::boost::forward(p8)) //BOOST_MOVE_VAL_INITN #define BOOST_MOVE_VAL_INIT0 #define BOOST_MOVE_VAL_INIT1 m_p0(p0) #define BOOST_MOVE_VAL_INIT2 BOOST_MOVE_VAL_INIT1, m_p1(p1) #define BOOST_MOVE_VAL_INIT3 BOOST_MOVE_VAL_INIT2, m_p2(p2) #define BOOST_MOVE_VAL_INIT4 BOOST_MOVE_VAL_INIT3, m_p3(p3) #define BOOST_MOVE_VAL_INIT5 BOOST_MOVE_VAL_INIT4, m_p4(p4) #define BOOST_MOVE_VAL_INIT6 BOOST_MOVE_VAL_INIT5, m_p5(p5) #define BOOST_MOVE_VAL_INIT7 BOOST_MOVE_VAL_INIT6, m_p6(p6) #define BOOST_MOVE_VAL_INIT8 BOOST_MOVE_VAL_INIT7, m_p7(p7) #define BOOST_MOVE_VAL_INIT9 BOOST_MOVE_VAL_INIT8, m_p8(p8) //BOOST_MOVE_UREFN #define BOOST_MOVE_UREF0 #define BOOST_MOVE_UREF1 BOOST_FWD_REF(P0) p0 #define BOOST_MOVE_UREF2 BOOST_MOVE_UREF1, BOOST_FWD_REF(P1) p1 #define BOOST_MOVE_UREF3 BOOST_MOVE_UREF2, BOOST_FWD_REF(P2) p2 #define BOOST_MOVE_UREF4 BOOST_MOVE_UREF3, BOOST_FWD_REF(P3) p3 #define BOOST_MOVE_UREF5 BOOST_MOVE_UREF4, BOOST_FWD_REF(P4) p4 #define BOOST_MOVE_UREF6 BOOST_MOVE_UREF5, BOOST_FWD_REF(P5) p5 #define BOOST_MOVE_UREF7 BOOST_MOVE_UREF6, BOOST_FWD_REF(P6) p6 #define BOOST_MOVE_UREF8 BOOST_MOVE_UREF7, BOOST_FWD_REF(P7) p7 #define BOOST_MOVE_UREF9 BOOST_MOVE_UREF8, BOOST_FWD_REF(P8) p8 //BOOST_MOVE_VALN #define BOOST_MOVE_VAL0 #define BOOST_MOVE_VAL1 P0 p0 #define BOOST_MOVE_VAL2 BOOST_MOVE_VAL1, BOOST_FWD_REF(P1) p1 #define BOOST_MOVE_VAL3 BOOST_MOVE_VAL2, BOOST_FWD_REF(P2) p2 #define BOOST_MOVE_VAL4 BOOST_MOVE_VAL3, BOOST_FWD_REF(P3) p3 #define BOOST_MOVE_VAL5 BOOST_MOVE_VAL4, BOOST_FWD_REF(P4) p4 #define BOOST_MOVE_VAL6 BOOST_MOVE_VAL5, BOOST_FWD_REF(P5) p5 #define BOOST_MOVE_VAL7 BOOST_MOVE_VAL6, BOOST_FWD_REF(P6) p6 #define BOOST_MOVE_VAL8 BOOST_MOVE_VAL7, BOOST_FWD_REF(P7) p7 #define BOOST_MOVE_VAL9 BOOST_MOVE_VAL8, BOOST_FWD_REF(P8) p8 //BOOST_MOVE_UREFQN #define BOOST_MOVE_UREFQ0 #define BOOST_MOVE_UREFQ1 BOOST_FWD_REF(Q0) q0 #define BOOST_MOVE_UREFQ2 BOOST_MOVE_UREFQ1, BOOST_FWD_REF(Q1) q1 #define BOOST_MOVE_UREFQ3 BOOST_MOVE_UREFQ2, BOOST_FWD_REF(Q2) q2 #define BOOST_MOVE_UREFQ4 BOOST_MOVE_UREFQ3, BOOST_FWD_REF(Q3) q3 #define BOOST_MOVE_UREFQ5 BOOST_MOVE_UREFQ4, BOOST_FWD_REF(Q4) q4 #define BOOST_MOVE_UREFQ6 BOOST_MOVE_UREFQ5, BOOST_FWD_REF(Q5) q5 #define BOOST_MOVE_UREFQ7 BOOST_MOVE_UREFQ6, BOOST_FWD_REF(Q6) q6 #define BOOST_MOVE_UREFQ8 BOOST_MOVE_UREFQ7, BOOST_FWD_REF(Q7) q7 #define BOOST_MOVE_UREFQ9 BOOST_MOVE_UREFQ8, BOOST_FWD_REF(Q8) q8 //BOOST_MOVE_CREFN #define BOOST_MOVE_UNVOIDCREF(T) const typename boost::move_detail::unvoid::type& #define BOOST_MOVE_CREF0 #define BOOST_MOVE_CREF1 BOOST_MOVE_UNVOIDCREF(P0) p0 #define BOOST_MOVE_CREF2 BOOST_MOVE_CREF1, BOOST_MOVE_UNVOIDCREF(P1) p1 #define BOOST_MOVE_CREF3 BOOST_MOVE_CREF2, BOOST_MOVE_UNVOIDCREF(P2) p2 #define BOOST_MOVE_CREF4 BOOST_MOVE_CREF3, BOOST_MOVE_UNVOIDCREF(P3) p3 #define BOOST_MOVE_CREF5 BOOST_MOVE_CREF4, BOOST_MOVE_UNVOIDCREF(P4) p4 #define BOOST_MOVE_CREF6 BOOST_MOVE_CREF5, BOOST_MOVE_UNVOIDCREF(P5) p5 #define BOOST_MOVE_CREF7 BOOST_MOVE_CREF6, BOOST_MOVE_UNVOIDCREF(P6) p6 #define BOOST_MOVE_CREF8 BOOST_MOVE_CREF7, BOOST_MOVE_UNVOIDCREF(P7) p7 #define BOOST_MOVE_CREF9 BOOST_MOVE_CREF8, BOOST_MOVE_UNVOIDCREF(P8) p8 //BOOST_MOVE_CLASSN #define BOOST_MOVE_CLASS0 #define BOOST_MOVE_CLASS1 class P0 #define BOOST_MOVE_CLASS2 BOOST_MOVE_CLASS1, class P1 #define BOOST_MOVE_CLASS3 BOOST_MOVE_CLASS2, class P2 #define BOOST_MOVE_CLASS4 BOOST_MOVE_CLASS3, class P3 #define BOOST_MOVE_CLASS5 BOOST_MOVE_CLASS4, class P4 #define BOOST_MOVE_CLASS6 BOOST_MOVE_CLASS5, class P5 #define BOOST_MOVE_CLASS7 BOOST_MOVE_CLASS6, class P6 #define BOOST_MOVE_CLASS8 BOOST_MOVE_CLASS7, class P7 #define BOOST_MOVE_CLASS9 BOOST_MOVE_CLASS8, class P8 //BOOST_MOVE_CLASSQN #define BOOST_MOVE_CLASSQ0 #define BOOST_MOVE_CLASSQ1 class Q0 #define BOOST_MOVE_CLASSQ2 BOOST_MOVE_CLASSQ1, class Q1 #define BOOST_MOVE_CLASSQ3 BOOST_MOVE_CLASSQ2, class Q2 #define BOOST_MOVE_CLASSQ4 BOOST_MOVE_CLASSQ3, class Q3 #define BOOST_MOVE_CLASSQ5 BOOST_MOVE_CLASSQ4, class Q4 #define BOOST_MOVE_CLASSQ6 BOOST_MOVE_CLASSQ5, class Q5 #define BOOST_MOVE_CLASSQ7 BOOST_MOVE_CLASSQ6, class Q6 #define BOOST_MOVE_CLASSQ8 BOOST_MOVE_CLASSQ7, class Q7 #define BOOST_MOVE_CLASSQ9 BOOST_MOVE_CLASSQ8, class Q8 //BOOST_MOVE_CLASSDFLTN #define BOOST_MOVE_CLASSDFLT0 #define BOOST_MOVE_CLASSDFLT1 class P0 = void #define BOOST_MOVE_CLASSDFLT2 BOOST_MOVE_CLASSDFLT1, class P1 = void #define BOOST_MOVE_CLASSDFLT3 BOOST_MOVE_CLASSDFLT2, class P2 = void #define BOOST_MOVE_CLASSDFLT4 BOOST_MOVE_CLASSDFLT3, class P3 = void #define BOOST_MOVE_CLASSDFLT5 BOOST_MOVE_CLASSDFLT4, class P4 = void #define BOOST_MOVE_CLASSDFLT6 BOOST_MOVE_CLASSDFLT5, class P5 = void #define BOOST_MOVE_CLASSDFLT7 BOOST_MOVE_CLASSDFLT6, class P6 = void #define BOOST_MOVE_CLASSDFLT8 BOOST_MOVE_CLASSDFLT7, class P7 = void #define BOOST_MOVE_CLASSDFLT9 BOOST_MOVE_CLASSDFLT8, class P8 = void //BOOST_MOVE_TARGN #define BOOST_MOVE_TARG0 #define BOOST_MOVE_TARG1 P0 #define BOOST_MOVE_TARG2 BOOST_MOVE_TARG1, P1 #define BOOST_MOVE_TARG3 BOOST_MOVE_TARG2, P2 #define BOOST_MOVE_TARG4 BOOST_MOVE_TARG3, P3 #define BOOST_MOVE_TARG5 BOOST_MOVE_TARG4, P4 #define BOOST_MOVE_TARG6 BOOST_MOVE_TARG5, P5 #define BOOST_MOVE_TARG7 BOOST_MOVE_TARG6, P6 #define BOOST_MOVE_TARG8 BOOST_MOVE_TARG7, P7 #define BOOST_MOVE_TARG9 BOOST_MOVE_TARG8, P8 //BOOST_MOVE_FWD_TN #define BOOST_MOVE_FWD_T0 #define BOOST_MOVE_FWD_T1 typename ::boost::move_detail::forward_type::type #define BOOST_MOVE_FWD_T2 BOOST_MOVE_FWD_T1, typename ::boost::move_detail::forward_type::type #define BOOST_MOVE_FWD_T3 BOOST_MOVE_FWD_T2, typename ::boost::move_detail::forward_type::type #define BOOST_MOVE_FWD_T4 BOOST_MOVE_FWD_T3, typename ::boost::move_detail::forward_type::type #define BOOST_MOVE_FWD_T5 BOOST_MOVE_FWD_T4, typename ::boost::move_detail::forward_type::type #define BOOST_MOVE_FWD_T6 BOOST_MOVE_FWD_T5, typename ::boost::move_detail::forward_type::type #define BOOST_MOVE_FWD_T7 BOOST_MOVE_FWD_T6, typename ::boost::move_detail::forward_type::type #define BOOST_MOVE_FWD_T8 BOOST_MOVE_FWD_T7, typename ::boost::move_detail::forward_type::type #define BOOST_MOVE_FWD_T9 BOOST_MOVE_FWD_T8, typename ::boost::move_detail::forward_type::type //BOOST_MOVE_MREFX #define BOOST_MOVE_MREF0 #define BOOST_MOVE_MREF1 BOOST_MOVE_MREF(P0) m_p0; #define BOOST_MOVE_MREF2 BOOST_MOVE_MREF1 BOOST_MOVE_MREF(P1) m_p1; #define BOOST_MOVE_MREF3 BOOST_MOVE_MREF2 BOOST_MOVE_MREF(P2) m_p2; #define BOOST_MOVE_MREF4 BOOST_MOVE_MREF3 BOOST_MOVE_MREF(P3) m_p3; #define BOOST_MOVE_MREF5 BOOST_MOVE_MREF4 BOOST_MOVE_MREF(P4) m_p4; #define BOOST_MOVE_MREF6 BOOST_MOVE_MREF5 BOOST_MOVE_MREF(P5) m_p5; #define BOOST_MOVE_MREF7 BOOST_MOVE_MREF6 BOOST_MOVE_MREF(P6) m_p6; #define BOOST_MOVE_MREF8 BOOST_MOVE_MREF7 BOOST_MOVE_MREF(P7) m_p7; #define BOOST_MOVE_MREF9 BOOST_MOVE_MREF8 BOOST_MOVE_MREF(P8) m_p8; //BOOST_MOVE_MEMBX #define BOOST_MOVE_MEMB0 #define BOOST_MOVE_MEMB1 P0 m_p0; #define BOOST_MOVE_MEMB2 BOOST_MOVE_MEMB1 P1 m_p1; #define BOOST_MOVE_MEMB3 BOOST_MOVE_MEMB2 P2 m_p2; #define BOOST_MOVE_MEMB4 BOOST_MOVE_MEMB3 P3 m_p3; #define BOOST_MOVE_MEMB5 BOOST_MOVE_MEMB4 P4 m_p4; #define BOOST_MOVE_MEMB6 BOOST_MOVE_MEMB5 P5 m_p5; #define BOOST_MOVE_MEMB7 BOOST_MOVE_MEMB6 P6 m_p6; #define BOOST_MOVE_MEMB8 BOOST_MOVE_MEMB7 P7 m_p7; #define BOOST_MOVE_MEMB9 BOOST_MOVE_MEMB8 P8 m_p8; //BOOST_MOVE_TMPL_LTN #define BOOST_MOVE_TMPL_LT0 #define BOOST_MOVE_TMPL_LT1 template< #define BOOST_MOVE_TMPL_LT2 BOOST_MOVE_TMPL_LT1 #define BOOST_MOVE_TMPL_LT3 BOOST_MOVE_TMPL_LT1 #define BOOST_MOVE_TMPL_LT4 BOOST_MOVE_TMPL_LT1 #define BOOST_MOVE_TMPL_LT5 BOOST_MOVE_TMPL_LT1 #define BOOST_MOVE_TMPL_LT6 BOOST_MOVE_TMPL_LT1 #define BOOST_MOVE_TMPL_LT7 BOOST_MOVE_TMPL_LT1 #define BOOST_MOVE_TMPL_LT8 BOOST_MOVE_TMPL_LT1 #define BOOST_MOVE_TMPL_LT9 BOOST_MOVE_TMPL_LT1 //BOOST_MOVE_LTN #define BOOST_MOVE_LT0 #define BOOST_MOVE_LT1 < #define BOOST_MOVE_LT2 BOOST_MOVE_LT1 #define BOOST_MOVE_LT3 BOOST_MOVE_LT1 #define BOOST_MOVE_LT4 BOOST_MOVE_LT1 #define BOOST_MOVE_LT5 BOOST_MOVE_LT1 #define BOOST_MOVE_LT6 BOOST_MOVE_LT1 #define BOOST_MOVE_LT7 BOOST_MOVE_LT1 #define BOOST_MOVE_LT8 BOOST_MOVE_LT1 #define BOOST_MOVE_LT9 BOOST_MOVE_LT1 //BOOST_MOVE_GTN #define BOOST_MOVE_GT0 #define BOOST_MOVE_GT1 > #define BOOST_MOVE_GT2 BOOST_MOVE_GT1 #define BOOST_MOVE_GT3 BOOST_MOVE_GT1 #define BOOST_MOVE_GT4 BOOST_MOVE_GT1 #define BOOST_MOVE_GT5 BOOST_MOVE_GT1 #define BOOST_MOVE_GT6 BOOST_MOVE_GT1 #define BOOST_MOVE_GT7 BOOST_MOVE_GT1 #define BOOST_MOVE_GT8 BOOST_MOVE_GT1 #define BOOST_MOVE_GT9 BOOST_MOVE_GT1 //BOOST_MOVE_LPN #define BOOST_MOVE_LP0 #define BOOST_MOVE_LP1 ( #define BOOST_MOVE_LP2 BOOST_MOVE_LP1 #define BOOST_MOVE_LP3 BOOST_MOVE_LP1 #define BOOST_MOVE_LP4 BOOST_MOVE_LP1 #define BOOST_MOVE_LP5 BOOST_MOVE_LP1 #define BOOST_MOVE_LP6 BOOST_MOVE_LP1 #define BOOST_MOVE_LP7 BOOST_MOVE_LP1 #define BOOST_MOVE_LP8 BOOST_MOVE_LP1 #define BOOST_MOVE_LP9 BOOST_MOVE_LP1 //BOOST_MOVE_RPN #define BOOST_MOVE_RP0 #define BOOST_MOVE_RP1 ) #define BOOST_MOVE_RP2 BOOST_MOVE_RP1 #define BOOST_MOVE_RP3 BOOST_MOVE_RP1 #define BOOST_MOVE_RP4 BOOST_MOVE_RP1 #define BOOST_MOVE_RP5 BOOST_MOVE_RP1 #define BOOST_MOVE_RP6 BOOST_MOVE_RP1 #define BOOST_MOVE_RP7 BOOST_MOVE_RP1 #define BOOST_MOVE_RP8 BOOST_MOVE_RP1 #define BOOST_MOVE_RP9 BOOST_MOVE_RP1 //BOOST_MOVE_IN #define BOOST_MOVE_I0 #define BOOST_MOVE_I1 , #define BOOST_MOVE_I2 BOOST_MOVE_I1 #define BOOST_MOVE_I3 BOOST_MOVE_I1 #define BOOST_MOVE_I4 BOOST_MOVE_I1 #define BOOST_MOVE_I5 BOOST_MOVE_I1 #define BOOST_MOVE_I6 BOOST_MOVE_I1 #define BOOST_MOVE_I7 BOOST_MOVE_I1 #define BOOST_MOVE_I8 BOOST_MOVE_I1 #define BOOST_MOVE_I9 BOOST_MOVE_I1 //BOOST_MOVE_COLON #define BOOST_MOVE_COLON0 #define BOOST_MOVE_COLON1 : #define BOOST_MOVE_COLON2 BOOST_MOVE_COLON1 #define BOOST_MOVE_COLON3 BOOST_MOVE_COLON1 #define BOOST_MOVE_COLON4 BOOST_MOVE_COLON1 #define BOOST_MOVE_COLON5 BOOST_MOVE_COLON1 #define BOOST_MOVE_COLON6 BOOST_MOVE_COLON1 #define BOOST_MOVE_COLON7 BOOST_MOVE_COLON1 #define BOOST_MOVE_COLON8 BOOST_MOVE_COLON1 #define BOOST_MOVE_COLON9 BOOST_MOVE_COLON1 //BOOST_MOVE_ITERATE_2TON #define BOOST_MOVE_ITERATE_2TO2(MACROFUNC) MACROFUNC(2) #define BOOST_MOVE_ITERATE_2TO3(MACROFUNC) BOOST_MOVE_ITERATE_2TO2(MACROFUNC) MACROFUNC(3) #define BOOST_MOVE_ITERATE_2TO4(MACROFUNC) BOOST_MOVE_ITERATE_2TO3(MACROFUNC) MACROFUNC(4) #define BOOST_MOVE_ITERATE_2TO5(MACROFUNC) BOOST_MOVE_ITERATE_2TO4(MACROFUNC) MACROFUNC(5) #define BOOST_MOVE_ITERATE_2TO6(MACROFUNC) BOOST_MOVE_ITERATE_2TO5(MACROFUNC) MACROFUNC(6) #define BOOST_MOVE_ITERATE_2TO7(MACROFUNC) BOOST_MOVE_ITERATE_2TO6(MACROFUNC) MACROFUNC(7) #define BOOST_MOVE_ITERATE_2TO8(MACROFUNC) BOOST_MOVE_ITERATE_2TO7(MACROFUNC) MACROFUNC(8) #define BOOST_MOVE_ITERATE_2TO9(MACROFUNC) BOOST_MOVE_ITERATE_2TO8(MACROFUNC) MACROFUNC(9) //BOOST_MOVE_ITERATE_1TON #define BOOST_MOVE_ITERATE_1TO1(MACROFUNC) MACROFUNC(1) #define BOOST_MOVE_ITERATE_1TO2(MACROFUNC) BOOST_MOVE_ITERATE_1TO1(MACROFUNC) MACROFUNC(2) #define BOOST_MOVE_ITERATE_1TO3(MACROFUNC) BOOST_MOVE_ITERATE_1TO2(MACROFUNC) MACROFUNC(3) #define BOOST_MOVE_ITERATE_1TO4(MACROFUNC) BOOST_MOVE_ITERATE_1TO3(MACROFUNC) MACROFUNC(4) #define BOOST_MOVE_ITERATE_1TO5(MACROFUNC) BOOST_MOVE_ITERATE_1TO4(MACROFUNC) MACROFUNC(5) #define BOOST_MOVE_ITERATE_1TO6(MACROFUNC) BOOST_MOVE_ITERATE_1TO5(MACROFUNC) MACROFUNC(6) #define BOOST_MOVE_ITERATE_1TO7(MACROFUNC) BOOST_MOVE_ITERATE_1TO6(MACROFUNC) MACROFUNC(7) #define BOOST_MOVE_ITERATE_1TO8(MACROFUNC) BOOST_MOVE_ITERATE_1TO7(MACROFUNC) MACROFUNC(8) #define BOOST_MOVE_ITERATE_1TO9(MACROFUNC) BOOST_MOVE_ITERATE_1TO8(MACROFUNC) MACROFUNC(9) //BOOST_MOVE_ITERATE_0TON #define BOOST_MOVE_ITERATE_0TO0(MACROFUNC) MACROFUNC(0) #define BOOST_MOVE_ITERATE_0TO1(MACROFUNC) BOOST_MOVE_ITERATE_0TO0(MACROFUNC) MACROFUNC(1) #define BOOST_MOVE_ITERATE_0TO2(MACROFUNC) BOOST_MOVE_ITERATE_0TO1(MACROFUNC) MACROFUNC(2) #define BOOST_MOVE_ITERATE_0TO3(MACROFUNC) BOOST_MOVE_ITERATE_0TO2(MACROFUNC) MACROFUNC(3) #define BOOST_MOVE_ITERATE_0TO4(MACROFUNC) BOOST_MOVE_ITERATE_0TO3(MACROFUNC) MACROFUNC(4) #define BOOST_MOVE_ITERATE_0TO5(MACROFUNC) BOOST_MOVE_ITERATE_0TO4(MACROFUNC) MACROFUNC(5) #define BOOST_MOVE_ITERATE_0TO6(MACROFUNC) BOOST_MOVE_ITERATE_0TO5(MACROFUNC) MACROFUNC(6) #define BOOST_MOVE_ITERATE_0TO7(MACROFUNC) BOOST_MOVE_ITERATE_0TO6(MACROFUNC) MACROFUNC(7) #define BOOST_MOVE_ITERATE_0TO8(MACROFUNC) BOOST_MOVE_ITERATE_0TO7(MACROFUNC) MACROFUNC(8) #define BOOST_MOVE_ITERATE_0TO9(MACROFUNC) BOOST_MOVE_ITERATE_0TO8(MACROFUNC) MACROFUNC(9) //BOOST_MOVE_ITERATE_NTON #define BOOST_MOVE_ITERATE_0TO0(MACROFUNC) MACROFUNC(0) #define BOOST_MOVE_ITERATE_1TO1(MACROFUNC) MACROFUNC(1) #define BOOST_MOVE_ITERATE_2TO2(MACROFUNC) MACROFUNC(2) #define BOOST_MOVE_ITERATE_3TO3(MACROFUNC) MACROFUNC(3) #define BOOST_MOVE_ITERATE_4TO4(MACROFUNC) MACROFUNC(4) #define BOOST_MOVE_ITERATE_5TO5(MACROFUNC) MACROFUNC(5) #define BOOST_MOVE_ITERATE_6TO6(MACROFUNC) MACROFUNC(6) #define BOOST_MOVE_ITERATE_7TO7(MACROFUNC) MACROFUNC(7) #define BOOST_MOVE_ITERATE_8TO8(MACROFUNC) MACROFUNC(8) #define BOOST_MOVE_ITERATE_9TO9(MACROFUNC) MACROFUNC(9) //BOOST_MOVE_CAT #define BOOST_MOVE_CAT(a, b) BOOST_MOVE_CAT_I(a, b) #define BOOST_MOVE_CAT_I(a, b) a ## b //# define BOOST_MOVE_CAT_I(a, b) BOOST_MOVE_CAT_II(~, a ## b) //# define BOOST_MOVE_CAT_II(p, res) res #endif //#ifndef BOOST_MOVE_DETAIL_FWD_MACROS_HPP KWStyle-master/Utilities/boost/move/detail/iterator_traits.hpp000066400000000000000000000050631265471724600251740ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (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/move for documentation. // ////////////////////////////////////////////////////////////////////////////// //! \file #ifndef BOOST_MOVE_DETAIL_ITERATOR_TRAITS_HPP #define BOOST_MOVE_DETAIL_ITERATOR_TRAITS_HPP #ifndef BOOST_CONFIG_HPP # include #endif # #if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #if defined(__clang__) && defined(_LIBCPP_VERSION) #define BOOST_MOVE_CLANG_INLINE_STD_NS #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wc++11-extensions" #define BOOST_MOVE_STD_NS_BEG _LIBCPP_BEGIN_NAMESPACE_STD #define BOOST_MOVE_STD_NS_END _LIBCPP_END_NAMESPACE_STD #else #define BOOST_MOVE_STD_NS_BEG namespace std{ #define BOOST_MOVE_STD_NS_END } #endif BOOST_MOVE_STD_NS_BEG struct input_iterator_tag; struct forward_iterator_tag; struct bidirectional_iterator_tag; struct random_access_iterator_tag; struct output_iterator_tag; BOOST_MOVE_STD_NS_END #ifdef BOOST_MOVE_CLANG_INLINE_STD_NS #pragma GCC diagnostic pop #undef BOOST_MOVE_CLANG_INLINE_STD_NS #endif //BOOST_MOVE_CLANG_INLINE_STD_NS namespace boost{ namespace movelib{ template struct iterator_traits { typedef typename Iterator::difference_type difference_type; typedef typename Iterator::value_type value_type; typedef typename Iterator::pointer pointer; typedef typename Iterator::reference reference; typedef typename Iterator::iterator_category iterator_category; }; template struct iterator_traits { typedef std::ptrdiff_t difference_type; typedef T value_type; typedef T* pointer; typedef T& reference; typedef std::random_access_iterator_tag iterator_category; }; template struct iterator_traits { typedef std::ptrdiff_t difference_type; typedef T value_type; typedef const T* pointer; typedef const T& reference; typedef std::random_access_iterator_tag iterator_category; }; }} //namespace boost { namespace movelib{ #endif //#ifndef BOOST_MOVE_DETAIL_ITERATOR_TRAITS_HPP KWStyle-master/Utilities/boost/move/detail/meta_utils.hpp000066400000000000000000000234321265471724600241230ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (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 #ifndef BOOST_CONFIG_HPP # include #endif # #if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include //for std::size_t //Small meta-typetraits to support move namespace boost { //Forward declare boost::rv template class rv; namespace move_detail { ////////////////////////////////////// // nat ////////////////////////////////////// struct nat{}; ////////////////////////////////////// // 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 ////////////////////////////////////// // 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; }; ////////////////////////////////////// // 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_; inline addr_impl_ref( T & v ): v_( v ) {} inline operator T& () const { return v_; } private: addr_impl_ref & operator=(const addr_impl_ref &); }; template struct addressof_impl { static inline T * f( T & v, long ) { return reinterpret_cast( &const_cast(reinterpret_cast(v))); } static inline T * f( T * v, int ) { return v; } }; template inline 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 ////////////////////////////////////////////////////////////////////////////// // // 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 { #endif //#ifndef BOOST_MOVE_DETAIL_META_UTILS_HPP KWStyle-master/Utilities/boost/move/detail/meta_utils_core.hpp000066400000000000000000000052351265471724600251340ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (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 { ////////////////////////////////////// // 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_ template struct enable_if_c { typedef T type; }; ////////////////////////////////////// // enable_if_c ////////////////////////////////////// template struct enable_if_c {}; ////////////////////////////////////// // enable_if ////////////////////////////////////// template struct enable_if : 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; }; typedef integral_constant true_type; typedef integral_constant false_type; ////////////////////////////////////// // identity ////////////////////////////////////// template struct identity { typedef T type; }; ////////////////////////////////////// // is_same ////////////////////////////////////// template struct is_same { static const bool value = false; }; template struct is_same { static const bool value = true; }; } //namespace move_detail { } //namespace boost { #endif //#ifndef BOOST_MOVE_DETAIL_META_UTILS_CORE_HPP KWStyle-master/Utilities/boost/move/detail/move_helpers.hpp000066400000000000000000000152501265471724600244440ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (C) Copyright Ion Gaztanaga 2010-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_MOVE_MOVE_HELPERS_HPP #define BOOST_MOVE_MOVE_HELPERS_HPP #ifndef BOOST_CONFIG_HPP # include #endif # #if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #define BOOST_MOVE_CATCH_CONST(U) \ typename ::boost::move_detail::if_< ::boost::move_detail::is_class_or_union, BOOST_CATCH_CONST_RLVALUE(U), const U &>::type #define BOOST_MOVE_CATCH_RVALUE(U)\ typename ::boost::move_detail::if_< ::boost::move_detail::is_class_or_union, BOOST_RV_REF(U), ::boost::move_detail::nat>::type #define BOOST_MOVE_CATCH_FWD(U) BOOST_FWD_REF(U) #else #define BOOST_MOVE_CATCH_CONST(U) const U & #define BOOST_MOVE_CATCH_RVALUE(U) U && #define BOOST_MOVE_CATCH_FWD(U) U && #endif #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES #define BOOST_MOVE_CONVERSION_AWARE_CATCH(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION)\ RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_CONST(TYPE) x)\ { return FWD_FUNCTION(static_cast(x)); }\ \ RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_RVALUE(TYPE) x) \ { return FWD_FUNCTION(::boost::move(x)); }\ \ RETURN_VALUE PUB_FUNCTION(TYPE &x)\ { return FWD_FUNCTION(const_cast(x)); }\ \ template\ typename ::boost::move_detail::enable_if_c\ < ::boost::move_detail::is_class_or_union::value &&\ ::boost::move_detail::is_same::value &&\ !::boost::has_move_emulation_enabled::value\ , RETURN_VALUE >::type\ PUB_FUNCTION(const BOOST_MOVE_TEMPL_PARAM &u)\ { return FWD_FUNCTION(u); }\ \ template\ typename ::boost::move_detail::enable_if_c\ < (!::boost::move_detail::is_class_or_union::value || \ !::boost::move_detail::is_rv::value) && \ !::boost::move_detail::is_same::value \ , RETURN_VALUE >::type\ PUB_FUNCTION(const BOOST_MOVE_TEMPL_PARAM &u)\ {\ TYPE t(u);\ return FWD_FUNCTION(::boost::move(t));\ }\ // #elif (defined(_MSC_VER) && (_MSC_VER == 1600)) #define BOOST_MOVE_CONVERSION_AWARE_CATCH(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION)\ RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_CONST(TYPE) x)\ { return FWD_FUNCTION(static_cast(x)); }\ \ RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_RVALUE(TYPE) x) \ { return FWD_FUNCTION(::boost::move(x)); }\ \ template\ typename ::boost::move_detail::enable_if_c\ < !::boost::move_detail::is_same::value\ , RETURN_VALUE >::type\ PUB_FUNCTION(const BOOST_MOVE_TEMPL_PARAM &u)\ {\ TYPE t(u);\ return FWD_FUNCTION(::boost::move(t));\ }\ // #else #define BOOST_MOVE_CONVERSION_AWARE_CATCH(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION)\ RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_CONST(TYPE) x)\ { return FWD_FUNCTION(static_cast(x)); }\ \ RETURN_VALUE PUB_FUNCTION(BOOST_MOVE_CATCH_RVALUE(TYPE) x) \ { return FWD_FUNCTION(::boost::move(x)); }\ // #endif #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES #define BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION, ARG1, UNLESS_CONVERTIBLE_TO)\ RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_CONST(TYPE) x)\ { return FWD_FUNCTION(arg1, static_cast(x)); }\ \ RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_RVALUE(TYPE) x) \ { return FWD_FUNCTION(arg1, ::boost::move(x)); }\ \ RETURN_VALUE PUB_FUNCTION(ARG1 arg1, TYPE &x)\ { return FWD_FUNCTION(arg1, const_cast(x)); }\ \ template\ typename ::boost::move_detail::enable_if_c<\ ::boost::move_detail::is_same::value &&\ !::boost::has_move_emulation_enabled::value\ , RETURN_VALUE >::type\ PUB_FUNCTION(ARG1 arg1, const BOOST_MOVE_TEMPL_PARAM &u)\ { return FWD_FUNCTION(arg1, u); }\ \ template\ typename ::boost::move_detail::enable_if_c<\ !::boost::move_detail::is_rv::value && \ !::boost::move_detail::is_same::value && \ !::boost::move_detail::is_convertible::value \ , RETURN_VALUE >::type\ PUB_FUNCTION(ARG1 arg1, const BOOST_MOVE_TEMPL_PARAM &u)\ {\ TYPE t(u);\ return FWD_FUNCTION(arg1, ::boost::move(t));\ }\ // #elif (defined(_MSC_VER) && (_MSC_VER == 1600)) #define BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION, ARG1, UNLESS_CONVERTIBLE_TO)\ RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_CONST(TYPE) x)\ { return FWD_FUNCTION(arg1, static_cast(x)); }\ \ RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_RVALUE(TYPE) x) \ { return FWD_FUNCTION(arg1, ::boost::move(x)); }\ \ template\ typename ::boost::move_detail::enable_if_c\ < !::boost::move_detail::is_same::value && \ !::boost::move_detail::is_convertible::value \ , RETURN_VALUE >::type\ PUB_FUNCTION(ARG1 arg1, const BOOST_MOVE_TEMPL_PARAM &u)\ {\ TYPE t(u);\ return FWD_FUNCTION(arg1, ::boost::move(t));\ }\ // #else #define BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(PUB_FUNCTION, TYPE, RETURN_VALUE, FWD_FUNCTION, ARG1, UNLESS_CONVERTIBLE_TO)\ RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_CONST(TYPE) x)\ { return FWD_FUNCTION(arg1, static_cast(x)); }\ \ RETURN_VALUE PUB_FUNCTION(ARG1 arg1, BOOST_MOVE_CATCH_RVALUE(TYPE) x) \ { return FWD_FUNCTION(arg1, ::boost::move(x)); }\ // #endif #endif //#ifndef BOOST_MOVE_MOVE_HELPERS_HPP KWStyle-master/Utilities/boost/move/detail/type_traits.hpp000066400000000000000000001066321265471724600243300ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // (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 // 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 // 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. // // 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 #endif #if defined(BOOST_CLANG) && defined(__has_feature) # if __has_feature(is_union) # define BOOST_MOVE_IS_UNION(T) __is_union(T) # endif # if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && __has_feature(is_pod) # define BOOST_MOVE_IS_POD(T) __is_pod(T) # endif # if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && __has_feature(is_empty) # define BOOST_MOVE_IS_EMPTY(T) __is_empty(T) # endif # if __has_feature(has_trivial_constructor) # define BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T) # endif # if __has_feature(has_trivial_copy) # //There are problems with deleted copy constructors detected as trivially copyable. # //http://stackoverflow.com/questions/12754886/has-trivial-copy-behaves-differently-in-clang-and-gcc-whos-right # define BOOST_MOVE_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && ::boost::move_detail::is_copy_constructible::value) # endif # if __has_feature(has_trivial_assign) # define BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) ) # endif # if __has_feature(has_trivial_destructor) # define BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T) # endif # if __has_feature(has_nothrow_constructor) # define BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T) # endif # if __has_feature(has_nothrow_copy) # define BOOST_MOVE_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T)) # endif # if __has_feature(is_nothrow_copy_assignable) # define BOOST_MOVE_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T)) # endif # if __has_feature(is_enum) # define BOOST_MOVE_IS_ENUM(T) __is_enum(T) # endif # if __has_feature(has_trivial_move_constructor) # define BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) __has_trivial_move_constructor(T) # endif # if __has_feature(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(__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)) # 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) ) # 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(__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 #define BOOST_MOVE_IS_POD_IMPL(T) 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_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) #else #define BOOST_MOVE_IS_TRIVIALLY_DEFAULT_CONSTRUCTIBLE(T) ::boost::move_detail::is_pod::value #endif #ifdef BOOST_MOVE_HAS_TRIVIAL_COPY #define BOOST_MOVE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T) 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_MOVE_CONSTRUCTOR #define BOOST_MOVE_IS_TRIVIALLY_MOVE_CONSTRUCTIBLE(T) BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) #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_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) #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) #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) #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) #else #define BOOST_MOVE_IS_NOTHROW_COPY_CONSTRUCTIBLE(T) ::boost::move_detail::is_pod::value #endif #ifdef BOOST_MOVE_HAS_NOTHROW_MOVE #define BOOST_MOVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE(T) BOOST_MOVE_HAS_NOTHROW_MOVE(T) #else #define BOOST_MOVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE(T) ::boost::move_detail::is_pod::value #endif #ifdef BOOST_MOVE_HAS_NOTHROW_ASSIGN #define BOOST_MOVE_IS_NOTHROW_COPY_ASSIGNABLE(T) BOOST_MOVE_HAS_NOTHROW_ASSIGN(T) #else #define BOOST_MOVE_IS_NOTHROW_COPY_ASSIGNABLE(T) ::boost::move_detail::is_pod::value #endif #ifdef BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN #define BOOST_MOVE_IS_NOTHROW_MOVE_ASSIGNABLE(T) BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN(T) #else #define BOOST_MOVE_IS_NOTHROW_MOVE_ASSIGNABLE(T) ::boost::move_detail::is_pod::value #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; }; ////////////////////////// // add_reference ////////////////////////// template struct add_reference { typedef T& type; }; template struct add_reference { typedef T& type; }; template<> struct add_reference { typedef nat &type; }; template<> struct add_reference { typedef const nat &type; }; ////////////////////////// // add_const_reference ////////////////////////// template struct add_const_reference { typedef const T &type; }; template struct add_const_reference { typedef T& type; }; ////////////////////////// // 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; }; ////////////////////////// // 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); }; ////////////////////////////////////// // is_copy_constructible ////////////////////////////////////// template struct is_copy_constructible { typedef char yes_type; struct no_type { char dummy[2]; }; template static typename add_reference::type source(); // 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_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_INTEL_CXX_VERSION) &&\ !(defined(BOOST_MSVC) && _MSC_VER == 1800) 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 #else template static no_type test(U&, typename U::boost_move_no_copy_constructor_or_assign* = 0); static yes_type test(...); #endif static const bool value = sizeof(test(source())) == sizeof(yes_type); }; ////////////////////////////////////// // 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 : is_pod { 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(); }; 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(BOOST_NO_ALIGNMENT) template struct aligned_storage_impl; #define BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(A)\ template\ struct BOOST_ALIGNMENT(A) aligned_storage_impl\ {\ char dummy[Len];\ typedef aligned_storage_impl type;\ };\ // //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 #else //BOOST_NO_ALIGNMENT template union aligned_union { T aligner; char dummy[Len]; }; 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 KWStyle-master/Utilities/boost/move/detail/unique_ptr_meta_utils.hpp000066400000000000000000000320721265471724600263760ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (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 #ifndef BOOST_MOVE_UNIQUE_PTR_DETAIL_META_UTILS_HPP #define BOOST_MOVE_UNIQUE_PTR_DETAIL_META_UTILS_HPP #ifndef BOOST_CONFIG_HPP # include #endif # #if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include //for std::size_t //Small meta-typetraits to support move namespace boost { namespace movelib { template struct default_delete; } //namespace movelib { #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES //Forward declare boost::rv template class rv; #endif namespace move_upmu { ////////////////////////////////////// // nat ////////////////////////////////////// struct nat{}; ////////////////////////////////////// // natify ////////////////////////////////////// template struct natify{}; ////////////////////////////////////// // 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_ template struct enable_if_c { typedef T type; }; ////////////////////////////////////// // enable_if_c ////////////////////////////////////// template struct enable_if_c {}; ////////////////////////////////////// // enable_if ////////////////////////////////////// template struct enable_if : public enable_if_c {}; ////////////////////////////////////// // 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_const ////////////////////////////////////// template< class T > struct remove_const { typedef T type; }; template< class T > struct remove_const { typedef T type; }; ////////////////////////////////////// // remove_volatile ////////////////////////////////////// template< class T > struct remove_volatile { typedef T type; }; template< class T > struct remove_volatile { typedef T type; }; ////////////////////////////////////// // remove_cv ////////////////////////////////////// template< class T > struct remove_cv { typedef typename remove_volatile ::type>::type type; }; ////////////////////////////////////// // remove_extent ////////////////////////////////////// template struct remove_extent { typedef T type; }; template struct remove_extent { typedef T type; }; template struct remove_extent { typedef T type; }; ////////////////////////////////////// // extent ////////////////////////////////////// template struct extent { static const std::size_t value = 0; }; template struct extent { static const std::size_t value = 0; }; template struct extent { static const std::size_t value = extent::value; }; template struct extent { static const std::size_t value = N; }; template struct extent { static const std::size_t value = extent::value; }; ////////////////////////////////////// // 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 const t_unreferenced t_unreferenced_const; typedef typename add_lvalue_reference ::type type; }; ////////////////////////////////////// // is_same ////////////////////////////////////// template struct is_same { static const bool value = false; }; template struct is_same { static const bool value = true; }; ////////////////////////////////////// // is_pointer ////////////////////////////////////// template< class T > struct is_pointer { static const bool value = false; }; template< class T > struct is_pointer { static const bool value = true; }; ////////////////////////////////////// // is_reference ////////////////////////////////////// template< class T > struct is_reference { static const bool value = false; }; template< class T > struct is_reference { static const bool value = true; }; #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES template< class T > struct is_reference { static const bool value = true; }; #endif ////////////////////////////////////// // is_lvalue_reference ////////////////////////////////////// template struct is_lvalue_reference { static const bool value = false; }; template struct is_lvalue_reference { static const bool value = true; }; ////////////////////////////////////// // 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; }; ////////////////////////////////////// // 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; }; ////////////////////////////////////// // pointer_type ////////////////////////////////////// template ::value> struct pointer_type_imp { typedef typename D::pointer type; }; template struct pointer_type_imp { typedef typename remove_extent::type* type; }; template struct pointer_type { typedef typename pointer_type_imp ::type, typename remove_reference::type>::type type; }; ////////////////////////////////////// // 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 ////////////////////////////////////// // is_unary_function ////////////////////////////////////// #if defined(BOOST_MSVC) || defined(__BORLANDC_) #define BOOST_MOVE_TT_DECL __cdecl #else #define BOOST_MOVE_TT_DECL #endif #if defined(_MSC_EXTENSIONS) && !defined(__BORLAND__) && !defined(_WIN64) && !defined(_M_ARM) && !defined(UNDER_CE) #define BOOST_MOVE_TT_TEST_MSC_FUNC_SIGS #endif template struct is_unary_function_impl { static const bool value = false; }; // avoid duplicate definitions of is_unary_function_impl #ifndef BOOST_MOVE_TT_TEST_MSC_FUNC_SIGS template struct is_unary_function_impl { static const bool value = true; }; template struct is_unary_function_impl { static const bool value = true; }; #else // BOOST_MOVE_TT_TEST_MSC_FUNC_SIGS template struct is_unary_function_impl { static const bool value = true; }; #ifndef _MANAGED template struct is_unary_function_impl { static const bool value = true; }; #endif template struct is_unary_function_impl { static const bool value = true; }; template struct is_unary_function_impl { static const bool value = true; }; #endif // avoid duplicate definitions of is_unary_function_impl #ifndef BOOST_MOVE_TT_TEST_MSC_FUNC_SIGS template struct is_unary_function_impl { static const bool value = true; }; template struct is_unary_function_impl { static const bool value = true; }; #else // BOOST_MOVE_TT_TEST_MSC_FUNC_SIGS template struct is_unary_function_impl { static const bool value = true; }; #ifndef _MANAGED template struct is_unary_function_impl { static const bool value = true; }; #endif template struct is_unary_function_impl { static const bool value = true; }; template struct is_unary_function_impl { static const bool value = true; }; #endif template struct is_unary_function_impl { static const bool value = false; }; template struct is_unary_function { static const bool value = is_unary_function_impl::value; }; ////////////////////////////////////// // has_virtual_destructor ////////////////////////////////////// #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_MOVEUP_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) #elif defined(BOOST_CLANG) && defined(__has_feature) # if __has_feature(has_virtual_destructor) # define BOOST_MOVEUP_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) # endif #elif defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) && !defined(__GCCXML__))) && !defined(BOOST_CLANG) # define BOOST_MOVEUP_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) #elif defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600) # define BOOST_MOVEUP_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) #elif defined(__CODEGEARC__) # define BOOST_MOVEUP_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) #endif #ifdef BOOST_MOVEUP_HAS_VIRTUAL_DESTRUCTOR template struct has_virtual_destructor{ static const bool value = BOOST_MOVEUP_HAS_VIRTUAL_DESTRUCTOR(T); }; #else //If no intrinsic is available you trust the programmer knows what is doing template struct has_virtual_destructor{ static const bool value = true; }; #endif ////////////////////////////////////// // missing_virtual_destructor ////////////////////////////////////// template< class T, class U , bool enable = is_convertible< U*, T*>::value && !is_array::value && !is_same::type, void>::value && !is_same::type, typename remove_cv::type>::value > struct missing_virtual_destructor_default_delete { static const bool value = !has_virtual_destructor::value; }; template struct missing_virtual_destructor_default_delete { static const bool value = false; }; template struct missing_virtual_destructor { static const bool value = false; }; template struct missing_virtual_destructor< ::boost::movelib::default_delete, U > : missing_virtual_destructor_default_delete {}; } //namespace move_upmu { } //namespace boost { #endif //#ifndef BOOST_MOVE_UNIQUE_PTR_DETAIL_META_UTILS_HPP KWStyle-master/Utilities/boost/move/detail/workaround.hpp000066400000000000000000000030751265471724600241510ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (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 //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 #endif //#ifndef BOOST_MOVE_DETAIL_WORKAROUND_HPP KWStyle-master/Utilities/boost/move/iterator.hpp000066400000000000000000000232631265471724600223460ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (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 #ifndef BOOST_MOVE_ITERATOR_HPP #define BOOST_MOVE_ITERATOR_HPP #ifndef BOOST_CONFIG_HPP # include #endif # #if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include #include namespace boost { ////////////////////////////////////////////////////////////////////////////// // // move_iterator // ////////////////////////////////////////////////////////////////////////////// //! Class template move_iterator is an iterator adaptor with the same behavior //! as the underlying iterator except that its dereference operator implicitly //! converts the value returned by the underlying iterator's dereference operator //! to an rvalue reference. Some generic algorithms can be called with move //! iterators to replace copying with moving. template class move_iterator { public: typedef It iterator_type; typedef typename boost::movelib::iterator_traits::value_type value_type; #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_MOVE_DOXYGEN_INVOKED) typedef value_type && reference; #else typedef typename ::boost::move_detail::if_ < ::boost::has_move_emulation_enabled , ::boost::rv& , value_type & >::type reference; #endif typedef It pointer; typedef typename boost::movelib::iterator_traits::difference_type difference_type; typedef typename boost::movelib::iterator_traits::iterator_category iterator_category; move_iterator() {} explicit move_iterator(It i) : m_it(i) {} template move_iterator(const move_iterator& u) : m_it(u.base()) {} iterator_type base() const { return m_it; } reference operator*() const { #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES) return *m_it; #else return ::boost::move(*m_it); #endif } pointer operator->() const { return m_it; } move_iterator& operator++() { ++m_it; return *this; } move_iterator operator++(int) { move_iterator tmp(*this); ++(*this); return tmp; } move_iterator& operator--() { --m_it; return *this; } move_iterator operator--(int) { move_iterator tmp(*this); --(*this); return tmp; } move_iterator operator+ (difference_type n) const { return move_iterator(m_it + n); } move_iterator& operator+=(difference_type n) { m_it += n; return *this; } move_iterator operator- (difference_type n) const { return move_iterator(m_it - n); } move_iterator& operator-=(difference_type n) { m_it -= n; return *this; } reference operator[](difference_type n) const { #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES) return m_it[n]; #else return ::boost::move(m_it[n]); #endif } friend bool operator==(const move_iterator& x, const move_iterator& y) { return x.base() == y.base(); } friend bool operator!=(const move_iterator& x, const move_iterator& y) { return x.base() != y.base(); } friend bool operator< (const move_iterator& x, const move_iterator& y) { return x.base() < y.base(); } friend bool operator<=(const move_iterator& x, const move_iterator& y) { return x.base() <= y.base(); } friend bool operator> (const move_iterator& x, const move_iterator& y) { return x.base() > y.base(); } friend bool operator>=(const move_iterator& x, const move_iterator& y) { return x.base() >= y.base(); } friend difference_type operator-(const move_iterator& x, const move_iterator& y) { return x.base() - y.base(); } friend move_iterator operator+(difference_type n, const move_iterator& x) { return move_iterator(x.base() + n); } private: It m_it; }; //is_move_iterator namespace move_detail { template struct is_move_iterator { static const bool value = false; }; template struct is_move_iterator< ::boost::move_iterator > { static const bool value = true; }; } //namespace move_detail { ////////////////////////////////////////////////////////////////////////////// // // move_iterator // ////////////////////////////////////////////////////////////////////////////// //! //! Returns: move_iterator(i). template inline move_iterator make_move_iterator(const It &it) { return move_iterator(it); } ////////////////////////////////////////////////////////////////////////////// // // back_move_insert_iterator // ////////////////////////////////////////////////////////////////////////////// //! A move insert iterator that move constructs elements at the //! back of a container template // C models Container class back_move_insert_iterator { C* container_m; public: typedef C container_type; typedef typename C::value_type value_type; typedef typename C::reference reference; typedef typename C::pointer pointer; typedef typename C::difference_type difference_type; typedef std::output_iterator_tag iterator_category; explicit back_move_insert_iterator(C& x) : container_m(&x) { } back_move_insert_iterator& operator=(reference x) { container_m->push_back(boost::move(x)); return *this; } back_move_insert_iterator& operator=(BOOST_RV_REF(value_type) x) { reference rx = x; return this->operator=(rx); } back_move_insert_iterator& operator*() { return *this; } back_move_insert_iterator& operator++() { return *this; } back_move_insert_iterator& operator++(int) { return *this; } }; //! //! Returns: back_move_insert_iterator(x). template // C models Container inline back_move_insert_iterator back_move_inserter(C& x) { return back_move_insert_iterator(x); } ////////////////////////////////////////////////////////////////////////////// // // front_move_insert_iterator // ////////////////////////////////////////////////////////////////////////////// //! A move insert iterator that move constructs elements int the //! front of a container template // C models Container class front_move_insert_iterator { C* container_m; public: typedef C container_type; typedef typename C::value_type value_type; typedef typename C::reference reference; typedef typename C::pointer pointer; typedef typename C::difference_type difference_type; typedef std::output_iterator_tag iterator_category; explicit front_move_insert_iterator(C& x) : container_m(&x) { } front_move_insert_iterator& operator=(reference x) { container_m->push_front(boost::move(x)); return *this; } front_move_insert_iterator& operator=(BOOST_RV_REF(value_type) x) { reference rx = x; return this->operator=(rx); } front_move_insert_iterator& operator*() { return *this; } front_move_insert_iterator& operator++() { return *this; } front_move_insert_iterator& operator++(int) { return *this; } }; //! //! Returns: front_move_insert_iterator(x). template // C models Container inline front_move_insert_iterator front_move_inserter(C& x) { return front_move_insert_iterator(x); } ////////////////////////////////////////////////////////////////////////////// // // insert_move_iterator // ////////////////////////////////////////////////////////////////////////////// template // C models Container class move_insert_iterator { C* container_m; typename C::iterator pos_; public: typedef C container_type; typedef typename C::value_type value_type; typedef typename C::reference reference; typedef typename C::pointer pointer; typedef typename C::difference_type difference_type; typedef std::output_iterator_tag iterator_category; explicit move_insert_iterator(C& x, typename C::iterator pos) : container_m(&x), pos_(pos) {} move_insert_iterator& operator=(reference x) { pos_ = container_m->insert(pos_, ::boost::move(x)); ++pos_; return *this; } move_insert_iterator& operator=(BOOST_RV_REF(value_type) x) { reference rx = x; return this->operator=(rx); } move_insert_iterator& operator*() { return *this; } move_insert_iterator& operator++() { return *this; } move_insert_iterator& operator++(int) { return *this; } }; //! //! Returns: move_insert_iterator(x, it). template // C models Container inline move_insert_iterator move_inserter(C& x, typename C::iterator it) { return move_insert_iterator(x, it); } } //namespace boost { #include #endif //#ifndef BOOST_MOVE_ITERATOR_HPP KWStyle-master/Utilities/boost/move/make_unique.hpp000066400000000000000000000204531265471724600230160ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (C) Copyright Ion Gaztanaga 2006-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/move for documentation. // ////////////////////////////////////////////////////////////////////////////// #ifndef BOOST_MOVE_MAKE_UNIQUE_HPP_INCLUDED #define BOOST_MOVE_MAKE_UNIQUE_HPP_INCLUDED #ifndef BOOST_CONFIG_HPP # include #endif # #if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include #include #include #include //for std::size_t #include #ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES # include #endif //!\file //! Defines "make_unique" functions, which are factories to create instances //! of unique_ptr depending on the passed arguments. //! //! This header can be a bit heavyweight in C++03 compilers due to the use of the //! preprocessor library, that's why it's a a separate header from unique_ptr.hpp #if !defined(BOOST_MOVE_DOXYGEN_INVOKED) namespace std { //no namespace versioning in clang+libc++ struct nothrow_t; } //namespace std { namespace boost{ namespace move_upmu { //Compile time switch between //single element, unknown bound array //and known bound array template struct unique_ptr_if { typedef ::boost::movelib::unique_ptr t_is_not_array; }; template struct unique_ptr_if { typedef ::boost::movelib::unique_ptr t_is_array_of_unknown_bound; }; template struct unique_ptr_if { typedef void t_is_array_of_known_bound; }; template struct nothrow_holder { static std::nothrow_t *pnothrow; }; template std::nothrow_t *nothrow_holder::pnothrow; } //namespace move_upmu { } //namespace boost{ #endif //!defined(BOOST_MOVE_DOXYGEN_INVOKED) namespace boost{ namespace movelib { #if defined(BOOST_MOVE_DOXYGEN_INVOKED) || !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) //! Remarks: This function shall not participate in overload resolution unless T is not an array. //! //! Returns: unique_ptr(new T(std::forward(args)...)). template inline BOOST_MOVE_DOC1ST(unique_ptr, typename ::boost::move_upmu::unique_ptr_if::t_is_not_array) make_unique(BOOST_FWD_REF(Args)... args) { return unique_ptr(new T(::boost::forward(args)...)); } //! Remarks: This function shall not participate in overload resolution unless T is not an array. //! //! Returns: unique_ptr(new T(std::nothrow)(std::forward(args)...)). template inline BOOST_MOVE_DOC1ST(unique_ptr, typename ::boost::move_upmu::unique_ptr_if::t_is_not_array) make_unique_nothrow(BOOST_FWD_REF(Args)... args) { return unique_ptr(new (*boost::move_upmu::nothrow_holder<>::pnothrow)T(::boost::forward(args)...)); } #else #define BOOST_MOVE_MAKE_UNIQUE_CODE(N)\ template\ typename ::boost::move_upmu::unique_ptr_if::t_is_not_array\ make_unique( BOOST_MOVE_UREF##N)\ { return unique_ptr( new T( BOOST_MOVE_FWD##N ) ); }\ \ template\ typename ::boost::move_upmu::unique_ptr_if::t_is_not_array\ make_unique_nothrow( BOOST_MOVE_UREF##N)\ { return unique_ptr( new (*boost::move_upmu::nothrow_holder<>::pnothrow)T ( BOOST_MOVE_FWD##N ) ); }\ // BOOST_MOVE_ITERATE_0TO9(BOOST_MOVE_MAKE_UNIQUE_CODE) #undef BOOST_MOVE_MAKE_UNIQUE_CODE #endif //! Remarks: This function shall not participate in overload resolution unless T is not an array. //! //! Returns: unique_ptr(new T) (default initialization) template inline BOOST_MOVE_DOC1ST(unique_ptr, typename ::boost::move_upmu::unique_ptr_if::t_is_not_array) make_unique_definit() { return unique_ptr(new T); } //! Remarks: This function shall not participate in overload resolution unless T is not an array. //! //! Returns: unique_ptr(new T(std::nothrow) (default initialization) template inline BOOST_MOVE_DOC1ST(unique_ptr, typename ::boost::move_upmu::unique_ptr_if::t_is_not_array) make_unique_nothrow_definit() { return unique_ptr(new (*boost::move_upmu::nothrow_holder<>::pnothrow)T); } //! Remarks: This function shall not participate in overload resolution unless T is an array of //! unknown bound. //! //! Returns: unique_ptr(new remove_extent_t[n]()) (value initialization) template inline BOOST_MOVE_DOC1ST(unique_ptr, typename ::boost::move_upmu::unique_ptr_if::t_is_array_of_unknown_bound) make_unique(std::size_t n) { typedef typename ::boost::move_upmu::remove_extent::type U; return unique_ptr(new U[n]()); } //! Remarks: This function shall not participate in overload resolution unless T is an array of //! unknown bound. //! //! Returns: unique_ptr(new (std::nothrow)remove_extent_t[n]()) (value initialization) template inline BOOST_MOVE_DOC1ST(unique_ptr, typename ::boost::move_upmu::unique_ptr_if::t_is_array_of_unknown_bound) make_unique_nothrow(std::size_t n) { typedef typename ::boost::move_upmu::remove_extent::type U; return unique_ptr(new (*boost::move_upmu::nothrow_holder<>::pnothrow)U[n]()); } //! Remarks: This function shall not participate in overload resolution unless T is an array of //! unknown bound. //! //! Returns: unique_ptr(new remove_extent_t[n]) (default initialization) template inline BOOST_MOVE_DOC1ST(unique_ptr, typename ::boost::move_upmu::unique_ptr_if::t_is_array_of_unknown_bound) make_unique_definit(std::size_t n) { typedef typename ::boost::move_upmu::remove_extent::type U; return unique_ptr(new U[n]); } //! Remarks: This function shall not participate in overload resolution unless T is an array of //! unknown bound. //! //! Returns: unique_ptr(new (std::nothrow)remove_extent_t[n]) (default initialization) template inline BOOST_MOVE_DOC1ST(unique_ptr, typename ::boost::move_upmu::unique_ptr_if::t_is_array_of_unknown_bound) make_unique_nothrow_definit(std::size_t n) { typedef typename ::boost::move_upmu::remove_extent::type U; return unique_ptr(new (*boost::move_upmu::nothrow_holder<>::pnothrow) U[n]); } #if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) //! Remarks: This function shall not participate in overload resolution unless T is //! an array of known bound. template inline BOOST_MOVE_DOC1ST(unspecified, typename ::boost::move_upmu::unique_ptr_if::t_is_array_of_known_bound) make_unique(BOOST_FWD_REF(Args) ...) = delete; //! Remarks: This function shall not participate in overload resolution unless T is //! an array of known bound. template inline BOOST_MOVE_DOC1ST(unspecified, typename ::boost::move_upmu::unique_ptr_if::t_is_array_of_known_bound) make_unique_definit(BOOST_FWD_REF(Args) ...) = delete; //! Remarks: This function shall not participate in overload resolution unless T is //! an array of known bound. template inline BOOST_MOVE_DOC1ST(unspecified, typename ::boost::move_upmu::unique_ptr_if::t_is_array_of_known_bound) make_unique_nothrow(BOOST_FWD_REF(Args) ...) = delete; //! Remarks: This function shall not participate in overload resolution unless T is //! an array of known bound. template inline BOOST_MOVE_DOC1ST(unspecified, typename ::boost::move_upmu::unique_ptr_if::t_is_array_of_known_bound) make_unique_nothrow_definit(BOOST_FWD_REF(Args) ...) = delete; #endif } //namespace movelib { } //namespace boost{ #include #endif //#ifndef BOOST_MOVE_MAKE_UNIQUE_HPP_INCLUDED KWStyle-master/Utilities/boost/move/move.hpp000066400000000000000000000017621265471724600214630ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (C) Copyright David Abrahams, Vicente Botet 2009. // (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 //! A general library header that includes //! the rest of top-level headers. #ifndef BOOST_MOVE_MOVE_HPP #define BOOST_MOVE_MOVE_HPP #ifndef BOOST_CONFIG_HPP # include #endif # #if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include #include #include #include #include #endif //#ifndef BOOST_MOVE_MOVE_HPP KWStyle-master/Utilities/boost/move/traits.hpp000066400000000000000000000047721265471724600220270ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (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 KWStyle-master/Utilities/boost/move/unique_ptr.hpp000066400000000000000000001122711265471724600227060ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (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/move for documentation. // ////////////////////////////////////////////////////////////////////////////// #ifndef BOOST_MOVE_UNIQUE_PTR_HPP_INCLUDED #define BOOST_MOVE_UNIQUE_PTR_HPP_INCLUDED #ifndef BOOST_CONFIG_HPP # include #endif # #if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include #include #include #include #include #include #include #include //For std::nullptr_t and std::size_t //!\file //! Describes the smart pointer unique_ptr, a drop-in replacement for std::unique_ptr, //! usable also from C++03 compilers. //! //! Main differences from std::unique_ptr to avoid heavy dependencies, //! specially in C++03 compilers: //! - operator < uses pointer operator < instead of std::less. //! This avoids dependencies on std::common_type and std::less //! (/ headers. In C++03 this avoid pulling Boost.Typeof and other //! cascading dependencies. As in all Boost platforms operator < on raw pointers and //! other smart pointers provides strict weak ordering in practice this should not be a problem for users. //! - assignable from literal 0 for compilers without nullptr //! - unique_ptr is constructible and assignable from unique_ptr if //! cv-less T and cv-less U are the same type and T is more CV qualified than U. namespace boost{ namespace move_upd { //////////////////////////////////////////// // deleter types //////////////////////////////////////////// #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template class is_noncopyable { typedef char true_t; class false_t { char dummy[2]; }; template static false_t dispatch(...); template static true_t dispatch(typename U::boost_move_no_copy_constructor_or_assign*); public: static const bool value = sizeof(dispatch(0)) == sizeof(true_t); }; #endif //defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template struct deleter_types { typedef typename bmupmu::add_lvalue_reference::type del_ref; typedef typename bmupmu::add_const_lvalue_reference::type del_cref; #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES typedef typename bmupmu::if_c < bmupmu::is_lvalue_reference::value, D, del_cref >::type deleter_arg_type1; typedef typename bmupmu::remove_reference::type && deleter_arg_type2; #else typedef typename bmupmu::if_c < is_noncopyable::value, bmupmu::nat, del_cref>::type non_ref_deleter_arg1; typedef typename bmupmu::if_c< bmupmu::is_lvalue_reference::value , D, non_ref_deleter_arg1 >::type deleter_arg_type1; typedef ::boost::rv & deleter_arg_type2; #endif }; //////////////////////////////////////////// // unique_ptr_data //////////////////////////////////////////// template ::value || bmupmu::is_reference::value > struct unique_ptr_data { typedef typename deleter_types::deleter_arg_type1 deleter_arg_type1; typedef typename deleter_types::del_ref del_ref; typedef typename deleter_types::del_cref del_cref; unique_ptr_data() BOOST_NOEXCEPT : m_p(), d() {} explicit unique_ptr_data(P p) BOOST_NOEXCEPT : m_p(p), d() {} unique_ptr_data(P p, deleter_arg_type1 d1) BOOST_NOEXCEPT : m_p(p), d(d1) {} template unique_ptr_data(P p, BOOST_FWD_REF(U) d) BOOST_NOEXCEPT : m_p(p), d(::boost::forward(d)) {} del_ref deleter() { return d; } del_cref deleter() const{ return d; } P m_p; D d; private: unique_ptr_data& operator=(const unique_ptr_data&); unique_ptr_data(const unique_ptr_data&); }; template struct unique_ptr_data : private D { typedef typename deleter_types::deleter_arg_type1 deleter_arg_type1; typedef typename deleter_types::del_ref del_ref; typedef typename deleter_types::del_cref del_cref; unique_ptr_data() BOOST_NOEXCEPT : D(), m_p() {} explicit unique_ptr_data(P p) BOOST_NOEXCEPT : D(), m_p(p) {} unique_ptr_data(P p, deleter_arg_type1 d1) BOOST_NOEXCEPT : D(d1), m_p(p) {} template unique_ptr_data(P p, BOOST_FWD_REF(U) d) BOOST_NOEXCEPT : D(::boost::forward(d)), m_p(p) {} del_ref deleter() BOOST_NOEXCEPT { return static_cast(*this); } del_cref deleter() const BOOST_NOEXCEPT { return static_cast(*this); } P m_p; private: unique_ptr_data& operator=(const unique_ptr_data&); unique_ptr_data(const unique_ptr_data&); }; //////////////////////////////////////////// // is_unique_ptr_convertible //////////////////////////////////////////// //Although non-standard, we avoid using pointer_traits //to avoid heavy dependencies template struct get_element_type { struct DefaultWrap { typedef bmupmu::natify element_type; }; template static char test(int, typename X::element_type*); template static int test(...); static const bool value = (1 == sizeof(test(0, 0))); typedef typename bmupmu::if_c::type::element_type type; }; template struct get_element_type { typedef T type; }; template struct get_cvelement : bmupmu::remove_cv::type> {}; template struct is_same_cvelement_and_convertible { typedef typename bmupmu::remove_reference::type arg1; typedef typename bmupmu::remove_reference::type arg2; static const bool same_cvless = bmupmu::is_same::type,typename get_cvelement::type>::value; static const bool value = same_cvless && bmupmu::is_convertible::value; }; template struct is_unique_ptr_convertible : is_same_cvelement_and_convertible {}; template struct is_unique_ptr_convertible : bmupmu::is_convertible {}; //////////////////////////////////////// //// enable_up_moveconv_assign //////////////////////////////////////// template struct enable_up_ptr : bmupmu::enable_if_c< is_unique_ptr_convertible < bmupmu::is_array::value, FromPointer, ThisPointer>::value, Type> {}; //////////////////////////////////////// //// enable_up_moveconv_assign //////////////////////////////////////// template struct unique_moveconvert_assignable { static const bool value = (bmupmu::extent::value == bmupmu::extent::value) && is_unique_ptr_convertible < bmupmu::is_array::value , typename bmupmu::pointer_type::type, typename bmupmu::pointer_type::type>::value; }; template struct unique_moveconvert_assignable : unique_moveconvert_assignable {}; template struct enable_up_moveconv_assign : bmupmu::enable_if_c::value, Type> {}; //////////////////////////////////////// //// enable_up_moveconv_constr //////////////////////////////////////// template::value> struct unique_deleter_is_initializable : bmupmu::is_same {}; template class is_rvalue_convertible { #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES typedef typename bmupmu::remove_reference::type&& t_from; #else typedef typename bmupmu::if_c < ::boost::has_move_emulation_enabled::value && !bmupmu::is_reference::value , ::boost::rv& , typename bmupmu::add_lvalue_reference::type >::type t_from; #endif typedef char true_t; class false_t { char dummy[2]; }; static false_t dispatch(...); static true_t dispatch(U); static t_from trigger(); public: static const bool value = sizeof(dispatch(trigger())) == sizeof(true_t); }; template struct unique_deleter_is_initializable { #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) //Clang has some problems with is_rvalue_convertible with non-copyable types //so use intrinsic if available #if defined(BOOST_CLANG) #if __has_feature(is_convertible_to) static const bool value = __is_convertible_to(E, D); #else static const bool value = is_rvalue_convertible::value; #endif #else static const bool value = is_rvalue_convertible::value; #endif #else //!defined(BOOST_NO_CXX11_RVALUE_REFERENCES) //No hope for compilers with move emulation for now. In several compilers is_convertible // leads to errors, so just move the Deleter and see if the conversion works static const bool value = true; /*is_rvalue_convertible::value*/ #endif }; template struct enable_up_moveconv_constr : bmupmu::enable_if_c::value && unique_deleter_is_initializable::value, Type> {}; } //namespace move_upd { namespace movelib { //! A unique pointer is an object that owns another object and //! manages that other object through a pointer. //! //! More precisely, a unique pointer is an object u that stores a pointer to a second object p and will dispose //! of p when u is itself destroyed (e.g., when leaving block scope). In this context, u is said to own p. //! //! The mechanism by which u disposes of p is known as p's associated deleter, a function object whose correct //! invocation results in p's appropriate disposition (typically its deletion). //! //! Let the notation u.p denote the pointer stored by u, and let u.d denote the associated deleter. Upon request, //! u can reset (replace) u.p and u.d with another pointer and deleter, but must properly dispose of its owned //! object via the associated deleter before such replacement is considered completed. //! //! Additionally, u can, upon request, transfer ownership to another unique pointer u2. Upon completion of //! such a transfer, the following postconditions hold: //! - u2.p is equal to the pre-transfer u.p, //! - u.p is equal to nullptr, and //! - if the pre-transfer u.d maintained state, such state has been transferred to u2.d. //! //! As in the case of a reset, u2 must properly dispose of its pre-transfer owned object via the pre-transfer //! associated deleter before the ownership transfer is considered complete. //! //! Each object of a type U instantiated from the unique_ptr template specified in this subclause has the strict //! ownership semantics, specified above, of a unique pointer. In partial satisfaction of these semantics, each //! such U is MoveConstructible and MoveAssignable, but is not CopyConstructible nor CopyAssignable. //! The template parameter T of unique_ptr may be an incomplete type. //! //! The uses of unique_ptr include providing exception safety for dynamically allocated memory, passing //! ownership of dynamically allocated memory to a function, and returning dynamically allocated memory from //! a function. //! //! If T is an array type (e.g. unique_ptr) the interface is slightly altered: //! - Pointers to types derived from T are rejected by the constructors, and by reset. //! - The observers operator* and operator-> are not provided. //! - The indexing observer operator[] is provided. //! //! \tparam T Provides the type of the stored pointer. //! \tparam D The deleter type: //! - The default type for the template parameter D is default_delete. A client-supplied template argument //! D shall be a function object type, lvalue-reference to function, or lvalue-reference to function object type //! for which, given a value d of type D and a value ptr of type unique_ptr::pointer, the expression //! d(ptr) is valid and has the effect of disposing of the pointer as appropriate for that deleter. //! - If the deleter's type D is not a reference type, D shall satisfy the requirements of Destructible. //! - If the type remove_reference::type::pointer exists, it shall satisfy the requirements of NullablePointer. template > class unique_ptr { #if defined(BOOST_MOVE_DOXYGEN_INVOKED) public: unique_ptr(const unique_ptr&) = delete; unique_ptr& operator=(const unique_ptr&) = delete; private: #else BOOST_MOVABLE_BUT_NOT_COPYABLE(unique_ptr) typedef bmupmu::pointer_type pointer_type_obtainer; typedef bmupd::unique_ptr_data data_type; typedef typename bmupd::deleter_types::deleter_arg_type1 deleter_arg_type1; typedef typename bmupd::deleter_types::deleter_arg_type2 deleter_arg_type2; data_type m_data; #endif public: //! If the type remove_reference::type::pointer exists, then it shall be a //! synonym for remove_reference::type::pointer. Otherwise it shall be a //! synonym for T*. typedef typename BOOST_MOVE_SEEDOC(pointer_type_obtainer::type) pointer; //! If T is an array type, then element_type is equal to T. Otherwise, if T is a type //! in the form U[], element_type is equal to U. typedef typename BOOST_MOVE_SEEDOC(bmupmu::remove_extent::type) element_type; typedef D deleter_type; //! Requires: D shall satisfy the requirements of DefaultConstructible, and //! that construction shall not throw an exception. //! //! Effects: Constructs a unique_ptr object that owns nothing, value-initializing the //! stored pointer and the stored deleter. //! //! Postconditions: get() == nullptr. get_deleter() returns a reference to the stored deleter. //! //! Remarks: If this constructor is instantiated with a pointer type or reference type //! for the template argument D, the program is ill-formed. BOOST_CONSTEXPR unique_ptr() BOOST_NOEXCEPT : m_data() { //If this constructor is instantiated with a pointer type or reference type //for the template argument D, the program is ill-formed. BOOST_STATIC_ASSERT(!bmupmu::is_pointer::value); BOOST_STATIC_ASSERT(!bmupmu::is_reference::value); } //! Effects: Same as unique_ptr() (default constructor). //! BOOST_CONSTEXPR unique_ptr(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) BOOST_NOEXCEPT : m_data() { //If this constructor is instantiated with a pointer type or reference type //for the template argument D, the program is ill-formed. BOOST_STATIC_ASSERT(!bmupmu::is_pointer::value); BOOST_STATIC_ASSERT(!bmupmu::is_reference::value); } //! Requires: D shall satisfy the requirements of DefaultConstructible, and //! that construction shall not throw an exception. //! //! Effects: Constructs a unique_ptr which owns p, initializing the stored pointer //! with p and value initializing the stored deleter. //! //! Postconditions: get() == p. get_deleter() returns a reference to the stored deleter. //! //! Remarks: If this constructor is instantiated with a pointer type or reference type //! for the template argument D, the program is ill-formed. //! This constructor shall not participate in overload resolution unless: //! - If T is not an array type and Pointer is implicitly convertible to pointer. //! - If T is an array type and Pointer is a more CV qualified pointer to element_type. template explicit unique_ptr(Pointer p BOOST_MOVE_DOCIGN(BOOST_MOVE_I typename bmupd::enable_up_ptr::type* =0) ) BOOST_NOEXCEPT : m_data(p) { //If T is not an array type, element_type_t derives from T //it uses the default deleter and T has no virtual destructor, then you have a problem BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor ::type>::value )); //If this constructor is instantiated with a pointer type or reference type //for the template argument D, the program is ill-formed. BOOST_STATIC_ASSERT(!bmupmu::is_pointer::value); BOOST_STATIC_ASSERT(!bmupmu::is_reference::value); } //!The signature of this constructor depends upon whether D is a reference type. //! - If D is non-reference type A, then the signature is unique_ptr(pointer p, const A& d). //! - If D is an lvalue-reference type A&, then the signature is unique_ptr(pointer p, A& d). //! - If D is an lvalue-reference type const A&, then the signature is unique_ptr(pointer p, const A& d). //! //! //! Requires: Either //! - D is not an lvalue-reference type and d is an lvalue or const rvalue. //! D shall satisfy the requirements of CopyConstructible, and the copy constructor of D //! shall not throw an exception. This unique_ptr will hold a copy of d. //! - D is an lvalue-reference type and d is an lvalue. the type which D references need not be CopyConstructible nor //! MoveConstructible. This unique_ptr will hold a D which refers to the lvalue d. //! //! Effects: Constructs a unique_ptr object which owns p, initializing the stored pointer with p and //! initializing the deleter as described above. //! //! Postconditions: get() == p. get_deleter() returns a reference to the stored deleter. If D is a //! reference type then get_deleter() returns a reference to the lvalue d. //! //! Remarks: This constructor shall not participate in overload resolution unless: //! - If T is not an array type and Pointer is implicitly convertible to pointer. //! - If T is an array type and Pointer is a more CV qualified pointer to element_type. template unique_ptr(Pointer p, BOOST_MOVE_SEEDOC(deleter_arg_type1) d1 BOOST_MOVE_DOCIGN(BOOST_MOVE_I typename bmupd::enable_up_ptr::type* =0) ) BOOST_NOEXCEPT : m_data(p, d1) { //If T is not an array type, element_type_t derives from T //it uses the default deleter and T has no virtual destructor, then you have a problem BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor ::type>::value )); } //! Effects: Same effects as template unique_ptr(Pointer p, deleter_arg_type1 d1) //! and additionally get() == nullptr unique_ptr(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), BOOST_MOVE_SEEDOC(deleter_arg_type1) d1) BOOST_NOEXCEPT : m_data(pointer(), d1) {} //! The signature of this constructor depends upon whether D is a reference type. //! - If D is non-reference type A, then the signature is unique_ptr(pointer p, A&& d). //! - If D is an lvalue-reference type A&, then the signature is unique_ptr(pointer p, A&& d). //! - If D is an lvalue-reference type const A&, then the signature is unique_ptr(pointer p, const A&& d). //! //! Requires: Either //! - D is not an lvalue-reference type and d is a non-const rvalue. D //! shall satisfy the requirements of MoveConstructible, and the move constructor //! of D shall not throw an exception. This unique_ptr will hold a value move constructed from d. //! - D is an lvalue-reference type and d is an rvalue, the program is ill-formed. //! //! Effects: Constructs a unique_ptr object which owns p, initializing the stored pointer with p and //! initializing the deleter as described above. //! //! Postconditions: get() == p. get_deleter() returns a reference to the stored deleter. If D is a //! reference type then get_deleter() returns a reference to the lvalue d. //! //! Remarks: This constructor shall not participate in overload resolution unless: //! - If T is not an array type and Pointer is implicitly convertible to pointer. //! - If T is an array type and Pointer is a more CV qualified pointer to element_type. template unique_ptr(Pointer p, BOOST_MOVE_SEEDOC(deleter_arg_type2) d2 BOOST_MOVE_DOCIGN(BOOST_MOVE_I typename bmupd::enable_up_ptr::type* =0) ) BOOST_NOEXCEPT : m_data(p, ::boost::move(d2)) { //If T is not an array type, element_type_t derives from T //it uses the default deleter and T has no virtual destructor, then you have a problem BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor ::type>::value )); } //! Effects: Same effects as template unique_ptr(Pointer p, deleter_arg_type2 d2) //! and additionally get() == nullptr unique_ptr(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), BOOST_MOVE_SEEDOC(deleter_arg_type2) d2) BOOST_NOEXCEPT : m_data(pointer(), ::boost::move(d2)) {} //! Requires: If D is not a reference type, D shall satisfy the requirements of MoveConstructible. //! Construction of the deleter from an rvalue of type D shall not throw an exception. //! //! Effects: Constructs a unique_ptr by transferring ownership from u to *this. If D is a reference type, //! this deleter is copy constructed from u's deleter; otherwise, this deleter is move constructed from u's //! deleter. //! //! Postconditions: get() yields the value u.get() yielded before the construction. get_deleter() //! returns a reference to the stored deleter that was constructed from u.get_deleter(). If D is a //! reference type then get_deleter() and u.get_deleter() both reference the same lvalue deleter. unique_ptr(BOOST_RV_REF(unique_ptr) u) BOOST_NOEXCEPT : m_data(u.release(), ::boost::move_if_not_lvalue_reference(u.get_deleter())) {} //! Requires: If E is not a reference type, construction of the deleter from an rvalue of type E shall be //! well formed and shall not throw an exception. Otherwise, E is a reference type and construction of the //! deleter from an lvalue of type E shall be well formed and shall not throw an exception. //! //! Remarks: This constructor shall not participate in overload resolution unless: //! - unique_ptr::pointer is implicitly convertible to pointer, //! - U is not an array type, and //! - either D is a reference type and E is the same type as D, or D is not a reference type and E is //! implicitly convertible to D. //! //! Effects: Constructs a unique_ptr by transferring ownership from u to *this. If E is a reference type, //! this deleter is copy constructed from u's deleter; otherwise, this deleter is move constructed from u's deleter. //! //! Postconditions: get() yields the value u.get() yielded before the construction. get_deleter() //! returns a reference to the stored deleter that was constructed from u.get_deleter(). template unique_ptr( BOOST_RV_REF_BEG unique_ptr BOOST_RV_REF_END u BOOST_MOVE_DOCIGN(BOOST_MOVE_I typename bmupd::enable_up_moveconv_constr::type* =0) ) BOOST_NOEXCEPT : m_data(u.release(), ::boost::move_if_not_lvalue_reference(u.get_deleter())) { //If T is not an array type, U derives from T //it uses the default deleter and T has no virtual destructor, then you have a problem BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor ::pointer>::value )); } //! Requires: The expression get_deleter()(get()) shall be well formed, shall have well-defined behavior, //! and shall not throw exceptions. //! //! Effects: If get() == nullpt1r there are no effects. Otherwise get_deleter()(get()). //! //! Note: The use of default_delete requires T to be a complete type ~unique_ptr() { if(m_data.m_p) m_data.deleter()(m_data.m_p); } //! Requires: If D is not a reference type, D shall satisfy the requirements of MoveAssignable //! and assignment of the deleter from an rvalue of type D shall not throw an exception. Otherwise, D //! is a reference type; remove_reference::type shall satisfy the CopyAssignable requirements and //! assignment of the deleter from an lvalue of type D shall not throw an exception. //! //! Effects: Transfers ownership from u to *this as if by calling reset(u.release()) followed //! by get_deleter() = std::forward(u.get_deleter()). //! //! Returns: *this. unique_ptr& operator=(BOOST_RV_REF(unique_ptr) u) BOOST_NOEXCEPT { this->reset(u.release()); m_data.deleter() = ::boost::move_if_not_lvalue_reference(u.get_deleter()); return *this; } //! Requires: If E is not a reference type, assignment of the deleter from an rvalue of type E shall be //! well-formed and shall not throw an exception. Otherwise, E is a reference type and assignment of the //! deleter from an lvalue of type E shall be well-formed and shall not throw an exception. //! //! Remarks: This operator shall not participate in overload resolution unless: //! - unique_ptr::pointer is implicitly convertible to pointer and //! - U is not an array type. //! //! Effects: Transfers ownership from u to *this as if by calling reset(u.release()) followed by //! get_deleter() = std::forward(u.get_deleter()). //! //! Returns: *this. template BOOST_MOVE_DOC1ST(unique_ptr&, typename bmupd::enable_up_moveconv_assign ::type) operator=(BOOST_RV_REF_BEG unique_ptr BOOST_RV_REF_END u) BOOST_NOEXCEPT { this->reset(u.release()); m_data.deleter() = ::boost::move_if_not_lvalue_reference(u.get_deleter()); return *this; } //! Effects: reset(). //! //! Postcondition: get() == nullptr //! //! Returns: *this. unique_ptr& operator=(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) BOOST_NOEXCEPT { this->reset(); return *this; } //! Requires: get() != nullptr. //! //! Returns: *get(). //! //! Remarks::type) operator*() const BOOST_NOEXCEPT { BOOST_STATIC_ASSERT((!bmupmu::is_array::value)); return *m_data.m_p; } //! Requires: i < the number of elements in the array to which the stored pointer points. //! //! Returns: get()[i]. //! //! Remarks::type) operator[](std::size_t i) const BOOST_NOEXCEPT { BOOST_ASSERT( bmupmu::extent::value == 0 || i < bmupmu::extent::value ); BOOST_ASSERT(m_data.m_p); return m_data.m_p[i]; } //! Requires: get() != nullptr. //! //! Returns: get(). //! //! Note: use typically requires that T be a complete type. //! //! Remarks() const BOOST_NOEXCEPT { BOOST_STATIC_ASSERT((!bmupmu::is_array::value)); BOOST_ASSERT(m_data.m_p); return m_data.m_p; } //! Returns: The stored pointer. //! pointer get() const BOOST_NOEXCEPT { return m_data.m_p; } //! Returns: A reference to the stored deleter. //! BOOST_MOVE_DOC1ST(D&, typename bmupmu::add_lvalue_reference::type) get_deleter() BOOST_NOEXCEPT { return m_data.deleter(); } //! Returns: A reference to the stored deleter. //! BOOST_MOVE_DOC1ST(const D&, typename bmupmu::add_const_lvalue_reference::type) get_deleter() const BOOST_NOEXCEPT { return m_data.deleter(); } #ifdef BOOST_MOVE_DOXYGEN_INVOKED //! Returns: Returns: get() != nullptr. //! explicit operator bool #else operator bmupd::explicit_bool_arg #endif ()const BOOST_NOEXCEPT { return m_data.m_p ? &bmupd::bool_conversion::for_bool : bmupd::explicit_bool_arg(0); } //! Postcondition: get() == nullptr. //! //! Returns: The value get() had at the start of the call to release. pointer release() BOOST_NOEXCEPT { const pointer tmp = m_data.m_p; m_data.m_p = pointer(); return tmp; } //! Requires: The expression get_deleter()(get()) shall be well formed, shall have well-defined behavior, //! and shall not throw exceptions. //! //! Effects: assigns p to the stored pointer, and then if the old value of the stored pointer, old_p, was not //! equal to nullptr, calls get_deleter()(old_p). Note: The order of these operations is significant //! because the call to get_deleter() may destroy *this. //! //! Postconditions: get() == p. Note: The postcondition does not hold if the call to get_deleter() //! destroys *this since this->get() is no longer a valid expression. //! //! Remarks: This constructor shall not participate in overload resolution unless: //! - If T is not an array type and Pointer is implicitly convertible to pointer. //! - If T is an array type and Pointer is a more CV qualified pointer to element_type. template BOOST_MOVE_DOC1ST(void, typename bmupd::enable_up_ptr::type) reset(Pointer p) BOOST_NOEXCEPT { //If T is not an array type, element_type_t derives from T //it uses the default deleter and T has no virtual destructor, then you have a problem BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor ::type>::value )); pointer tmp = m_data.m_p; m_data.m_p = p; if(tmp) m_data.deleter()(tmp); } //! Requires: The expression get_deleter()(get()) shall be well formed, shall have well-defined behavior, //! and shall not throw exceptions. //! //! Effects: assigns nullptr to the stored pointer, and then if the old value of the stored pointer, old_p, was not //! equal to nullptr, calls get_deleter()(old_p). Note: The order of these operations is significant //! because the call to get_deleter() may destroy *this. //! //! Postconditions: get() == p. Note: The postcondition does not hold if the call to get_deleter() //! destroys *this since this->get() is no longer a valid expression. void reset() BOOST_NOEXCEPT { this->reset(pointer()); } //! Effects: Same as reset() //! void reset(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) BOOST_NOEXCEPT { this->reset(); } //! Requires: get_deleter() shall be swappable and shall not throw an exception under swap. //! //! Effects: Invokes swap on the stored pointers and on the stored deleters of *this and u. void swap(unique_ptr& u) BOOST_NOEXCEPT { ::boost::adl_move_swap(m_data.m_p, u.m_data.m_p); ::boost::adl_move_swap(m_data.deleter(), u.m_data.deleter()); } }; //! Effects: Calls x.swap(y). //! template inline void swap(unique_ptr &x, unique_ptr &y) BOOST_NOEXCEPT { x.swap(y); } //! Returns: x.get() == y.get(). //! template inline bool operator==(const unique_ptr &x, const unique_ptr &y) { return x.get() == y.get(); } //! Returns: x.get() != y.get(). //! template inline bool operator!=(const unique_ptr &x, const unique_ptr &y) { return x.get() != y.get(); } //! Returns: x.get() < y.get(). //! //! Remarks: This comparison shall induce a //! strict weak ordering betwen pointers. template inline bool operator<(const unique_ptr &x, const unique_ptr &y) { return x.get() < y.get(); } //! Returns: !(y < x). //! template inline bool operator<=(const unique_ptr &x, const unique_ptr &y) { return !(y < x); } //! Returns: y < x. //! template inline bool operator>(const unique_ptr &x, const unique_ptr &y) { return y < x; } //! Returns:!(x < y). //! template inline bool operator>=(const unique_ptr &x, const unique_ptr &y) { return !(x < y); } //! Returns:!x. //! template inline bool operator==(const unique_ptr &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) BOOST_NOEXCEPT { return !x; } //! Returns:!x. //! template inline bool operator==(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr &x) BOOST_NOEXCEPT { return !x; } //! Returns: (bool)x. //! template inline bool operator!=(const unique_ptr &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) BOOST_NOEXCEPT { return !!x; } //! Returns: (bool)x. //! template inline bool operator!=(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr &x) BOOST_NOEXCEPT { return !!x; } //! Requires: operator shall induce a strict weak ordering on unique_ptr::pointer values. //! //! Returns: Returns x.get() < pointer(). template inline bool operator<(const unique_ptr &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) { return x.get() < typename unique_ptr::pointer(); } //! Requires: operator shall induce a strict weak ordering on unique_ptr::pointer values. //! //! Returns: Returns pointer() < x.get(). template inline bool operator<(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr &x) { return typename unique_ptr::pointer() < x.get(); } //! Returns: nullptr < x. //! template inline bool operator>(const unique_ptr &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) { return x.get() > typename unique_ptr::pointer(); } //! Returns: x < nullptr. //! template inline bool operator>(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr &x) { return typename unique_ptr::pointer() > x.get(); } //! Returns: !(nullptr < x). //! template inline bool operator<=(const unique_ptr &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) { return !(bmupd::nullptr_type() < x); } //! Returns: !(x < nullptr). //! template inline bool operator<=(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr &x) { return !(x < bmupd::nullptr_type()); } //! Returns: !(x < nullptr). //! template inline bool operator>=(const unique_ptr &x, BOOST_MOVE_DOC0PTR(bmupd::nullptr_type)) { return !(x < bmupd::nullptr_type()); } //! Returns: !(nullptr < x). //! template inline bool operator>=(BOOST_MOVE_DOC0PTR(bmupd::nullptr_type), const unique_ptr &x) { return !(bmupd::nullptr_type() < x); } } //namespace movelib { } //namespace boost{ #include #endif //#ifndef BOOST_MOVE_UNIQUE_PTR_HPP_INCLUDED KWStyle-master/Utilities/boost/move/utility.hpp000066400000000000000000000121451265471724600222150ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (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 #include #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED) namespace boost { ////////////////////////////////////////////////////////////////////////////// // // move_if_noexcept() // ////////////////////////////////////////////////////////////////////////////// template inline 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 inline 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 inline 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 inline 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 inline 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 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 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 KWStyle-master/Utilities/boost/move/utility_core.hpp000066400000000000000000000245151265471724600232310ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////////////// // // (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 #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 inline typename ::boost::move_detail::enable_if_c < enable_move_utility_emulation::value && !has_move_emulation_enabled::value, T&>::type move(T& x) BOOST_NOEXCEPT { return x; } template inline typename ::boost::move_detail::enable_if_c < enable_move_utility_emulation::value && has_move_emulation_enabled::value, rv&>::type move(T& x) BOOST_NOEXCEPT { return *static_cast* >(::boost::move_detail::addressof(x)); } template inline typename ::boost::move_detail::enable_if_c < enable_move_utility_emulation::value && has_move_emulation_enabled::value, rv&>::type move(rv& x) BOOST_NOEXCEPT { return x; } ////////////////////////////////////////////////////////////////////////////// // // forward() // ////////////////////////////////////////////////////////////////////////////// template inline typename ::boost::move_detail::enable_if_c < enable_move_utility_emulation::value && ::boost::move_detail::is_rv::value, T &>::type forward(const typename ::boost::move_detail::identity::type &x) BOOST_NOEXCEPT { return const_cast(x); } template inline typename ::boost::move_detail::enable_if_c < enable_move_utility_emulation::value && !::boost::move_detail::is_rv::value, const T &>::type forward(const typename ::boost::move_detail::identity::type &x) BOOST_NOEXCEPT { return x; } ////////////////////////////////////////////////////////////////////////////// // // move_if_not_lvalue_reference() // ////////////////////////////////////////////////////////////////////////////// template inline typename ::boost::move_detail::enable_if_c < enable_move_utility_emulation::value && ::boost::move_detail::is_rv::value , T &>::type move_if_not_lvalue_reference(const typename ::boost::move_detail::identity::type &x) BOOST_NOEXCEPT { return const_cast(x); } template inline typename ::boost::move_detail::enable_if_c < enable_move_utility_emulation::value && !::boost::move_detail::is_rv::value && (::boost::move_detail::is_lvalue_reference::value || !has_move_emulation_enabled::value) , typename ::boost::move_detail::add_lvalue_reference::type >::type move_if_not_lvalue_reference(typename ::boost::move_detail::remove_reference::type &x) BOOST_NOEXCEPT { return x; } template inline typename ::boost::move_detail::enable_if_c < enable_move_utility_emulation::value && !::boost::move_detail::is_rv::value && (!::boost::move_detail::is_lvalue_reference::value && has_move_emulation_enabled::value) , rv& >::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 inline typename ::boost::move_detail::remove_reference::type && move(T&& t) BOOST_NOEXCEPT { return t; } #else //BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES template inline 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 inline T&& forward(typename ::boost::move_detail::identity::type&& t) BOOST_NOEXCEPT { return t; } #else //Old move template inline T&& forward(typename ::boost::move_detail::remove_reference::type& t) BOOST_NOEXCEPT { return static_cast(t); } template inline 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) 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 inline T&& move_if_not_lvalue_reference(typename ::boost::move_detail::identity::type&& t) BOOST_NOEXCEPT { return t; } #else //Old move template inline T&& move_if_not_lvalue_reference(typename ::boost::move_detail::remove_reference::type& t) BOOST_NOEXCEPT { return static_cast(t); } template inline 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 KWStyle-master/Utilities/boost/mpi.hpp000066400000000000000000000021151265471724600203250ustar00rootroot00000000000000// Copyright (C) 2006 Douglas Gregor . // 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) // Message Passing Interface // See www.boost.org/libs/mpi for documentation. /** @file mpi.hpp * * This file is a top-level convenience header that includes all of * the Boost.MPI library headers. Users concerned about compile time * may wish to include only specific headers from the Boost.MPI * library. * */ #ifndef BOOST_MPI_HPP #define BOOST_MPI_HPP #include #include #include #include #include #include #include #include #include #include #include #include #endif // BOOST_MPI_HPP KWStyle-master/Utilities/boost/mpl/000077500000000000000000000000001265471724600176205ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/O1_size.hpp000066400000000000000000000017531265471724600216500ustar00rootroot00000000000000 #ifndef BOOST_MPL_O1_SIZE_HPP_INCLUDED #define BOOST_MPL_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 #include #include #include namespace boost { namespace mpl { // returns sequence size if it's an O(1) operation; otherwise returns -1 template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) > struct O1_size : O1_size_impl< typename sequence_tag::type > ::template apply< Sequence > { BOOST_MPL_AUX_LAMBDA_SUPPORT(1, O1_size, (Sequence)) }; BOOST_MPL_AUX_NA_SPEC(1, O1_size) }} #endif // BOOST_MPL_O1_SIZE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/O1_size_fwd.hpp000066400000000000000000000010571265471724600225050ustar00rootroot00000000000000 #ifndef BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED #define BOOST_MPL_O1_SIZE_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$ namespace boost { namespace mpl { template< typename Tag > struct O1_size_impl; template< typename Sequence > struct O1_size; }} #endif // BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/accumulate.hpp000066400000000000000000000016621265471724600224610ustar00rootroot00000000000000 #ifndef BOOST_MPL_ACCUMULATE_HPP_INCLUDED #define BOOST_MPL_ACCUMULATE_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 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 accumulate : fold { BOOST_MPL_AUX_LAMBDA_SUPPORT(3,accumulate,(Sequence,State,ForwardOp)) }; BOOST_MPL_AUX_NA_SPEC(3, accumulate) }} #endif // BOOST_MPL_ACCUMULATE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/advance.hpp000066400000000000000000000036431265471724600217400ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/advance_fwd.hpp000066400000000000000000000012241265471724600225710ustar00rootroot00000000000000 #ifndef BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED #define BOOST_MPL_ADVANCE_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 namespace boost { namespace mpl { BOOST_MPL_AUX_COMMON_NAME_WKND(advance) template< typename Tag > struct advance_impl; template< typename Iterator, typename N > struct advance; }} #endif // BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/alias.hpp000066400000000000000000000007041265471724600214230ustar00rootroot00000000000000 #ifndef BOOST_MPL_ALIAS_HPP_INCLUDED #define BOOST_MPL_ALIAS_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 { namespace mpl = boost::mpl; } #endif // BOOST_MPL_ALIAS_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/always.hpp000066400000000000000000000015061265471724600216330ustar00rootroot00000000000000 #ifndef BOOST_MPL_ALWAYS_HPP_INCLUDED #define BOOST_MPL_ALWAYS_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 namespace boost { namespace mpl { template< typename Value > struct always { template< BOOST_MPL_PP_DEFAULT_PARAMS(BOOST_MPL_LIMIT_METAFUNCTION_ARITY, typename T, na) > struct apply { typedef Value type; }; }; BOOST_MPL_AUX_ARITY_SPEC(0, always) }} #endif // BOOST_MPL_ALWAYS_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/and.hpp000066400000000000000000000030711265471724600210740ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/apply.hpp000066400000000000000000000137071265471724600214660ustar00rootroot00000000000000 #if !defined(BOOST_PP_IS_ITERATING) ///// header body #ifndef BOOST_MPL_APPLY_HPP_INCLUDED #define BOOST_MPL_APPLY_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 #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER apply.hpp # include #else # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include namespace boost { namespace mpl { // local macros, #undef-ined at the end of the header # define AUX778076_APPLY_PARAMS(param) \ BOOST_MPL_PP_PARAMS( \ BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ , param \ ) \ /**/ # define AUX778076_APPLY_DEF_PARAMS(param, value) \ BOOST_MPL_PP_DEFAULT_PARAMS( \ BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ , param \ , value \ ) \ /**/ # define AUX778076_APPLY_N_PARAMS(n, param) \ BOOST_MPL_PP_PARAMS(n, param) \ /**/ # define AUX778076_APPLY_N_COMMA_PARAMS(n, param) \ BOOST_PP_COMMA_IF(n) \ BOOST_MPL_PP_PARAMS(n, param) \ /**/ # define AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS(n, param, def) \ BOOST_PP_COMMA_IF(n) \ BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \ /**/ # define AUX778076_APPLY_N_SPEC_PARAMS(n, param) \ BOOST_MPL_PP_ENUM(BOOST_PP_INC(n), param) \ /**/ #define BOOST_PP_ITERATION_PARAMS_1 \ (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) #include BOOST_PP_ITERATE() # if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE) // real C++ version is already taken care of # if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) namespace aux { // apply_count_args #define AUX778076_COUNT_ARGS_PREFIX apply #define AUX778076_COUNT_ARGS_DEFAULT na #define AUX778076_COUNT_ARGS_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY #include } template< typename F, AUX778076_APPLY_DEF_PARAMS(typename T, na) > struct apply : aux::apply_chooser< aux::apply_count_args< AUX778076_APPLY_PARAMS(T) >::value >::template result_< F, AUX778076_APPLY_PARAMS(T) >::type { }; # endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION # endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE # undef AUX778076_APPLY_N_SPEC_PARAMS # undef AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS # undef AUX778076_APPLY_N_COMMA_PARAMS # undef AUX778076_APPLY_N_PARAMS # undef AUX778076_APPLY_DEF_PARAMS # undef AUX778076_APPLY_PARAMS }} #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_APPLY_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< typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T) > struct BOOST_PP_CAT(apply,i_) #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) : BOOST_PP_CAT(apply_wrap,i_)< typename lambda::type AUX778076_APPLY_N_COMMA_PARAMS(i_, T) > { #else { typedef typename BOOST_PP_CAT(apply_wrap,i_)< typename lambda::type AUX778076_APPLY_N_COMMA_PARAMS(i_, T) >::type type; #endif BOOST_MPL_AUX_LAMBDA_SUPPORT( BOOST_PP_INC(i_) , BOOST_PP_CAT(apply,i_) , (F AUX778076_APPLY_N_COMMA_PARAMS(i_,T)) ) }; #if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) /// workaround for ETI bug template<> struct BOOST_PP_CAT(apply,i_) { typedef int type; }; #endif # if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE) # if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) #if i_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY /// primary template (not a specialization!) template< typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T) > struct apply : BOOST_PP_CAT(apply,i_)< F AUX778076_APPLY_N_COMMA_PARAMS(i_, T) > { }; #else template< typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T) > struct apply< F AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS(i_, T, na) > : BOOST_PP_CAT(apply,i_)< F AUX778076_APPLY_N_COMMA_PARAMS(i_, T) > { }; #endif # else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION #if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE) namespace aux { template<> struct apply_chooser { template< typename F, AUX778076_APPLY_PARAMS(typename T) > struct result_ { typedef BOOST_PP_CAT(apply,i_)< F AUX778076_APPLY_N_COMMA_PARAMS(i_, T) > type; }; }; } // namespace aux #endif # endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION # endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE # undef i_ #endif // BOOST_PP_ITERATION_DEPTH() #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/apply_fwd.hpp000066400000000000000000000051471265471724600223250ustar00rootroot00000000000000 #if !defined(BOOST_PP_IS_ITERATING) ///// header body #ifndef BOOST_MPL_APPLY_FWD_HPP_INCLUDED #define BOOST_MPL_APPLY_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$ #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 apply_fwd.hpp # include #else # include # include # include # include # include # include # include # include // agurt, 15/jan/02: top-level 'apply' template gives an ICE on MSVC // (for known reasons) #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) # define BOOST_MPL_CFG_NO_APPLY_TEMPLATE #endif namespace boost { namespace mpl { // local macro, #undef-ined at the end of the header # define AUX778076_APPLY_DEF_PARAMS(param, value) \ BOOST_MPL_PP_DEFAULT_PARAMS( \ BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ , param \ , value \ ) \ /**/ # define AUX778076_APPLY_N_COMMA_PARAMS(n, param) \ BOOST_PP_COMMA_IF(n) \ BOOST_MPL_PP_PARAMS(n, param) \ /**/ # if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE) #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) // forward declaration template< typename F, AUX778076_APPLY_DEF_PARAMS(typename T, na) > struct apply; #else namespace aux { template< BOOST_AUX_NTTP_DECL(int, arity_) > struct apply_chooser; } #endif # endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE #define BOOST_PP_ITERATION_PARAMS_1 \ (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) #include BOOST_PP_ITERATE() # undef AUX778076_APPLY_N_COMMA_PARAMS # undef AUX778076_APPLY_DEF_PARAMS }} #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_APPLY_FWD_HPP_INCLUDED ///// iteration #else #define i_ BOOST_PP_FRAME_ITERATION(1) template< typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T) > struct BOOST_PP_CAT(apply,i_); #undef i_ #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/apply_wrap.hpp000066400000000000000000000140411265471724600225070ustar00rootroot00000000000000 #if !defined(BOOST_PP_IS_ITERATING) ///// header body #ifndef BOOST_MPL_APPLY_WRAP_HPP_INCLUDED #define BOOST_MPL_APPLY_WRAP_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$ #if !defined(BOOST_MPL_PREPROCESSING_MODE) # include # include # include # include #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER apply_wrap.hpp # include #else # include # include # include # include # include # include # include # include # include # include # include # include # include # include namespace boost { namespace mpl { // local macros, #undef-ined at the end of the header # define AUX778076_APPLY_WRAP_PARAMS(n, param) \ BOOST_MPL_PP_PARAMS(n, param) \ /**/ # define AUX778076_APPLY_WRAP_SPEC_PARAMS(n, param) \ BOOST_MPL_PP_ENUM(BOOST_PP_INC(n), param) \ /**/ #define BOOST_PP_ITERATION_PARAMS_1 \ (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) #include BOOST_PP_ITERATE() # undef AUX778076_APPLY_WRAP_SPEC_PARAMS # undef AUX778076_APPLY_WRAP_PARAMS }} #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_APPLY_WRAP_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) # if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // MSVC version #define AUX778076_MSVC_DTW_NAME BOOST_PP_CAT(msvc_apply,i_) #define AUX778076_MSVC_DTW_ORIGINAL_NAME apply #define AUX778076_MSVC_DTW_ARITY i_ #include template< typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) > struct BOOST_PP_CAT(apply_wrap,i_) { // Metafunction forwarding confuses vc6 typedef typename BOOST_PP_CAT(msvc_apply,i_)::template result_< AUX778076_APPLY_WRAP_PARAMS(i_, T) >::type type; }; # elif defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) // MWCW/Borland version template< int N, typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) > struct BOOST_PP_CAT(apply_wrap_impl,i_); #define BOOST_PP_ITERATION_PARAMS_2 \ (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY - i_, )) #include BOOST_PP_ITERATE() template< typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) > struct BOOST_PP_CAT(apply_wrap,i_) : BOOST_PP_CAT(apply_wrap_impl,i_)< ::boost::mpl::aux::arity::value , F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T) >::type { }; # else // ISO98 C++, with minor concession to vc7 template< typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) #if i_ == 0 , typename has_apply_ = typename aux::has_apply::type #endif > struct BOOST_PP_CAT(apply_wrap,i_) // metafunction forwarding confuses MSVC 7.0 #if !BOOST_WORKAROUND(BOOST_MSVC, == 1300) : F::template apply< AUX778076_APPLY_WRAP_PARAMS(i_, T) > { #else { typedef typename F::template apply< AUX778076_APPLY_WRAP_PARAMS(i_, T) >::type type; #endif }; #if i_ == 0 && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename F > struct BOOST_PP_CAT(apply_wrap,i_) : F::apply { }; #endif # endif // workarounds #if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) /// workaround for ETI bug template<> struct BOOST_PP_CAT(apply_wrap,i_) { typedef int type; }; #endif # undef i_ ///// iteration, depth == 2 #elif BOOST_PP_ITERATION_DEPTH() == 2 # define j_ BOOST_PP_FRAME_ITERATION(2) #if i_ == 0 && j_ == 0 \ && defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) \ && !defined(BOOST_MPL_CFG_NO_HAS_APPLY) template< typename F, bool F_has_apply > struct apply_wrap_impl0_bcb { typedef typename F::template apply< na > type; }; template< typename F > struct apply_wrap_impl0_bcb< F, true > { typedef typename F::apply type; }; template< typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) > struct BOOST_PP_CAT(apply_wrap_impl,i_)< BOOST_MPL_PP_ADD(i_, j_) , F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T) > { typedef apply_wrap_impl0_bcb< F, aux::has_apply< F >::value >::type type; }; #else template< typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) > struct BOOST_PP_CAT(apply_wrap_impl,i_)< BOOST_MPL_PP_ADD(i_, j_) , F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T) > { typedef typename F::template apply< AUX778076_APPLY_WRAP_PARAMS(i_, T) #if i_ == 0 && j_ == 0 /// since the defaults are "lost", we have to pass *something* even for nullary /// metafunction classes na #else BOOST_PP_COMMA_IF(BOOST_PP_AND(i_, j_)) BOOST_MPL_PP_ENUM(j_, na) #endif > type; }; #endif # undef j_ #endif // BOOST_PP_ITERATION_DEPTH() #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/arg.hpp000066400000000000000000000062201265471724600211020ustar00rootroot00000000000000 #if !defined(BOOST_PP_IS_ITERATING) ///// header body #ifndef BOOST_MPL_ARG_HPP_INCLUDED #define BOOST_MPL_ARG_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$ #if !defined(BOOST_MPL_PREPROCESSING_MODE) # include # include # include # include # include #endif #include #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER arg.hpp # include #else # include # include # include # include # include # include # include # include # include BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN // local macro, #undef-ined at the end of the header #if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) # define AUX778076_ARG_N_DEFAULT_PARAMS(param,value) \ BOOST_MPL_PP_DEFAULT_PARAMS( \ BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ , param \ , value \ ) \ /**/ #else # define AUX778076_ARG_N_DEFAULT_PARAMS(param,value) \ BOOST_MPL_PP_PARAMS( \ BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ , param \ ) \ /**/ #endif #define BOOST_PP_ITERATION_PARAMS_1 \ (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) #include BOOST_PP_ITERATE() # undef AUX778076_ARG_N_DEFAULT_PARAMS BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int,arg) BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_ARG_HPP_INCLUDED ///// iteration #else #define i_ BOOST_PP_FRAME_ITERATION(1) #if i_ > 0 template<> struct arg { BOOST_STATIC_CONSTANT(int, value = i_); typedef arg next; BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) BOOST_MPL_AUX_ARG_TYPEDEF(na, type) template< AUX778076_ARG_N_DEFAULT_PARAMS(typename U, na) > struct apply { typedef BOOST_PP_CAT(U,i_) type; BOOST_MPL_AUX_ASSERT_NOT_NA(type); }; }; #else 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< AUX778076_ARG_N_DEFAULT_PARAMS(typename U, na) > struct apply { typedef U1 type; BOOST_MPL_AUX_ASSERT_NOT_NA(type); }; }; #endif // i_ > 0 #undef i_ #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/arg_fwd.hpp000066400000000000000000000013071265471724600217430ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/arithmetic.hpp000066400000000000000000000012311265471724600224570ustar00rootroot00000000000000 #ifndef BOOST_MPL_ARITHMETIC_HPP_INCLUDED #define BOOST_MPL_ARITHMETIC_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 // deprecated #endif // BOOST_MPL_ARITHMETIC_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/as_sequence.hpp000066400000000000000000000015571265471724600226340ustar00rootroot00000000000000 #ifndef BOOST_MPL_AS_SEQUENCE_HPP_INCLUDED #define BOOST_MPL_AS_SEQUENCE_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 #include namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(T) > struct as_sequence : if_< is_sequence, T, single_view > { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,as_sequence,(T)) }; BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, as_sequence) }} #endif // BOOST_MPL_AS_SEQUENCE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/assert.hpp000066400000000000000000000334611265471724600216410ustar00rootroot00000000000000 #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(__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(__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(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ || (BOOST_MPL_CFG_GCC != 0) || (BOOST_MPL_CFG_GPU != 0) # 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; }; 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 ) ); 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 #define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \ BOOST_MPL_ASSERT_MSG_IMPL( BOOST_MPL_AUX_PP_COUNTER(), c, msg, types_ ) \ /**/ #endif // BOOST_MPL_ASSERT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/at.hpp000066400000000000000000000022611265471724600207360ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/at_fwd.hpp000066400000000000000000000010421265471724600215720ustar00rootroot00000000000000 #ifndef BOOST_MPL_AT_FWD_HPP_INCLUDED #define BOOST_MPL_AT_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$ namespace boost { namespace mpl { template< typename Tag > struct at_impl; template< typename Sequence, typename N > struct at; }} #endif // BOOST_MPL_AT_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/000077500000000000000000000000001265471724600205545ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/O1_size_impl.hpp000066400000000000000000000040701265471724600236200ustar00rootroot00000000000000 #ifndef BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED #define BOOST_MPL_O1_SIZE_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 #include #include #include #include namespace boost { namespace mpl { // default implementation - returns 'Sequence::size' if sequence has a 'size' // member, and -1 otherwise; conrete sequences might override it by // specializing either the 'O1_size_impl' or the primary 'O1_size' template # if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) \ && !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) namespace aux { template< typename Sequence > struct O1_size_impl : Sequence::size { }; } template< typename Tag > struct O1_size_impl { template< typename Sequence > struct apply #if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) : if_< aux::has_size , aux::O1_size_impl , long_<-1> >::type { #else { typedef typename if_< aux::has_size , aux::O1_size_impl , long_<-1> >::type type; BOOST_STATIC_CONSTANT(long, value = (if_< aux::has_size , aux::O1_size_impl , long_<-1> >::type::value) ); #endif }; }; # else // BOOST_MSVC template< typename Tag > struct O1_size_impl { template< typename Sequence > struct apply : long_<-1> { }; }; # endif }} #endif // BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/adl_barrier.hpp000066400000000000000000000030271265471724600235350ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/advance_backward.hpp000066400000000000000000000065331265471724600245330ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/advance_forward.hpp000066400000000000000000000064121265471724600244150ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/apply_1st.hpp000066400000000000000000000013331265471724600232010ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_APPLY_1ST_HPP_INCLUDED #define BOOST_MPL_AUX_APPLY_1ST_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 namespace boost { namespace mpl { namespace aux { struct apply_1st { template< typename Pair, typename T > struct apply : apply2< typename Pair::first , typename Pair::second , T > { }; }; }}} #endif // BOOST_MPL_AUX_APPLY_1ST_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/arg_typedef.hpp000066400000000000000000000014101265471724600235520ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED #define BOOST_MPL_AUX_ARG_TYPEDEF_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_CFG_NO_FULL_LAMBDA_SUPPORT) \ || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) # define BOOST_MPL_AUX_ARG_TYPEDEF(T, name) typedef T name; #else # define BOOST_MPL_AUX_ARG_TYPEDEF(T, name) /**/ #endif #endif // BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/arithmetic_op.hpp000066400000000000000000000046111265471724600241160ustar00rootroot00000000000000 // 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_MPL_PREPROCESSING_MODE) # include # include # include #endif #if !defined(AUX778076_OP_PREFIX) # define AUX778076_OP_PREFIX AUX778076_OP_NAME #endif #include #include #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp # include #else # include # include namespace boost { namespace mpl { #if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) namespace aux { template< typename T, T n1, T n2 > struct BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd) { BOOST_STATIC_CONSTANT(T, value = (n1 AUX778076_OP_TOKEN n2)); typedef integral_c type; }; } #endif template<> struct AUX778076_OP_IMPL_NAME { template< typename N1, typename N2 > struct apply #if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) : integral_c< typename aux::largest_int< typename N1::value_type , typename N2::value_type >::type , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > #else : aux::BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)< typename aux::largest_int< typename N1::value_type , typename N2::value_type >::type , N1::value , N2::value >::type #endif { }; }; }} #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #undef AUX778076_OP_TAG_NAME #undef AUX778076_OP_IMPL_NAME #undef AUX778076_OP_ARITY #undef AUX778076_OP_PREFIX #undef AUX778076_OP_NAME #undef AUX778076_OP_TOKEN KWStyle-master/Utilities/boost/mpl/aux_/arity.hpp000066400000000000000000000021071265471724600224150ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/arity_spec.hpp000066400000000000000000000034501265471724600234310ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED #define BOOST_MPL_AUX_ARITY_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$ #include #include #include #include #include #include #include #include #include #if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) # define BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) \ namespace aux { \ template< BOOST_MPL_AUX_NTTP_DECL(int, N), BOOST_MPL_PP_PARAMS(i,type T) > \ struct arity< \ name< BOOST_MPL_PP_PARAMS(i,T) > \ , N \ > \ { \ BOOST_STATIC_CONSTANT(int \ , value = BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ ); \ }; \ } \ /**/ #else # define BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) /**/ #endif # define BOOST_MPL_AUX_ARITY_SPEC(i,name) \ BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,typename,name) \ /**/ #if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \ && !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) # define BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name) \ namespace aux { \ template< BOOST_MPL_PP_PARAMS(i,typename T) > \ struct template_arity< name > \ : int_ \ { \ }; \ } \ /**/ #else # define BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name) /**/ #endif #endif // BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/at_impl.hpp000066400000000000000000000021031265471724600227060ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/back_impl.hpp000066400000000000000000000021411265471724600232040ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_BACK_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_BACK_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, requires at least bi-directional iterators; // conrete sequences might override it by specializing either the // 'back_impl' or the primary 'back' template template< typename Tag > struct back_impl { template< typename Sequence > struct apply { typedef typename end::type end_; typedef typename prior::type last_; typedef typename deref::type type; }; }; BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, back_impl) }} #endif // BOOST_MPL_AUX_BACK_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/basic_bind.hpp000066400000000000000000000010461265471724600233430ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_BASIC_BIND_HPP_INCLUDED #define BOOST_MPL_AUX_BASIC_BIND_HPP_INCLUDED // 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) // // See http://www.boost.org/libs/mpl for documentation. // $Id$ // $Date$ // $Revision$ #define BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT #include #endif // BOOST_MPL_AUX_BASIC_BIND_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/begin_end_impl.hpp000066400000000000000000000051231265471724600242210ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_BEGIN_END_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 #include #include #include #include namespace boost { namespace mpl { namespace aux { template< typename Sequence > struct begin_type { typedef typename Sequence::begin type; }; template< typename Sequence > struct end_type { typedef typename Sequence::end type; }; } // default implementation; conrete sequences might override it by // specializing either the 'begin_impl/end_impl' or the primary // 'begin/end' templates template< typename Tag > struct begin_impl { template< typename Sequence > struct apply { typedef typename eval_if, aux::begin_type, void_>::type type; }; }; template< typename Tag > struct end_impl { template< typename Sequence > struct apply { typedef typename eval_if, aux::end_type, void_>::type type; }; }; // specialize 'begin_trait/end_trait' for two pre-defined tags # define AUX778076_IMPL_SPEC(name, tag, result) \ template<> \ struct name##_impl \ { \ template< typename Sequence > struct apply \ { \ typedef result type; \ }; \ }; \ /**/ // a sequence with nested 'begin/end' typedefs; just query them AUX778076_IMPL_SPEC(begin, nested_begin_end_tag, typename Sequence::begin) AUX778076_IMPL_SPEC(end, nested_begin_end_tag, typename Sequence::end) // if a type 'T' does not contain 'begin/end' or 'tag' members // and doesn't specialize either 'begin/end' or 'begin_impl/end_impl' // templates, then we end up here AUX778076_IMPL_SPEC(begin, non_sequence_tag, void_) AUX778076_IMPL_SPEC(end, non_sequence_tag, void_) AUX778076_IMPL_SPEC(begin, na, void_) AUX778076_IMPL_SPEC(end, na, void_) # undef AUX778076_IMPL_SPEC BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(1,begin_impl) BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(1,end_impl) }} #endif // BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/clear_impl.hpp000066400000000000000000000014731265471724600234010ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/common_name_wknd.hpp000066400000000000000000000015511265471724600246020ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED #define BOOST_MPL_AUX_COMMON_NAME_WKND_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 BOOST_WORKAROUND(__BORLANDC__, < 0x561) // agurt, 12/nov/02: to suppress the bogus "Cannot have both a template class // and function named 'xxx'" diagnostic # define BOOST_MPL_AUX_COMMON_NAME_WKND(name) \ namespace name_##wknd { \ template< typename > void name(); \ } \ /**/ #else # define BOOST_MPL_AUX_COMMON_NAME_WKND(name) /**/ #endif // __BORLANDC__ #endif // BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/comparison_op.hpp000066400000000000000000000041511265471724600241360ustar00rootroot00000000000000 // 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_MPL_PREPROCESSING_MODE) # include # include #endif #if !defined(AUX778076_OP_PREFIX) # define AUX778076_OP_PREFIX AUX778076_OP_NAME #endif #define AUX778076_OP_ARITY 2 #include #include #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp # include #else # include # include namespace boost { namespace mpl { // MSVC workaround: implement less in terms of greater #if 0 AUX778076_OP_TOKEN 1 && !(1 AUX778076_OP_TOKEN 0) && !(0 AUX778076_OP_TOKEN 0) # define AUX778076_OP(N1, N2) \ ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) \ /**/ #else # define AUX778076_OP(N1, N2) \ ( BOOST_MPL_AUX_VALUE_WKND(N1)::value \ AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value \ ) \ /**/ #endif template<> struct AUX778076_OP_IMPL_NAME { template< typename N1, typename N2 > struct apply #if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) : bool_< AUX778076_OP(N1, N2) > { #else { BOOST_STATIC_CONSTANT(bool, value = AUX778076_OP(N1, N2)); typedef bool_ type; #endif }; }; #undef AUX778076_OP }} #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #undef AUX778076_OP_TAG_NAME #undef AUX778076_OP_IMPL_NAME #undef AUX778076_OP_ARITY #undef AUX778076_OP_PREFIX #undef AUX778076_OP_NAME #undef AUX778076_OP_TOKEN KWStyle-master/Utilities/boost/mpl/aux_/config/000077500000000000000000000000001265471724600220215ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/config/adl.hpp000066400000000000000000000026101265471724600232710ustar00rootroot00000000000000 #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(__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 KWStyle-master/Utilities/boost/mpl/aux_/config/arrays.hpp000066400000000000000000000014751265471724600240420ustar00rootroot00000000000000 #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(__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 KWStyle-master/Utilities/boost/mpl/aux_/config/bcc.hpp000066400000000000000000000014411265471724600232610ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED #define BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED // Copyright Aleksey Gurtovoy 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: 2004-09-02 10:41:37 -0500 (Thu, 02 Sep 2004) $ // $Revision: 24874 $ #include #if !defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) \ && BOOST_WORKAROUND(__BORLANDC__, >= 0x590) \ && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) # define BOOST_MPL_CFG_BCC590_WORKAROUNDS #endif #endif // BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/config/bind.hpp000066400000000000000000000016021265471724600234450ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED #define BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED // Copyright David Abrahams 2002 // 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 #if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) \ && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ ) # define BOOST_MPL_CFG_NO_BIND_TEMPLATE #endif //#define BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT #endif // BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/config/compiler.hpp000066400000000000000000000041261265471724600243470ustar00rootroot00000000000000 #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(__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(__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 KWStyle-master/Utilities/boost/mpl/aux_/config/ctps.hpp000066400000000000000000000014671265471724600235130ustar00rootroot00000000000000 #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(__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 KWStyle-master/Utilities/boost/mpl/aux_/config/dependent_nttp.hpp000066400000000000000000000021521265471724600255450ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_CONFIG_DEPENDENT_NTTP_HPP_INCLUDED #define BOOST_MPL_AUX_CONFIG_DEPENDENT_NTTP_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 // GCC and EDG-based compilers incorrectly reject the following code: // template< typename T, T n > struct a; // template< typename T > struct b; // template< typename T, T n > struct b< a > {}; #if !defined(BOOST_MPL_CFG_NO_DEPENDENT_NONTYPE_PARAMETER_IN_PARTIAL_SPEC) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) \ && ( BOOST_WORKAROUND(__EDG_VERSION__, BOOST_TESTED_AT(300)) \ || BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \ ) # define BOOST_MPL_CFG_NO_DEPENDENT_NONTYPE_PARAMETER_IN_PARTIAL_SPEC #endif #endif // BOOST_MPL_AUX_CONFIG_DEPENDENT_NTTP_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp000066400000000000000000000013401265471724600263770ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED #define BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_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 #if !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) \ && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) # define BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS #endif #endif // BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/config/dtp.hpp000066400000000000000000000030431265471724600233210ustar00rootroot00000000000000 #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(__BORLANDC__, >= 0x560) \ && BOOST_WORKAROUND(__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(__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 KWStyle-master/Utilities/boost/mpl/aux_/config/eti.hpp000066400000000000000000000023231265471724600233130ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/config/forwarding.hpp000066400000000000000000000013211265471724600246710ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED #define BOOST_MPL_AUX_CONFIG_FORWARDING_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 #if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) \ && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) # define BOOST_MPL_CFG_NO_NESTED_FORWARDING #endif #endif // BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/config/gcc.hpp000066400000000000000000000011171265471724600232660ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/config/gpu.hpp000066400000000000000000000012321265471724600233230ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/config/has_apply.hpp000066400000000000000000000016111265471724600245110ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED #define BOOST_MPL_AUX_CONFIG_HAS_APPLY_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 #include #if !defined(BOOST_MPL_CFG_NO_HAS_APPLY) \ && ( defined(BOOST_MPL_CFG_NO_HAS_XXX) \ || BOOST_WORKAROUND(__EDG_VERSION__, < 300) \ || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ ) # define BOOST_MPL_CFG_NO_HAS_APPLY #endif #endif // BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/config/has_xxx.hpp000066400000000000000000000017151265471724600242200ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/config/integral.hpp000066400000000000000000000020251265471724600243360ustar00rootroot00000000000000 #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(__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 KWStyle-master/Utilities/boost/mpl/aux_/config/intel.hpp000066400000000000000000000007771265471724600236600ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/config/lambda.hpp000066400000000000000000000016161265471724600237560ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/config/msvc.hpp000066400000000000000000000007641265471724600235110ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/config/msvc_typename.hpp000066400000000000000000000012541265471724600254060ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/config/nttp.hpp000066400000000000000000000017611265471724600235240ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/config/operators.hpp000066400000000000000000000020551265471724600245520ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_CONFIG_OPERATORS_HPP_INCLUDED #define BOOST_MPL_AUX_CONFIG_OPERATORS_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 #include #if !defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING) \ && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ || BOOST_WORKAROUND(__EDG_VERSION__, <= 245) \ || BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, <= 0x0295) \ || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) \ || BOOST_WORKAROUND(__NVCC__, BOOST_TESTED_AT(1)) \ ) # define BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING #endif #endif // BOOST_MPL_AUX_CONFIG_OPERATORS_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/config/overload_resolution.hpp000066400000000000000000000014621265471724600266330ustar00rootroot00000000000000 #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(__BORLANDC__, < 0x590) \ || BOOST_WORKAROUND(__MWERKS__, < 0x3001) \ ) # define BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION #endif #endif // BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/config/pp_counter.hpp000066400000000000000000000013111265471724600247040ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/config/preprocessor.hpp000066400000000000000000000021251265471724600252600ustar00rootroot00000000000000 #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(__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 KWStyle-master/Utilities/boost/mpl/aux_/config/static_constant.hpp000066400000000000000000000012501265471724600257300ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/config/ttp.hpp000066400000000000000000000022201265471724600233350ustar00rootroot00000000000000 #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( __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(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ ) # define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING #endif #endif // BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/config/typeof.hpp000066400000000000000000000017011265471724600240370ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED #define BOOST_MPL_AUX_CONFIG_TYPEOF_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 #if !defined(BOOST_MPL_CFG_HAS_TYPEOF) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) \ && ( defined(BOOST_MPL_CFG_GCC) && BOOST_MPL_CFG_GCC >= 0x0302 \ || defined(__MWERKS__) && __MWERKS__ >= 0x3000 \ ) # define BOOST_MPL_CFG_HAS_TYPEOF #endif #if !defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) \ && defined(BOOST_MPL_CFG_HAS_TYPEOF) # define BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES #endif #endif // BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/config/use_preprocessed.hpp000066400000000000000000000010151265471724600261010ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/config/workaround.hpp000066400000000000000000000007611265471724600247310ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/contains_impl.hpp000066400000000000000000000030441265471724600241250ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED // Copyright Eric Friedman 2002 // 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 #include #include #include #include #include #include namespace boost { namespace mpl { template< typename Tag > struct contains_impl { template< typename Sequence, typename T > struct apply #if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) : not_< is_same< typename find::type , typename end::type > > { #else { typedef not_< is_same< typename find::type , typename end::type > > type; BOOST_STATIC_CONSTANT(bool, value = (not_< is_same< typename find::type , typename end::type > >::value) ); #endif }; }; BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,contains_impl) }} #endif // BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/count_args.hpp000066400000000000000000000055711265471724600234410ustar00rootroot00000000000000 // 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$ #include #include #include #if !defined(AUX778076_COUNT_ARGS_PARAM_NAME) # define AUX778076_COUNT_ARGS_PARAM_NAME T #endif #if !defined(AUX778076_COUNT_ARGS_TEMPLATE_PARAM) # define AUX778076_COUNT_ARGS_TEMPLATE_PARAM typename AUX778076_COUNT_ARGS_PARAM_NAME #endif // local macros, #undef-ined at the end of the header #if !defined(AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES) # include # include # define AUX778076_COUNT_ARGS_REPEAT BOOST_MPL_PP_REPEAT # define AUX778076_COUNT_ARGS_PARAMS(param) \ BOOST_MPL_PP_PARAMS( \ AUX778076_COUNT_ARGS_ARITY \ , param \ ) \ /**/ #else # include # include # include # define AUX778076_COUNT_ARGS_REPEAT BOOST_PP_REPEAT # define AUX778076_COUNT_ARGS_PARAMS(param) \ BOOST_PP_ENUM_SHIFTED_PARAMS( \ BOOST_PP_INC(AUX778076_COUNT_ARGS_ARITY) \ , param \ ) \ /**/ #endif // AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES #define AUX778076_IS_ARG_TEMPLATE_NAME \ BOOST_PP_CAT(is_,BOOST_PP_CAT(AUX778076_COUNT_ARGS_PREFIX,_arg)) \ /**/ #define AUX778076_COUNT_ARGS_FUNC(unused, i, param) \ BOOST_PP_EXPR_IF(i, +) \ AUX778076_IS_ARG_TEMPLATE_NAME::value \ /**/ // is__arg template< AUX778076_COUNT_ARGS_TEMPLATE_PARAM > struct AUX778076_IS_ARG_TEMPLATE_NAME { BOOST_STATIC_CONSTANT(bool, value = true); }; template<> struct AUX778076_IS_ARG_TEMPLATE_NAME { BOOST_STATIC_CONSTANT(bool, value = false); }; // _count_args template< AUX778076_COUNT_ARGS_PARAMS(AUX778076_COUNT_ARGS_TEMPLATE_PARAM) > struct BOOST_PP_CAT(AUX778076_COUNT_ARGS_PREFIX,_count_args) { BOOST_STATIC_CONSTANT(int, value = AUX778076_COUNT_ARGS_REPEAT( AUX778076_COUNT_ARGS_ARITY , AUX778076_COUNT_ARGS_FUNC , AUX778076_COUNT_ARGS_PARAM_NAME )); }; #undef AUX778076_COUNT_ARGS_FUNC #undef AUX778076_IS_ARG_TEMPLATE_NAME #undef AUX778076_COUNT_ARGS_PARAMS #undef AUX778076_COUNT_ARGS_REPEAT #undef AUX778076_COUNT_ARGS_ARITY #undef AUX778076_COUNT_ARGS_DEFAULT #undef AUX778076_COUNT_ARGS_PREFIX #undef AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES #undef AUX778076_COUNT_ARGS_TEMPLATE_PARAM #undef AUX778076_COUNT_ARGS_PARAM_NAME KWStyle-master/Utilities/boost/mpl/aux_/count_impl.hpp000066400000000000000000000022251265471724600234370ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_COUNT_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_COUNT_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 #include #include namespace boost { namespace mpl { template< typename Tag > struct count_impl { template< typename Sequence, typename T > struct apply #if BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x561)) { typedef typename count_if< Sequence,same_as >::type type; BOOST_STATIC_CONSTANT(int, value = BOOST_MPL_AUX_VALUE_WKND(type)::value); #else : count_if< Sequence,same_as > { #endif }; }; BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,count_impl) }} #endif // BOOST_MPL_AUX_COUNT_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/empty_impl.hpp000066400000000000000000000020431265471724600234430ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_EMPTY_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_EMPTY_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 'empty_impl' or the primary 'empty' template template< typename Tag > struct empty_impl { template< typename Sequence > struct apply : is_same< typename begin::type , typename end::type > { }; }; BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1,empty_impl) }} #endif // BOOST_MPL_AUX_EMPTY_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/erase_impl.hpp000066400000000000000000000033471265471724600234140ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_ERASE_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_ERASE_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 #include #include namespace boost { namespace mpl { // default implementation; conrete sequences might override it by // specializing either the 'erase_impl' or the primary 'erase' template template< typename Tag > struct erase_impl { template< typename Sequence , typename First , typename Last > struct apply { typedef typename if_na< Last,typename next::type >::type last_; // 1st half: [begin, first) typedef iterator_range< typename begin::type , First > first_half_; // 2nd half: [last, end) ... that is, [last + 1, end) typedef iterator_range< last_ , typename end::type > second_half_; typedef typename reverse_fold< second_half_ , typename clear::type , push_front<_,_> >::type half_sequence_; typedef typename reverse_fold< first_half_ , half_sequence_ , push_front<_,_> >::type type; }; }; }} #endif // BOOST_MPL_AUX_ERASE_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/erase_key_impl.hpp000066400000000000000000000013551265471724600242610ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_ERASE_KEY_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_ERASE_KEY_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 namespace boost { namespace mpl { template< typename Tag > struct erase_key_impl { template< typename Sequence, typename Key > struct apply; }; BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, erase_key_impl) }} #endif // BOOST_MPL_AUX_ERASE_KEY_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/filter_iter.hpp000066400000000000000000000057111265471724600236010ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_FILTER_ITER_HPP_INCLUDED #define BOOST_MPL_AUX_FILTER_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 #include #include namespace boost { namespace mpl { namespace aux { template< typename Iterator , typename LastIterator , typename Predicate > struct filter_iter; template< typename Iterator , typename LastIterator , typename Predicate > struct next_filter_iter { typedef typename find_if< iterator_range , Predicate >::type base_iter_; typedef filter_iter type; }; #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename Iterator , typename LastIterator , typename Predicate > struct filter_iter { typedef Iterator base; typedef forward_iterator_tag category; typedef typename aux::next_filter_iter< typename mpl::next::type , LastIterator , Predicate >::type next; typedef typename deref::type type; }; template< typename LastIterator , typename Predicate > struct filter_iter< LastIterator,LastIterator,Predicate > { typedef LastIterator base; typedef forward_iterator_tag category; }; #else template< bool > struct filter_iter_impl { template< typename Iterator , typename LastIterator , typename Predicate > struct result_ { typedef Iterator base; typedef forward_iterator_tag category; typedef typename next_filter_iter< typename mpl::next::type , LastIterator , Predicate >::type next; typedef typename deref::type type; }; }; template<> struct filter_iter_impl< true > { template< typename Iterator , typename LastIterator , typename Predicate > struct result_ { typedef Iterator base; typedef forward_iterator_tag category; }; }; template< typename Iterator , typename LastIterator , typename Predicate > struct filter_iter : filter_iter_impl< ::boost::is_same::value >::template result_< Iterator,LastIterator,Predicate > { }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION } // namespace aux BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, aux::filter_iter) }} #endif // BOOST_MPL_AUX_FILTER_ITER_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/find_if_pred.hpp000066400000000000000000000013641265471724600237010ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED #define BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2000-2004 // Copyright Eric Friedman 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. #include #include namespace boost { namespace mpl { namespace aux { template< typename Predicate > struct find_if_pred { template< typename Iterator > struct apply { typedef not_< aux::iter_apply1 > type; }; }; }}} #endif // BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/fold_impl.hpp000066400000000000000000000023671265471724600232420ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/fold_impl_body.hpp000066400000000000000000000213521265471724600242520ustar00rootroot00000000000000 // 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_STEP(unused, i, unused2) \ typedef typename apply2< \ ForwardOp \ , BOOST_PP_CAT(state,i) \ , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,i)) \ >::type BOOST_PP_CAT(state,BOOST_PP_INC(i)); \ typedef typename mpl::next::type \ BOOST_PP_CAT(iter,BOOST_PP_INC(i)); \ /**/ # 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(int, N) , typename First , typename Last , typename State , typename ForwardOp > struct AUX778076_FOLD_IMPL_NAME; #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) # if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) # 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(int, N) , typename First , typename Last , typename State , typename ForwardOp > struct AUX778076_FOLD_IMPL_NAME { typedef AUX778076_FOLD_IMPL_NAME< BOOST_MPL_LIMIT_UNROLLING , First , Last , State , ForwardOp > chunk_; typedef AUX778076_FOLD_IMPL_NAME< ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING ) , typename chunk_::iterator , Last , typename chunk_::state , ForwardOp > res_; typedef typename res_::state state; typedef typename res_::iterator iterator; }; // fallback implementation for sequences of unknown size template< typename First , typename Last , typename State , typename ForwardOp > struct AUX778076_FOLD_IMPL_NAME<-1,First,Last,State,ForwardOp> : AUX778076_FOLD_IMPL_NAME< -1 , typename mpl::next::type , Last , typename apply2::type , ForwardOp > { }; template< typename Last , typename State , typename ForwardOp > struct AUX778076_FOLD_IMPL_NAME<-1,Last,Last,State,ForwardOp> { typedef State state; typedef Last iterator; }; # else // BOOST_WORKAROUND(__BORLANDC__, < 0x600) // Borland have some serious problems with the unrolled version, so // we always use a basic implementation template< BOOST_MPL_AUX_NTTP_DECL(int, N) , typename First , typename Last , typename State , typename ForwardOp > struct AUX778076_FOLD_IMPL_NAME { typedef AUX778076_FOLD_IMPL_NAME< -1 , typename mpl::next::type , Last , typename apply2::type , ForwardOp > res_; typedef typename res_::state state; typedef typename res_::iterator iterator; typedef state type; }; template< BOOST_MPL_AUX_NTTP_DECL(int, N) , typename Last , typename State , typename ForwardOp > struct AUX778076_FOLD_IMPL_NAME { typedef State state; typedef Last iterator; typedef state type; }; # endif // BOOST_WORKAROUND(__BORLANDC__, < 0x600) #else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION template< BOOST_MPL_AUX_NTTP_DECL(int, 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(int, N) > struct AUX778076_FOLD_CHUNK_NAME { template< typename First , typename Last , typename State , typename ForwardOp > struct result_ { typedef AUX778076_FOLD_IMPL_NAME< BOOST_MPL_LIMIT_UNROLLING , First , Last , State , ForwardOp > chunk_; typedef AUX778076_FOLD_IMPL_NAME< ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING ) , typename chunk_::iterator , Last , typename chunk_::state , ForwardOp > res_; typedef typename res_::state state; typedef typename res_::iterator iterator; }; }; // fallback implementation for sequences of unknown size template< typename First , typename Last , typename State , 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 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 ForwardOp > struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step) { // can't inherit here - it breaks MSVC 7.0 typedef AUX778076_FOLD_CHUNK_NAME<-1>::template result_< typename mpl::next::type , Last , typename apply2::type , ForwardOp > chunk_; typedef typename chunk_::state state; typedef typename chunk_::iterator iterator; }; template< BOOST_MPL_AUX_NTTP_DECL(int, N) , typename First , typename Last , typename State , typename ForwardOp > struct AUX778076_FOLD_IMPL_NAME : AUX778076_FOLD_CHUNK_NAME ::template result_ { }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION }}} # undef AUX778076_FOLD_IMPL_NAME # undef AUX778076_FOLD_CHUNK_NAME # undef AUX778076_ITER_FOLD_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) template< typename First , typename Last , typename State , typename ForwardOp > struct AUX778076_FOLD_IMPL_NAME { typedef First iter0; typedef State state0; BOOST_MPL_PP_REPEAT(n_, AUX778076_ITER_FOLD_STEP, unused) typedef BOOST_PP_CAT(state,n_) state; typedef BOOST_PP_CAT(iter,n_) iterator; }; #else template<> struct AUX778076_FOLD_CHUNK_NAME { template< typename First , typename Last , typename State , typename ForwardOp > struct result_ { typedef First iter0; typedef State state0; BOOST_MPL_PP_REPEAT(n_, AUX778076_ITER_FOLD_STEP, unused) typedef BOOST_PP_CAT(state,n_) 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 KWStyle-master/Utilities/boost/mpl/aux_/fold_op.hpp000066400000000000000000000014661265471724600227160ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_FOLD_OP_HPP_INCLUDED #define BOOST_MPL_AUX_FOLD_OP_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 namespace boost { namespace mpl { namespace aux { // hand-written version is more efficient than bind/lambda expression template< typename Op > struct fold_op { template< typename T1, typename T2 > struct apply { typedef typename apply2< Op , T1 , typename T2::type >::type type; }; }; }}} #endif // BOOST_MPL_AUX_FOLD_OP_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/fold_pred.hpp000066400000000000000000000013741265471724600232300ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_FOLD_PRED_HPP_INCLUDED #define BOOST_MPL_AUX_FOLD_PRED_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 namespace boost { namespace mpl { namespace aux { template< typename Last > struct fold_pred { template< typename State , typename Iterator > struct apply : not_same_as::template apply { }; }; }}} #endif // BOOST_MPL_AUX_FOLD_PRED_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/front_impl.hpp000066400000000000000000000020101265471724600234270ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/full_lambda.hpp000066400000000000000000000211341265471724600235300ustar00rootroot00000000000000 #if !defined(BOOST_PP_IS_ITERATING) ///// header body #ifndef BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED #define BOOST_MPL_AUX_FULL_LAMBDA_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 # include # include # include # include # if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) # include # endif #endif #include #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER full_lambda.hpp # include #else # include # include # include # include # include # include # include # include # include # include namespace boost { namespace mpl { // local macros, #undef-ined at the end of the header # define AUX778076_LAMBDA_PARAMS(i_, param) \ BOOST_MPL_PP_PARAMS(i_, param) \ /**/ # define AUX778076_BIND_PARAMS(param) \ BOOST_MPL_PP_PARAMS( \ BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ , param \ ) \ /**/ # define AUX778076_BIND_N_PARAMS(i_, param) \ BOOST_PP_COMMA_IF(i_) \ BOOST_MPL_PP_PARAMS(i_, param) \ /**/ # define AUX778076_ARITY_PARAM(param) \ BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) \ /**/ #define n_ BOOST_MPL_LIMIT_METAFUNCTION_ARITY namespace aux { template< BOOST_MPL_PP_DEFAULT_PARAMS(n_,bool C,false) > struct lambda_or : true_ { }; template<> struct lambda_or< BOOST_MPL_PP_ENUM(n_,false) > : false_ { }; } // namespace aux #undef n_ template< typename T , typename Tag AUX778076_ARITY_PARAM(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 AUX778076_ARITY_PARAM(int_<-1>) > { typedef true_ is_le; typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 typedef mpl::protect type; }; #define BOOST_PP_ITERATION_PARAMS_1 \ (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) #include BOOST_PP_ITERATE() /// special case for 'protect' template< typename T, typename Tag > struct lambda< mpl::protect,Tag AUX778076_ARITY_PARAM(int_<1>) > { typedef false_ is_le; typedef mpl::protect result_; typedef result_ type; }; /// specializations for the main 'bind' form template< typename F, AUX778076_BIND_PARAMS(typename T) , typename Tag > struct lambda< bind , Tag AUX778076_ARITY_PARAM(int_) > { typedef false_ is_le; typedef bind result_; typedef result_ type; }; #if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) template< typename F , typename Tag1 , typename Tag2 , typename Arity > struct lambda< lambda , 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_::type,Tag2 > l3; typedef aux::le_result3 le_result_; typedef typename le_result_::result_ result_; typedef typename le_result_::type type; }; #elif !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS) /// 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; }; #endif # undef AUX778076_ARITY_PARAM # undef AUX778076_BIND_N_PARAMS # undef AUX778076_BIND_PARAMS # undef AUX778076_LAMBDA_PARAMS #if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) BOOST_MPL_AUX_NA_SPEC(2, lambda) #else BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda) #endif }} #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_AUX_FULL_LAMBDA_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) #if i_ > 0 namespace aux { # define AUX778076_RESULT(unused, i_, T) \ BOOST_PP_COMMA_IF(i_) \ typename BOOST_PP_CAT(T, BOOST_PP_INC(i_))::result_ \ /**/ # define AUX778076_TYPE(unused, i_, T) \ BOOST_PP_COMMA_IF(i_) \ typename BOOST_PP_CAT(T, BOOST_PP_INC(i_))::type \ /**/ template< typename IsLE, typename Tag , template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F , AUX778076_LAMBDA_PARAMS(i_, typename L) > struct BOOST_PP_CAT(le_result,i_) { typedef F< BOOST_MPL_PP_REPEAT(i_, AUX778076_TYPE, L) > result_; typedef result_ type; }; template< typename Tag , template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F , AUX778076_LAMBDA_PARAMS(i_, typename L) > struct BOOST_PP_CAT(le_result,i_)< true_,Tag,F,AUX778076_LAMBDA_PARAMS(i_, L) > { typedef BOOST_PP_CAT(bind,i_)< BOOST_PP_CAT(quote,i_) , BOOST_MPL_PP_REPEAT(i_, AUX778076_RESULT, L) > result_; typedef mpl::protect type; }; # undef AUX778076_TYPE # undef AUX778076_RESULT } // namespace aux # define AUX778076_LAMBDA_TYPEDEF(unused, i_, T) \ typedef lambda< BOOST_PP_CAT(T, BOOST_PP_INC(i_)), Tag > \ BOOST_PP_CAT(l,BOOST_PP_INC(i_)); \ /**/ # define AUX778076_IS_LE_TYPEDEF(unused, i_, unused2) \ typedef typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::is_le \ BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)); \ /**/ # define AUX778076_IS_LAMBDA_EXPR(unused, i_, unused2) \ BOOST_PP_COMMA_IF(i_) \ BOOST_PP_CAT(is_le,BOOST_PP_INC(i_))::value \ /**/ template< template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F , AUX778076_LAMBDA_PARAMS(i_, typename T) , typename Tag > struct lambda< F , Tag AUX778076_ARITY_PARAM(int_) > { BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_TYPEDEF, T) BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LE_TYPEDEF, unused) typedef typename aux::lambda_or< BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LAMBDA_EXPR, unused) >::type is_le; typedef aux::BOOST_PP_CAT(le_result,i_)< is_le, Tag, F, AUX778076_LAMBDA_PARAMS(i_, l) > le_result_; typedef typename le_result_::result_ result_; typedef typename le_result_::type type; }; # undef AUX778076_IS_LAMBDA_EXPR # undef AUX778076_IS_LE_TYPEDEF # undef AUX778076_LAMBDA_TYPEDEF #endif // i_ > 0 template< typename F AUX778076_BIND_N_PARAMS(i_, typename T) , typename Tag > struct lambda< BOOST_PP_CAT(bind,i_) , Tag AUX778076_ARITY_PARAM(int_) > { typedef false_ is_le; typedef BOOST_PP_CAT(bind,i_)< F AUX778076_BIND_N_PARAMS(i_, T) > result_; typedef result_ type; }; #undef i_ #endif // BOOST_PP_ITERATION_DEPTH() #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/aux_/has_apply.hpp000066400000000000000000000013771265471724600232550ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED #define BOOST_MPL_AUX_HAS_APPLY_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 namespace boost { namespace mpl { namespace aux { #if !defined(BOOST_MPL_CFG_NO_HAS_APPLY) BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_apply, apply, false) #else template< typename T, typename fallback_ = false_ > struct has_apply : fallback_ { }; #endif }}} #endif // BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/has_begin.hpp000066400000000000000000000011041265471724600232000ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED #define BOOST_MPL_AUX_HAS_BEGIN_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 namespace boost { namespace mpl { namespace aux { BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_begin, begin, true) }}} #endif // BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/has_key_impl.hpp000066400000000000000000000015301265471724600237300ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_HAS_KEY_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_HAS_KEY_IMPL_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2002-2004 // 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) // // See http://www.boost.org/libs/mpl for documentation. // $Id$ // $Date$ // $Revision$ #include #include namespace boost { namespace mpl { // no default implementation; the definition is needed to make MSVC happy template< typename Tag > struct has_key_impl { template< typename AssociativeSequence, typename Key > struct apply; }; BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,has_key_impl) }} #endif // BOOST_MPL_AUX_HAS_KEY_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/has_rebind.hpp000066400000000000000000000050031265471724600233610ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED #define BOOST_MPL_AUX_HAS_REBIND_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 BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION) # include #elif BOOST_WORKAROUND(BOOST_MSVC, < 1300) # include # include # include # include #elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) # include # include # include # include # include #else # include # include # include #endif namespace boost { namespace mpl { namespace aux { #if BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION) BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_rebind, rebind, false) #elif BOOST_WORKAROUND(BOOST_MSVC, < 1300) BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_rebind_impl, rebind, false) template< typename T > struct has_rebind : if_< msvc_is_class , has_rebind_impl , bool_ >::type { }; #else // the rest template< typename T > struct has_rebind_tag {}; no_tag operator|(has_rebind_tag, void const volatile*); # if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) template< typename T > struct has_rebind { static has_rebind_tag* get(); BOOST_STATIC_CONSTANT(bool, value = sizeof(has_rebind_tag() | get()) == sizeof(yes_tag) ); }; # else // __BORLANDC__ template< typename T > struct has_rebind_impl { static T* get(); BOOST_STATIC_CONSTANT(bool, value = sizeof(has_rebind_tag() | get()) == sizeof(yes_tag) ); }; template< typename T > struct has_rebind : if_< is_class , has_rebind_impl , bool_ >::type { }; # endif // __BORLANDC__ #endif }}} #endif // BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/has_size.hpp000066400000000000000000000010511265471724600230670ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED #define BOOST_MPL_AUX_HAS_SIZE_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 namespace boost { namespace mpl { namespace aux { BOOST_MPL_HAS_XXX_TRAIT_DEF(size) }}} #endif // BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/has_tag.hpp000066400000000000000000000010731265471724600226740ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED #define BOOST_MPL_AUX_HAS_TAG_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 namespace boost { namespace mpl { namespace aux { BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_tag, tag, false) }}} #endif // BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/has_type.hpp000066400000000000000000000010771265471724600231060ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED #define BOOST_MPL_AUX_HAS_TYPE_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 namespace boost { namespace mpl { namespace aux { BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_type, type, true) }}} #endif // BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/include_preprocessed.hpp000066400000000000000000000024651265471724600254750ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/mpl/aux_/insert_impl.hpp000066400000000000000000000032621265471724600236150ustar00rootroot00000000000000 #ifndef BOOST_MPL_INSERT_IMPL_HPP_INCLUDED #define BOOST_MPL_INSERT_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 #include #include #include namespace boost { namespace mpl { // default implementation; conrete sequences might override it by // specializing either the 'insert_impl' or the primary 'insert' template template< typename Tag > struct insert_impl { template< typename Sequence , typename Pos , typename T > struct apply { typedef iterator_range< typename begin::type , Pos > first_half_; typedef iterator_range< Pos , typename end::type > second_half_; typedef typename reverse_fold< second_half_ , typename clear::type , push_front<_,_> >::type half_sequence_; typedef typename reverse_fold< first_half_ , typename push_front::type , push_front<_,_> >::type type; }; }; BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(3,insert_impl) }} #endif // BOOST_MPL_INSERT_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/insert_range_impl.hpp000066400000000000000000000041271265471724600247720ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_INSERT_RANGE_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 #include #include #include #include #include #include namespace boost { namespace mpl { // default implementation; conrete sequences might override it by // specializing either the 'insert_range_impl' or the primary // 'insert_range' template template< typename Tag > struct insert_range_impl { template< typename Sequence , typename Pos , typename Range > struct apply #if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) : reverse_copy< joint_view< iterator_range::type,Pos> , joint_view< Range , iterator_range::type> > > , front_inserter< typename clear::type > > { #else { typedef typename reverse_copy< joint_view< iterator_range::type,Pos> , joint_view< Range , iterator_range::type> > > , front_inserter< typename clear::type > >::type type; #endif }; }; BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(3,insert_range_impl) }} #endif // BOOST_MPL_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/inserter_algorithm.hpp000066400000000000000000000113201265471724600251630ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/integral_wrapper.hpp000066400000000000000000000066771265471724600246520ustar00rootroot00000000000000 // 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(__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 KWStyle-master/Utilities/boost/mpl/aux_/is_msvc_eti_arg.hpp000066400000000000000000000024461265471724600244300ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED #define BOOST_MPL_AUX_IS_MSVC_ETI_ARG_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 namespace boost { namespace mpl { namespace aux { #if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) #if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) template< typename T > struct is_msvc_eti_arg { BOOST_STATIC_CONSTANT(bool, value = false); }; #else // BOOST_MPL_CFG_MSVC_60_ETI_BUG struct eti_int_convertible { eti_int_convertible(int); }; template< typename T > struct is_msvc_eti_arg { static no_tag test(...); static yes_tag test(eti_int_convertible); static T& get(); BOOST_STATIC_CONSTANT(bool, value = sizeof(test(get())) == sizeof(yes_tag) ); }; #endif template<> struct is_msvc_eti_arg { BOOST_STATIC_CONSTANT(bool, value = true); }; #endif // BOOST_MPL_CFG_MSVC_ETI_BUG }}} #endif // BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/iter_apply.hpp000066400000000000000000000016061265471724600234400ustar00rootroot00000000000000 #ifndef BOOST_MPL_ITER_APPLY_HPP_INCLUDED #define BOOST_MPL_ITER_APPLY_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 namespace boost { namespace mpl { namespace aux { template< typename F , typename Iterator > struct iter_apply1 : apply1< F,typename deref::type > { }; template< typename F , typename Iterator1 , typename Iterator2 > struct iter_apply2 : apply2< F , typename deref::type , typename deref::type > { }; }}} #endif // BOOST_MPL_ITER_APPLY_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/iter_fold_if_impl.hpp000066400000000000000000000133301265471724600247330ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_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$ #if !defined(BOOST_MPL_PREPROCESSING_MODE) # include # include # include # include # include #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER iter_fold_if_impl.hpp # include #else # include # include # include # include # include # include 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::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; }; }; // agurt, 25/jun/02: MSVC 6.5 workaround, had to get rid of inheritance // here and in 'iter_fold_if_backward_step', because sometimes it interfered // with the "early template instantiation bug" in _really_ ugly ways template< typename Iterator , typename State , typename ForwardOp , typename Predicate > struct iter_fold_if_forward_step { typedef typename apply2::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::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; }; // local macros, #undef-ined at the end of the header # define AUX_ITER_FOLD_FORWARD_STEP(unused, i, unused2) \ typedef iter_fold_if_forward_step< \ typename BOOST_PP_CAT(forward_step,i)::iterator \ , typename BOOST_PP_CAT(forward_step,i)::state \ , ForwardOp \ , ForwardPredicate \ > BOOST_PP_CAT(forward_step, BOOST_PP_INC(i)); \ /**/ # define AUX_ITER_FOLD_BACKWARD_STEP_FUNC(i) \ typedef iter_fold_if_backward_step< \ typename BOOST_PP_CAT(forward_step,BOOST_PP_DEC(i))::iterator \ , typename BOOST_PP_CAT(backward_step,i)::state \ , BackwardOp \ , BackwardPredicate \ > BOOST_PP_CAT(backward_step,BOOST_PP_DEC(i)); \ /**/ # define AUX_ITER_FOLD_BACKWARD_STEP(unused, i, unused2) \ AUX_ITER_FOLD_BACKWARD_STEP_FUNC( \ BOOST_PP_SUB_D(1,BOOST_MPL_LIMIT_UNROLLING,i) \ ) \ /**/ # define AUX_LAST_FORWARD_STEP \ BOOST_PP_CAT(forward_step, BOOST_MPL_LIMIT_UNROLLING) \ /**/ # define AUX_LAST_BACKWARD_STEP \ BOOST_PP_CAT(backward_step, BOOST_MPL_LIMIT_UNROLLING) \ /**/ 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 forward_step0; BOOST_PP_REPEAT( BOOST_MPL_LIMIT_UNROLLING , AUX_ITER_FOLD_FORWARD_STEP , unused ) typedef typename if_< typename AUX_LAST_FORWARD_STEP::not_last , iter_fold_if_impl< typename AUX_LAST_FORWARD_STEP::iterator , typename AUX_LAST_FORWARD_STEP::state , ForwardOp , ForwardPredicate , BackwardOp , BackwardPredicate > , iter_fold_if_null_step< typename AUX_LAST_FORWARD_STEP::iterator , typename AUX_LAST_FORWARD_STEP::state > >::type AUX_LAST_BACKWARD_STEP; BOOST_PP_REPEAT( BOOST_MPL_LIMIT_UNROLLING , AUX_ITER_FOLD_BACKWARD_STEP , unused ) public: typedef typename backward_step0::state state; typedef typename AUX_LAST_BACKWARD_STEP::iterator iterator; }; # undef AUX_LAST_BACKWARD_STEP # undef AUX_LAST_FORWARD_STEP # undef AUX_ITER_FOLD_BACKWARD_STEP # undef AUX_ITER_FOLD_BACKWARD_STEP_FUNC # undef AUX_ITER_FOLD_FORWARD_STEP }}} #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/iter_fold_impl.hpp000066400000000000000000000023301265471724600242530ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_ITER_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 # 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 iter_fold_impl.hpp # include #else # define AUX778076_FOLD_IMPL_OP(iter) iter # define AUX778076_FOLD_IMPL_NAME_PREFIX iter_fold # include #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/iter_push_front.hpp000066400000000000000000000014031265471724600244750ustar00rootroot00000000000000 #ifndef BOOST_MPL_ITER_PUSH_FRONT_HPP_INCLUDED #define BOOST_MPL_ITER_PUSH_FRONT_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 namespace boost { namespace mpl { namespace aux { template< typename Sequence , typename Iterator > struct iter_push_front { typedef typename push_front< Sequence , typename deref::type >::type type; }; }}} #endif // BOOST_MPL_ITER_PUSH_FRONT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/joint_iter.hpp000066400000000000000000000054751265471724600234460ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/lambda_arity_param.hpp000066400000000000000000000012701265471724600250750ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/lambda_no_ctps.hpp000066400000000000000000000115151265471724600242350ustar00rootroot00000000000000 #if !defined(BOOST_PP_IS_ITERATING) ///// header body #ifndef BOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED #define BOOST_MPL_AUX_LAMBDA_NO_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$ #if !defined(BOOST_MPL_PREPROCESSING_MODE) # include # include # include # include # include # include # include # include # include # include # include #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER lambda_no_ctps.hpp # include #else # include # include # include # include # include # include # include # include # include # include # include namespace boost { namespace mpl { # define AUX778076_LAMBDA_PARAMS(i_, param) \ BOOST_MPL_PP_PARAMS(i_, param) \ /**/ namespace aux { #define n_ BOOST_MPL_LIMIT_METAFUNCTION_ARITY template< BOOST_MPL_PP_DEFAULT_PARAMS(n_,bool C,false) > struct lambda_or : true_ { }; template<> struct lambda_or< BOOST_MPL_PP_ENUM(n_,false) > : false_ { }; #undef n_ template< typename Arity > struct lambda_impl { template< typename T, typename Tag, typename Protect > struct result_ { typedef T type; typedef is_placeholder is_le; }; }; #define BOOST_PP_ITERATION_PARAMS_1 \ (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) #include BOOST_PP_ITERATE() } // 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 { }; # undef AUX778076_LAMBDA_PARAMS }} #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED ///// iteration, depth == 1 #else #define i_ BOOST_PP_FRAME_ITERATION(1) # define AUX778076_LAMBDA_TYPEDEF(unused, i_, F) \ typedef lambda< \ typename F::BOOST_PP_CAT(arg,BOOST_PP_INC(i_)) \ , Tag \ , false_ \ > BOOST_PP_CAT(l,BOOST_PP_INC(i_)); \ /**/ # define AUX778076_IS_LE_TYPEDEF(unused, i_, unused2) \ typedef typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::is_le \ BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)); \ /**/ # define AUX778076_IS_LAMBDA_EXPR(unused, i_, unused2) \ BOOST_PP_COMMA_IF(i_) \ BOOST_MPL_AUX_MSVC_VALUE_WKND(BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)))::value \ /**/ # define AUX778076_LAMBDA_RESULT(unused, i_, unused2) \ , typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::type \ /**/ template<> struct lambda_impl< int_ > { template< typename F, typename Tag, typename Protect > struct result_ { BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_TYPEDEF, F) BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LE_TYPEDEF, unused) typedef aux::lambda_or< BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LAMBDA_EXPR, unused) > is_le; typedef BOOST_PP_CAT(bind,i_)< typename F::rebind BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_RESULT, unused) > bind_; typedef typename if_< is_le , if_< Protect, mpl::protect, bind_ > , identity >::type type_; typedef typename type_::type type; }; }; # undef AUX778076_LAMBDA_RESULT # undef AUX778076_IS_LAMBDA_EXPR # undef AUX778076_IS_LE_TYPEDEF # undef AUX778076_LAMBDA_TYPEDEF #undef i_ #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/aux_/lambda_spec.hpp000066400000000000000000000022761265471724600235260ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED #define BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2001-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 #if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) # define BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(i, name) \ template< \ BOOST_MPL_PP_PARAMS(i, typename T) \ , typename Tag \ > \ struct lambda< \ name< BOOST_MPL_PP_PARAMS(i, T) > \ , Tag \ BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_) \ > \ { \ typedef false_ is_le; \ typedef name< BOOST_MPL_PP_PARAMS(i, T) > result_; \ typedef result_ type; \ }; \ /**/ #else # define BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(i, name) /**/ #endif #endif // BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/lambda_support.hpp000066400000000000000000000123601265471724600243030ustar00rootroot00000000000000 #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(__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(__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 // __BORLANDC__ #endif // __EDG_VERSION__ #endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT #endif // BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/largest_int.hpp000066400000000000000000000036731265471724600236110ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED #define BOOST_MPL_AUX_LARGEST_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 #include #include #include namespace boost { namespace mpl { namespace aux { template< typename T > struct integral_rank; template<> struct integral_rank : int_<1> {}; template<> struct integral_rank : int_<2> {}; template<> struct integral_rank : int_<3> {}; template<> struct integral_rank : int_<4> {}; #if !defined(BOOST_NO_INTRINSIC_WCHAR_T) template<> struct integral_rank : int_<5> {}; #endif template<> struct integral_rank : int_<6> {}; template<> struct integral_rank : int_<7> {}; template<> struct integral_rank : int_<8> {}; template<> struct integral_rank : int_<9> {}; template<> struct integral_rank : int_<10> {}; template<> struct integral_rank : int_<11> {}; #if defined(BOOST_HAS_LONG_LONG) template<> struct integral_rank : int_<12> {}; template<> struct integral_rank: int_<13> {}; #endif template< typename T1, typename T2 > struct largest_int #if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) : if_c< ( integral_rank::value >= integral_rank::value ) , T1 , T2 > { #else { enum { rank1 = integral_rank::value }; enum { rank2 = integral_rank::value }; typedef typename if_c< (rank1 >= rank2),T1,T2 >::type type; #endif }; }}} #endif // BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/logical_op.hpp000066400000000000000000000106671265471724600234070ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.0. // (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 KWStyle-master/Utilities/boost/mpl/aux_/msvc_dtw.hpp000066400000000000000000000033161265471724600231160ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.0. // (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 // local macros, #undef-ined at the end of the header #define AUX778076_DTW_PARAMS(param) \ BOOST_MPL_PP_PARAMS(AUX778076_MSVC_DTW_ARITY, param) \ /**/ #define AUX778076_DTW_ORIGINAL_NAME \ AUX778076_MSVC_DTW_ORIGINAL_NAME \ /**/ // warning: not a well-formed C++ // workaround for MSVC 6.5's "dependent template typedef bug" template< typename F> struct AUX778076_MSVC_DTW_NAME { template< bool > struct f_ : F {}; template<> struct f_ { #if AUX778076_MSVC_DTW_ARITY > 0 template< AUX778076_DTW_PARAMS(typename P) > struct AUX778076_DTW_ORIGINAL_NAME { typedef int type; }; }; template< AUX778076_DTW_PARAMS(typename T) > struct result_ : f_< aux::msvc_never_true::value > ::template AUX778076_DTW_ORIGINAL_NAME< AUX778076_DTW_PARAMS(T) > { }; #else template< typename P = int > struct AUX778076_DTW_ORIGINAL_NAME { typedef int type; }; }; template< typename T = int > struct result_ : f_< aux::msvc_never_true::value > ::template AUX778076_DTW_ORIGINAL_NAME<> { }; #endif }; #undef AUX778076_DTW_ORIGINAL_NAME #undef AUX778076_DTW_PARAMS #undef AUX778076_MSVC_DTW_NAME #undef AUX778076_MSVC_DTW_ORIGINAL_NAME #undef AUX778076_MSVC_DTW_ARITY KWStyle-master/Utilities/boost/mpl/aux_/msvc_eti_base.hpp000066400000000000000000000032041265471724600240670ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED #define BOOST_MPL_AUX_MSVC_ETI_BASE_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 { namespace aux { #if defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) template< bool > struct msvc_eti_base_impl { template< typename T > struct result_ : T { typedef T type; }; }; template<> struct msvc_eti_base_impl { template< typename T > struct result_ { typedef result_ type; typedef result_ first; typedef result_ second; typedef result_ tag; enum { value = 0 }; }; }; template< typename T > struct msvc_eti_base : msvc_eti_base_impl< is_msvc_eti_arg::value > ::template result_ { }; #else // !BOOST_MPL_CFG_MSVC_70_ETI_BUG template< typename T > struct msvc_eti_base : T { #if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) msvc_eti_base(); #endif typedef T type; }; #endif template<> struct msvc_eti_base { typedef msvc_eti_base type; typedef msvc_eti_base first; typedef msvc_eti_base second; typedef msvc_eti_base tag; enum { value = 0 }; }; }}} #endif // BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/msvc_is_class.hpp000066400000000000000000000027151265471724600241220ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED #define BOOST_MPL_AUX_MSVC_IS_CLASS_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 #include namespace boost { namespace mpl { namespace aux { template< typename T > struct is_class_helper { typedef int (T::* type)(); }; // MSVC 6.x-specific lightweight 'is_class' implementation; // Distinguishing feature: does not instantiate the type being tested. template< typename T > struct msvc_is_class_impl { template< typename U> static yes_tag test(type_wrapper*, /*typename*/ is_class_helper::type = 0); static no_tag test(void const volatile*, ...); enum { value = sizeof(test((type_wrapper*)0)) == sizeof(yes_tag) }; typedef bool_ type; }; // agurt, 17/sep/04: have to check for 'is_reference' upfront to avoid ICEs in // complex metaprograms template< typename T > struct msvc_is_class : if_< is_reference , false_ , msvc_is_class_impl >::type { }; }}} #endif // BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/msvc_never_true.hpp000066400000000000000000000013471265471724600245000ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED #define BOOST_MPL_AUX_MSVC_NEVER_TRUE_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) namespace boost { namespace mpl { namespace aux { template< typename T > struct msvc_never_true { enum { value = false }; }; }}} #endif // BOOST_MSVC #endif // BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/msvc_type.hpp000066400000000000000000000022671265471724600233050ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED #define BOOST_MPL_AUX_MSVC_TYPE_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 namespace boost { namespace mpl { namespace aux { #if defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) template< bool > struct msvc_type_impl { template< typename T > struct result_ { typedef typename T::type type; }; }; template<> struct msvc_type_impl { template< typename T > struct result_ { typedef result_ type; }; }; template< typename T > struct msvc_type : msvc_type_impl< is_msvc_eti_arg::value > ::template result_ { }; #else // BOOST_MPL_CFG_MSVC_70_ETI_BUG template< typename T > struct msvc_type { typedef typename T::type type; }; template<> struct msvc_type { typedef int type; }; #endif }}} #endif // BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/na.hpp000066400000000000000000000031551265471724600216670ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/na_assert.hpp000066400000000000000000000016761265471724600232560ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED #define BOOST_MPL_AUX_NA_ASSERT_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 !BOOST_WORKAROUND(_MSC_FULL_VER, <= 140050601) \ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 243) # include # define BOOST_MPL_AUX_ASSERT_NOT_NA(x) \ BOOST_MPL_ASSERT_NOT((boost::mpl::is_na)) \ /**/ #else # include # define BOOST_MPL_AUX_ASSERT_NOT_NA(x) \ BOOST_STATIC_ASSERT(!boost::mpl::is_na::value) \ /**/ #endif #endif // BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/na_fwd.hpp000066400000000000000000000012411265471724600225210ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/na_spec.hpp000066400000000000000000000105411265471724600226760ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/nested_type_wknd.hpp000066400000000000000000000023601265471724600246340ustar00rootroot00000000000000 #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(__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 KWStyle-master/Utilities/boost/mpl/aux_/nttp_decl.hpp000066400000000000000000000015141265471724600232420ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/numeric_cast_utils.hpp000066400000000000000000000033431265471724600251640ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED #define BOOST_MPL_AUX_NUMERIC_CAST_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 #include namespace boost { namespace mpl { namespace aux { template< typename F , typename Tag1 , typename Tag2 > struct cast1st_impl { template< typename N1, typename N2 > struct apply #if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) : apply_wrap2< F , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST,N1 >::type , N2 > { #else { typedef typename apply_wrap2< F , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST,N1 >::type , N2 >::type type; #endif }; }; template< typename F , typename Tag1 , typename Tag2 > struct cast2nd_impl { template< typename N1, typename N2 > struct apply #if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) : apply_wrap2< F , N1 , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST,N2 >::type > { #else { typedef typename apply_wrap2< F , N1 , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST,N2 >::type >::type type; #endif }; }; }}} #endif // BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/numeric_op.hpp000066400000000000000000000204511265471724600234270ustar00rootroot00000000000000 #if !defined(BOOST_PP_IS_ITERATING) ///// header body // 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_MPL_PREPROCESSING_MODE) # include # include # include # include # include # include # include # include # include # include # include # include #endif #include #if defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ || defined(BOOST_MPL_PREPROCESSING_MODE) # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include #if !defined(AUX778076_OP_ARITY) # define AUX778076_OP_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY #endif #if !defined(AUX778076_OP_IMPL_NAME) # define AUX778076_OP_IMPL_NAME BOOST_PP_CAT(AUX778076_OP_PREFIX,_impl) #endif #if !defined(AUX778076_OP_TAG_NAME) # define AUX778076_OP_TAG_NAME BOOST_PP_CAT(AUX778076_OP_PREFIX,_tag) #endif namespace boost { namespace mpl { template< typename Tag1 , typename Tag2 #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) , 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 AUX778076_OP_IMPL_NAME : if_c< ( tag1_ > tag2_ ) #else > struct AUX778076_OP_IMPL_NAME : if_c< ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) ) #endif , aux::cast2nd_impl< AUX778076_OP_IMPL_NAME,Tag1,Tag2 > , aux::cast1st_impl< AUX778076_OP_IMPL_NAME,Tag1,Tag2 > >::type { }; /// for Digital Mars C++/compilers with no CTPS/TTP support template<> struct AUX778076_OP_IMPL_NAME { template< typename U1, typename U2 > struct apply { typedef apply type; BOOST_STATIC_CONSTANT(int, value = 0); }; }; #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename Tag > struct AUX778076_OP_IMPL_NAME { template< typename U1, typename U2 > struct apply { typedef apply type; BOOST_STATIC_CONSTANT(int, value = 0); }; }; template< typename Tag > struct AUX778076_OP_IMPL_NAME { template< typename U1, typename U2 > struct apply { typedef apply type; BOOST_STATIC_CONSTANT(int, value = 0); }; }; #else template<> struct AUX778076_OP_IMPL_NAME { template< typename U1, typename U2 > struct apply { typedef apply type; BOOST_STATIC_CONSTANT(int, value = 0); }; }; template<> struct AUX778076_OP_IMPL_NAME { template< typename U1, typename U2 > struct apply { typedef apply type; BOOST_STATIC_CONSTANT(int, value = 0); }; }; #endif #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ && BOOST_WORKAROUND(BOOST_MSVC, >= 1300) template< typename T > struct AUX778076_OP_TAG_NAME : tag { }; #else template< typename T > struct AUX778076_OP_TAG_NAME { typedef typename T::tag type; }; #endif #if AUX778076_OP_ARITY != 2 # if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) # define AUX778076_OP_RIGHT_OPERAND(unused, i, N) , BOOST_PP_CAT(N, BOOST_MPL_PP_ADD(i, 2))> # define AUX778076_OP_N_CALLS(i, N) \ BOOST_MPL_PP_REPEAT( BOOST_PP_DEC(i), BOOST_MPL_PP_REPEAT_IDENTITY_FUNC, AUX778076_OP_NAME< ) \ N1 BOOST_MPL_PP_REPEAT( BOOST_MPL_PP_SUB(i, 1), AUX778076_OP_RIGHT_OPERAND, N ) \ /**/ template< typename BOOST_MPL_AUX_NA_PARAM(N1) , typename BOOST_MPL_AUX_NA_PARAM(N2) BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na) > struct AUX778076_OP_NAME : AUX778076_OP_N_CALLS(AUX778076_OP_ARITY, N) { BOOST_MPL_AUX_LAMBDA_SUPPORT( AUX778076_OP_ARITY , AUX778076_OP_NAME , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) ) ) }; #define BOOST_PP_ITERATION_PARAMS_1 \ (3,( BOOST_PP_DEC(AUX778076_OP_ARITY), 2, )) #include BOOST_PP_ITERATE() # undef AUX778076_OP_N_CALLS # undef AUX778076_OP_RIGHT_OPERAND # else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION /// forward declaration template< typename BOOST_MPL_AUX_NA_PARAM(N1) , typename BOOST_MPL_AUX_NA_PARAM(N2) > struct BOOST_PP_CAT(AUX778076_OP_NAME,2); template< typename BOOST_MPL_AUX_NA_PARAM(N1) , typename BOOST_MPL_AUX_NA_PARAM(N2) BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na) > struct AUX778076_OP_NAME #if BOOST_WORKAROUND(BOOST_MSVC, == 1300) : aux::msvc_eti_base< typename if_< #else : if_< #endif is_na , BOOST_PP_CAT(AUX778076_OP_NAME,2) , AUX778076_OP_NAME< BOOST_PP_CAT(AUX778076_OP_NAME,2) , BOOST_MPL_PP_EXT_PARAMS(3, BOOST_PP_INC(AUX778076_OP_ARITY), N) > >::type #if BOOST_WORKAROUND(BOOST_MSVC, == 1300) > #endif { BOOST_MPL_AUX_LAMBDA_SUPPORT( AUX778076_OP_ARITY , AUX778076_OP_NAME , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) ) ) }; template< typename N1 , typename N2 > struct BOOST_PP_CAT(AUX778076_OP_NAME,2) #endif #else // AUX778076_OP_ARITY == 2 template< typename BOOST_MPL_AUX_NA_PARAM(N1) , typename BOOST_MPL_AUX_NA_PARAM(N2) > struct AUX778076_OP_NAME #endif #if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) : AUX778076_OP_IMPL_NAME< typename AUX778076_OP_TAG_NAME::type , typename AUX778076_OP_TAG_NAME::type >::template apply::type #else : aux::msvc_eti_base< typename apply_wrap2< AUX778076_OP_IMPL_NAME< typename AUX778076_OP_TAG_NAME::type , typename AUX778076_OP_TAG_NAME::type > , N1 , N2 >::type >::type #endif { #if AUX778076_OP_ARITY != 2 # if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( AUX778076_OP_ARITY , AUX778076_OP_NAME , ( BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(2, N, na) ) ) # else BOOST_MPL_AUX_LAMBDA_SUPPORT(2, BOOST_PP_CAT(AUX778076_OP_NAME,2), (N1, N2)) # endif #else BOOST_MPL_AUX_LAMBDA_SUPPORT(2, AUX778076_OP_NAME, (N1, N2)) #endif }; BOOST_MPL_AUX_NA_SPEC2(2, AUX778076_OP_ARITY, AUX778076_OP_NAME) }} #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS ///// 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< BOOST_MPL_PP_PARAMS(i_, typename N) > struct AUX778076_OP_NAME #if i_ != 2 : AUX778076_OP_N_CALLS(i_, N) { BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( AUX778076_OP_ARITY , AUX778076_OP_NAME , ( BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(i_, N, na) ) ) }; #endif # undef i_ #endif // BOOST_PP_ITERATION_DEPTH() #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/aux_/order_impl.hpp000066400000000000000000000037741265471724600234340ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_ORDER_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_ORDER_IMPL_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 namespace boost { namespace mpl { // default implementation; requires 'Seq' to provide corresponding overloads // of BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY template< typename Seq, typename Key > struct x_order_impl #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ || BOOST_WORKAROUND(__EDG_VERSION__, <= 245) { BOOST_STATIC_CONSTANT(long, value = sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY( Seq , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*, 0) ) ) ); typedef long_ type; #else // ISO98 C++ : long_< sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY( Seq , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*, 0) ) ) > { #endif }; template< typename Tag > struct order_impl { template< typename Seq, typename Key > struct apply : if_< typename has_key_impl::template apply , x_order_impl , void_ >::type { }; }; BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,order_impl) }} #endif // BOOST_MPL_AUX_ORDER_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/overload_names.hpp000066400000000000000000000037551265471724600242750ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED #define BOOST_MPL_AUX_OVERLOAD_NAMES_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_USE_OPERATORS_OVERLOADING) # include # define BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY operator/ # define BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER operator| # define BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY operator|| # define BOOST_MPL_AUX_OVERLOAD_IS_MASKED operator% # define BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY(T, x) BOOST_MPL_AUX_PTR_TO_REF(T) / x # define BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER(T, x) BOOST_MPL_AUX_PTR_TO_REF(T) | x # define BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY(T, x) BOOST_MPL_AUX_PTR_TO_REF(T) || x # define BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(T, x) BOOST_MPL_AUX_PTR_TO_REF(T) % x #else # define BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY value_by_key_ # define BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER item_by_order_ # define BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY order_by_key_ # define BOOST_MPL_AUX_OVERLOAD_IS_MASKED is_masked_ # define BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY(T, x) T::BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY( BOOST_MPL_AUX_PTR_TO_REF(T), x ) # define BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER(T, x) T::BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER( BOOST_MPL_AUX_PTR_TO_REF(T), x ) # define BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY(T, x) T::BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY( BOOST_MPL_AUX_PTR_TO_REF(T), x ) # define BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(T, x) T::BOOST_MPL_AUX_OVERLOAD_IS_MASKED( BOOST_MPL_AUX_PTR_TO_REF(T), x ) #endif #endif // BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/partition_op.hpp000066400000000000000000000025561265471724600240040ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_PARTITION_OP_HPP_INCLUDED #define BOOST_MPL_AUX_PARTITION_OP_HPP_INCLUDED // Copyright Eric Friedman 2003 // 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 #include #include #include namespace boost { namespace mpl { namespace aux { template< typename Pred, typename In1Op, typename In2Op > struct partition_op { template< typename State, typename T > struct apply { typedef typename State::first first_; typedef typename State::second second_; typedef typename apply1< Pred,T >::type pred_; typedef typename eval_if< pred_ , apply2 , apply2 >::type result_; typedef typename if_< pred_ , pair< result_,second_ > , pair< first_,result_ > >::type type; }; }; } // namespace aux BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, aux::partition_op) }} #endif // BOOST_MPL_AUX_PARTITION_OP_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/pop_back_impl.hpp000066400000000000000000000014441265471724600240670ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_POP_BACK_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_POP_BACK_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 namespace boost { namespace mpl { // no default implementation; the definition is needed to make MSVC happy template< typename Tag > struct pop_back_impl { template< typename Sequence > struct apply; }; BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, pop_back_impl) }} #endif // BOOST_MPL_AUX_POP_BACK_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/pop_front_impl.hpp000066400000000000000000000020661265471724600243200ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_POP_FRONT_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_POP_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 { // no default implementation; the definition is needed to make MSVC happy template< typename Tag > struct pop_front_impl { template< typename Sequence > struct apply // conservatively placed, but maybe should go outside surrounding // braces. #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) { typedef int type; } #endif ; }; BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, pop_front_impl) }} #endif // BOOST_MPL_AUX_POP_FRONT_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/000077500000000000000000000000001265471724600232525ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/000077500000000000000000000000001265471724600240015ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp000066400000000000000000000042321265471724600277520ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp000066400000000000000000000042061265471724600276410ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/and.hpp000066400000000000000000000023521265471724600252560ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/apply.hpp000066400000000000000000000052711265471724600256440ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 > { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp000066400000000000000000000017151265471724600265030ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp000066400000000000000000000156461265471724600267040ustar00rootroot00000000000000 // 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 { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/arg.hpp000066400000000000000000000052021265471724600252620ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp000066400000000000000000000157161265471724600266010ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/bind.hpp000066400000000000000000000242641265471724600254360ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp000066400000000000000000000014671265471724600262760ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/bitand.hpp000066400000000000000000000062111265471724600257530ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/bitor.hpp000066400000000000000000000061531265471724600256360ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp000066400000000000000000000062111265471724600260210ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/deque.hpp000066400000000000000000000227741265471724600256310ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/divides.hpp000066400000000000000000000061701265471724600261450ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp000066400000000000000000000040621265471724600263250ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp000066400000000000000000000103761265471724600264660ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp000066400000000000000000000263621265471724600267650ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/greater.hpp000066400000000000000000000040411265471724600261420ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp000066400000000000000000000041741265471724600273400ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/inherit.hpp000066400000000000000000000052761265471724600261660ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp000066400000000000000000000102561265471724600301640ustar00rootroot00000000000000 // 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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp000066400000000000000000000100721265471724600275020ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp000066400000000000000000000145111265471724600274610ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/less.hpp000066400000000000000000000037641265471724600254720ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp000066400000000000000000000041171265471724600266520ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/list.hpp000066400000000000000000000226211265471724600254700ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/list_c.hpp000066400000000000000000000247361265471724600260030ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/map.hpp000066400000000000000000000225201265471724600252700ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/minus.hpp000066400000000000000000000060741265471724600256540ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/modulus.hpp000066400000000000000000000043661265471724600262130ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp000066400000000000000000000041551265471724600272100ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/or.hpp000066400000000000000000000023531265471724600251350ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp000066400000000000000000000042441265471724600271630ustar00rootroot00000000000000 // 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; } }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/plus.hpp000066400000000000000000000060361265471724600255020ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/quote.hpp000066400000000000000000000044521265471724600256540ustar00rootroot00000000000000 // 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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp000066400000000000000000000212421265471724600302130ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp000066400000000000000000000200661265471724600312410ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/set.hpp000066400000000000000000000225201265471724600253060ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/set_c.hpp000066400000000000000000000246351265471724600256210ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp000066400000000000000000000043151265471724600266440ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp000066400000000000000000000043341265471724600270300ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp000066400000000000000000000013731265471724600275410ustar00rootroot00000000000000 // 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_ { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/times.hpp000066400000000000000000000060741265471724600256420ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp000066400000000000000000000037021265471724600270110ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/vector.hpp000066400000000000000000000230231265471724600260140ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp000066400000000000000000000277161265471724600263330ustar00rootroot00000000000000 // 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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/000077500000000000000000000000001265471724600242345ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp000066400000000000000000000042361265471724600302110ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp000066400000000000000000000042121265471724600300710ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/and.hpp000066400000000000000000000023511265471724600255100ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/apply.hpp000066400000000000000000000052701265471724600260760ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp000066400000000000000000000017141265471724600267350ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp000066400000000000000000000154541265471724600271340ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/arg.hpp000066400000000000000000000055151265471724600255240ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp000066400000000000000000000162361265471724600270320ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/bind.hpp000066400000000000000000000245771265471724600257000ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp000066400000000000000000000014661265471724600265300ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp000066400000000000000000000062101265471724600262050ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp000066400000000000000000000061521265471724600260700ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp000066400000000000000000000062101265471724600262530ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/deque.hpp000066400000000000000000000227731265471724600260630ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/divides.hpp000066400000000000000000000061671265471724600264060ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp000066400000000000000000000040611265471724600265570ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp000066400000000000000000000104021265471724600267070ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp000066400000000000000000000263661265471724600272240ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/greater.hpp000066400000000000000000000040401265471724600263740ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp000066400000000000000000000041731265471724600275720ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp000066400000000000000000000054201265471724600264100ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp000066400000000000000000000102621265471724600304140ustar00rootroot00000000000000 // 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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp000066400000000000000000000100761265471724600277410ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp000066400000000000000000000145151265471724600277200ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/less.hpp000066400000000000000000000037631265471724600257240ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp000066400000000000000000000041161265471724600271040ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/list.hpp000066400000000000000000000226201265471724600257220ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp000066400000000000000000000247351265471724600262350ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/map.hpp000066400000000000000000000225171265471724600255310ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/minus.hpp000066400000000000000000000060731265471724600261060ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp000066400000000000000000000043651265471724600264450ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp000066400000000000000000000041541265471724600274420ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/or.hpp000066400000000000000000000023521265471724600253670ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp000066400000000000000000000042431265471724600274150ustar00rootroot00000000000000 // 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; } }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/plus.hpp000066400000000000000000000060351265471724600257340ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/quote.hpp000066400000000000000000000004441265471724600261040ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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! KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp000066400000000000000000000212461265471724600304520ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp000066400000000000000000000200721265471724600314710ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/set.hpp000066400000000000000000000225171265471724600255470ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp000066400000000000000000000246341265471724600260530ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp000066400000000000000000000043141265471724600270760ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp000066400000000000000000000043331265471724600272620ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp000066400000000000000000000013771265471724600300000ustar00rootroot00000000000000 // 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_ { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/times.hpp000066400000000000000000000060731265471724600260740ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp000066400000000000000000000037011265471724600272430ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/vector.hpp000066400000000000000000000230221265471724600262460ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp000066400000000000000000000277151265471724600265650ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/000077500000000000000000000000001265471724600251055ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp000066400000000000000000000042321265471724600310560ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp000066400000000000000000000042061265471724600307450ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp000066400000000000000000000023521265471724600263620ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp000066400000000000000000000052711265471724600267500ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 > { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp000066400000000000000000000017151265471724600276070ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp000066400000000000000000000154551265471724600300060ustar00rootroot00000000000000 // 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 { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp000066400000000000000000000052021265471724600263660ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp000066400000000000000000000157161265471724600277050ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp000066400000000000000000000242641265471724600265420ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp000066400000000000000000000014671265471724600274020ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp000066400000000000000000000062111265471724600270570ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp000066400000000000000000000061531265471724600267420ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp000066400000000000000000000062111265471724600271250ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp000066400000000000000000000227741265471724600267350ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp000066400000000000000000000061701265471724600272510ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp000066400000000000000000000040621265471724600274310ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp000066400000000000000000000103761265471724600275720ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp000066400000000000000000000263621265471724600300710ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp000066400000000000000000000040411265471724600272460ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp000066400000000000000000000041741265471724600304440ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp000066400000000000000000000052761265471724600272720ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp000066400000000000000000000102561265471724600312700ustar00rootroot00000000000000 // 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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp000066400000000000000000000100721265471724600306060ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp000066400000000000000000000145111265471724600305650ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp000066400000000000000000000037641265471724600265760ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp000066400000000000000000000041171265471724600277560ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp000066400000000000000000000226211265471724600265740ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp000066400000000000000000000247361265471724600271070ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp000066400000000000000000000225201265471724600263740ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp000066400000000000000000000060741265471724600267600ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp000066400000000000000000000043661265471724600273170ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp000066400000000000000000000041551265471724600303140ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp000066400000000000000000000023531265471724600262410ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp000066400000000000000000000042441265471724600302670ustar00rootroot00000000000000 // 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; } }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp000066400000000000000000000060361265471724600266060ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp000066400000000000000000000004451265471724600267560ustar00rootroot00000000000000 // 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! KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp000066400000000000000000000212421265471724600313170ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp000066400000000000000000000200661265471724600323450ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp000066400000000000000000000225201265471724600264120ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp000066400000000000000000000246351265471724600267250ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp000066400000000000000000000043151265471724600277500ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp000066400000000000000000000043341265471724600301340ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp000066400000000000000000000013731265471724600306450ustar00rootroot00000000000000 // 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_ { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp000066400000000000000000000060741265471724600267460ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp000066400000000000000000000037021265471724600301150ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp000066400000000000000000000230231265471724600271200ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, 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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp000066400000000000000000000277161265471724600274370ustar00rootroot00000000000000 // 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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/000077500000000000000000000000001265471724600240155ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp000066400000000000000000000042361265471724600277720ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp000066400000000000000000000042121265471724600276520ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/and.hpp000066400000000000000000000023511265471724600252710ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/apply.hpp000066400000000000000000000052701265471724600256570ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp000066400000000000000000000017141265471724600265160ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp000066400000000000000000000023261265471724600267070ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/arg.hpp000066400000000000000000000055151265471724600253050ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp000066400000000000000000000224721265471724600266120ustar00rootroot00000000000000 // 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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/bind.hpp000066400000000000000000000317051265471724600254500ustar00rootroot00000000000000 // 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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp000066400000000000000000000020711265471724600263020ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/bitand.hpp000066400000000000000000000062101265471724600257660ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/bitor.hpp000066400000000000000000000061521265471724600256510ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp000066400000000000000000000062101265471724600260340ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/deque.hpp000066400000000000000000000227731265471724600256440ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/divides.hpp000066400000000000000000000061671265471724600261670ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp000066400000000000000000000040611265471724600263400ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp000066400000000000000000000104021265471724600264700ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp000066400000000000000000000247501265471724600270000ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/greater.hpp000066400000000000000000000040401265471724600261550ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp000066400000000000000000000041731265471724600273530ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/inherit.hpp000066400000000000000000000054201265471724600261710ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp000066400000000000000000000102621265471724600301750ustar00rootroot00000000000000 // 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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp000066400000000000000000000100761265471724600275220ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp000066400000000000000000000145151265471724600275010ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/less.hpp000066400000000000000000000037631265471724600255050ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp000066400000000000000000000041161265471724600266650ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/list.hpp000066400000000000000000000226201265471724600255030ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/list_c.hpp000066400000000000000000000247351265471724600260160ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/map.hpp000066400000000000000000000225171265471724600253120ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/minus.hpp000066400000000000000000000060731265471724600256670ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/modulus.hpp000066400000000000000000000043651265471724600262260ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp000066400000000000000000000041541265471724600272230ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/or.hpp000066400000000000000000000023521265471724600251500ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp000066400000000000000000000042431265471724600271760ustar00rootroot00000000000000 // 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; } }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/plus.hpp000066400000000000000000000060351265471724600255150ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/quote.hpp000066400000000000000000000042131265471724600256630ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp000066400000000000000000000163141265471724600302330ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp000066400000000000000000000150751265471724600312610ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/set.hpp000066400000000000000000000225171265471724600253300ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/set_c.hpp000066400000000000000000000246341265471724600256340ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp000066400000000000000000000043141265471724600266570ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp000066400000000000000000000043331265471724600270430ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp000066400000000000000000000004621265471724600275530ustar00rootroot00000000000000 // 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! KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/times.hpp000066400000000000000000000060731265471724600256550ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp000066400000000000000000000035621265471724600270310ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/vector.hpp000066400000000000000000000230221265471724600260270ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp000066400000000000000000000277151265471724600263460ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/000077500000000000000000000000001265471724600240065ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp000066400000000000000000000042361265471724600277630ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp000066400000000000000000000042121265471724600276430ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/and.hpp000066400000000000000000000023511265471724600252620ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/apply.hpp000066400000000000000000000052701265471724600256500ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp000066400000000000000000000017141265471724600265070ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp000066400000000000000000000023261265471724600267000ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/arg.hpp000066400000000000000000000055151265471724600252760ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp000066400000000000000000000240241265471724600265760ustar00rootroot00000000000000 // 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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/bind.hpp000066400000000000000000000341111265471724600254330ustar00rootroot00000000000000 // 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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp000066400000000000000000000017041265471724600262750ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/bitand.hpp000066400000000000000000000062101265471724600257570ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/bitor.hpp000066400000000000000000000061521265471724600256420ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp000066400000000000000000000062101265471724600260250ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/deque.hpp000066400000000000000000000227731265471724600256350ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/divides.hpp000066400000000000000000000061671265471724600261600ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp000066400000000000000000000040611265471724600263310ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp000066400000000000000000000104021265471724600264610ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp000066400000000000000000000263661265471724600267760ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/greater.hpp000066400000000000000000000040401265471724600261460ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp000066400000000000000000000041731265471724600273440ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/inherit.hpp000066400000000000000000000054201265471724600261620ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp000066400000000000000000000102621265471724600301660ustar00rootroot00000000000000 // 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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp000066400000000000000000000100761265471724600275130ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp000066400000000000000000000145151265471724600274720ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/less.hpp000066400000000000000000000037631265471724600254760ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp000066400000000000000000000041161265471724600266560ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/list.hpp000066400000000000000000000226201265471724600254740ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/list_c.hpp000066400000000000000000000247351265471724600260070ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/map.hpp000066400000000000000000000225171265471724600253030ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/minus.hpp000066400000000000000000000060731265471724600256600ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/modulus.hpp000066400000000000000000000043651265471724600262170ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp000066400000000000000000000041541265471724600272140ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/or.hpp000066400000000000000000000023521265471724600251410ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp000066400000000000000000000042431265471724600271670ustar00rootroot00000000000000 // 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; } }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/plus.hpp000066400000000000000000000060351265471724600255060ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/quote.hpp000066400000000000000000000042461265471724600256620ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp000066400000000000000000000163141265471724600302240ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp000066400000000000000000000150751265471724600312520ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/set.hpp000066400000000000000000000225171265471724600253210ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/set_c.hpp000066400000000000000000000246341265471724600256250ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp000066400000000000000000000043141265471724600266500ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp000066400000000000000000000043331265471724600270340ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp000066400000000000000000000052641265471724600275510ustar00rootroot00000000000000 // 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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/times.hpp000066400000000000000000000060731265471724600256460ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp000066400000000000000000000035621265471724600270220ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/vector.hpp000066400000000000000000000230221265471724600260200ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp000066400000000000000000000277151265471724600263370ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/000077500000000000000000000000001265471724600243705ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp000066400000000000000000000052031265471724600303400ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp000066400000000000000000000051571265471724600302360ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/and.hpp000066400000000000000000000025471265471724600256530ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/apply.hpp000066400000000000000000000051731265471724600262340ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp000066400000000000000000000014751265471724600270750ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp000066400000000000000000000111241265471724600272560ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/arg.hpp000066400000000000000000000055151265471724600256600ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp000066400000000000000000000162751265471724600271710ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/bind.hpp000066400000000000000000000251651265471724600260260ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp000066400000000000000000000014661265471724600266640ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp000066400000000000000000000060571265471724600263520ustar00rootroot00000000000000 // 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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp000066400000000000000000000060301265471724600262170ustar00rootroot00000000000000 // 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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp000066400000000000000000000060571265471724600264200ustar00rootroot00000000000000 // 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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/deque.hpp000066400000000000000000000345721265471724600262170ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/divides.hpp000066400000000000000000000060401265471724600265300ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp000066400000000000000000000044561265471724600267230ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp000066400000000000000000000147361265471724600270610ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp000066400000000000000000000257171265471724600273570ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/greater.hpp000066400000000000000000000044361265471724600265410ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp000066400000000000000000000045711265471724600277300ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp000066400000000000000000000063011265471724600265430ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp000066400000000000000000000102621265471724600305500ustar00rootroot00000000000000 // 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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp000066400000000000000000000144751265471724600301040ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp000066400000000000000000000145151265471724600300540ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/less.hpp000066400000000000000000000043611265471724600260530ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp000066400000000000000000000045141265471724600272420ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/list.hpp000066400000000000000000000344341265471724600260640ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp000066400000000000000000000315111265471724600263570ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/map.hpp000066400000000000000000000343231265471724600256630ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/minus.hpp000066400000000000000000000057621265471724600262460ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp000066400000000000000000000047701265471724600266010ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp000066400000000000000000000045521265471724600276000ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/or.hpp000066400000000000000000000025501265471724600255230ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp000066400000000000000000000042431265471724600275510ustar00rootroot00000000000000 // 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; } }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/plus.hpp000066400000000000000000000057331265471724600260740ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/quote.hpp000066400000000000000000000004441265471724600262400ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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! KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp000066400000000000000000000230361265471724600306050ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp000066400000000000000000000216621265471724600316330ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/set.hpp000066400000000000000000000343231265471724600257010ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp000066400000000000000000000314001265471724600261740ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp000066400000000000000000000050121265471724600272260ustar00rootroot00000000000000 // 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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp000066400000000000000000000050331265471724600274140ustar00rootroot00000000000000 // 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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp000066400000000000000000000015011265471724600301210ustar00rootroot00000000000000 // 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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/times.hpp000066400000000000000000000057621265471724600262340ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp000066400000000000000000000043701265471724600274020ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/vector.hpp000066400000000000000000000346561265471724600264210ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp000066400000000000000000000331211265471724600267050ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/000077500000000000000000000000001265471724600243715ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp000066400000000000000000000042361265471724600303460ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp000066400000000000000000000042121265471724600302260ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/and.hpp000066400000000000000000000025361265471724600256520ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/apply.hpp000066400000000000000000000047231265471724600262350ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp000066400000000000000000000014751265471724600270760ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp000066400000000000000000000040071265471724600272610ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/arg.hpp000066400000000000000000000055151265471724600256610ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp000066400000000000000000000162751265471724600271720ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/bind.hpp000066400000000000000000000251651265471724600260270ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp000066400000000000000000000014661265471724600266650ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp000066400000000000000000000061031265471724600263430ustar00rootroot00000000000000 // 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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp000066400000000000000000000060541265471724600262260ustar00rootroot00000000000000 // 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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp000066400000000000000000000061031265471724600264110ustar00rootroot00000000000000 // 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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/deque.hpp000066400000000000000000000345721265471724600262200ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/divides.hpp000066400000000000000000000060641265471724600265370ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp000066400000000000000000000044361265471724600267220ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp000066400000000000000000000131761265471724600270570ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp000066400000000000000000000257171265471724600273600ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/greater.hpp000066400000000000000000000044161265471724600265400ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp000066400000000000000000000045511265471724600277270ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp000066400000000000000000000063011265471724600265440ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp000066400000000000000000000102621265471724600305510ustar00rootroot00000000000000 // 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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp000066400000000000000000000127351265471724600301020ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp000066400000000000000000000145151265471724600300550ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/less.hpp000066400000000000000000000043411265471724600260520ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp000066400000000000000000000044741265471724600272500ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/list.hpp000066400000000000000000000344341265471724600260650ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp000066400000000000000000000315111265471724600263600ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/map.hpp000066400000000000000000000343231265471724600256640ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/minus.hpp000066400000000000000000000060061265471724600262370ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp000066400000000000000000000047501265471724600266000ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp000066400000000000000000000045321265471724600275770ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/or.hpp000066400000000000000000000025371265471724600255310ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp000066400000000000000000000042431265471724600275520ustar00rootroot00000000000000 // 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; } }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/plus.hpp000066400000000000000000000057571265471724600261030ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/quote.hpp000066400000000000000000000042741265471724600262460ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp000066400000000000000000000212461265471724600306070ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp000066400000000000000000000200721265471724600316260ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/set.hpp000066400000000000000000000343231265471724600257020ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp000066400000000000000000000314001265471724600261750ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp000066400000000000000000000047721265471724600272430ustar00rootroot00000000000000 // 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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp000066400000000000000000000050131265471724600274130ustar00rootroot00000000000000 // 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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp000066400000000000000000000015011265471724600301220ustar00rootroot00000000000000 // 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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/times.hpp000066400000000000000000000060061265471724600262250ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp000066400000000000000000000043701265471724600274030ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/vector.hpp000066400000000000000000000346561265471724600264220ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp000066400000000000000000000331211265471724600267060ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/000077500000000000000000000000001265471724600242275ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp000066400000000000000000000042361265471724600302040ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp000066400000000000000000000042121265471724600300640ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/and.hpp000066400000000000000000000023511265471724600255030ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/apply.hpp000066400000000000000000000052701265471724600260710ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp000066400000000000000000000017141265471724600267300ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp000066400000000000000000000154541265471724600271270ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/arg.hpp000066400000000000000000000055151265471724600255170ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp000066400000000000000000000240241265471724600270170ustar00rootroot00000000000000 // 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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/bind.hpp000066400000000000000000000341111265471724600256540ustar00rootroot00000000000000 // 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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp000066400000000000000000000017041265471724600265160ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp000066400000000000000000000062101265471724600262000ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp000066400000000000000000000061521265471724600260630ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp000066400000000000000000000062101265471724600262460ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/deque.hpp000066400000000000000000000227731265471724600260560ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/divides.hpp000066400000000000000000000061671265471724600264010ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp000066400000000000000000000040611265471724600265520ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp000066400000000000000000000104021265471724600267020ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp000066400000000000000000000257171265471724600272160ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/greater.hpp000066400000000000000000000040401265471724600263670ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp000066400000000000000000000041731265471724600275650ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp000066400000000000000000000054201265471724600264030ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp000066400000000000000000000102621265471724600304070ustar00rootroot00000000000000 // 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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp000066400000000000000000000100761265471724600277340ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp000066400000000000000000000145151265471724600277130ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/less.hpp000066400000000000000000000037631265471724600257170ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp000066400000000000000000000041161265471724600270770ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/list.hpp000066400000000000000000000226201265471724600257150ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp000066400000000000000000000247351265471724600262300ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/map.hpp000066400000000000000000000225171265471724600255240ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/minus.hpp000066400000000000000000000060731265471724600261010ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp000066400000000000000000000043651265471724600264400ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp000066400000000000000000000041541265471724600274350ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/or.hpp000066400000000000000000000023521265471724600253620ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp000066400000000000000000000042431265471724600274100ustar00rootroot00000000000000 // 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; } }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/plus.hpp000066400000000000000000000060351265471724600257270ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/quote.hpp000066400000000000000000000042131265471724600260750ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp000066400000000000000000000163141265471724600304450ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp000066400000000000000000000150751265471724600314730ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/set.hpp000066400000000000000000000225171265471724600255420ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp000066400000000000000000000246341265471724600260460ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp000066400000000000000000000043141265471724600270710ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp000066400000000000000000000043331265471724600272550ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp000066400000000000000000000004621265471724600277650ustar00rootroot00000000000000 // 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! KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/times.hpp000066400000000000000000000060731265471724600260670ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp000066400000000000000000000035621265471724600272430ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/vector.hpp000066400000000000000000000230221265471724600262410ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp000066400000000000000000000277151265471724600265600ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/000077500000000000000000000000001265471724600247175ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp000066400000000000000000000042361265471724600306740ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp000066400000000000000000000042121265471724600305540ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/and.hpp000066400000000000000000000025471265471724600262020ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp000066400000000000000000000105721265471724600265620ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp000066400000000000000000000016231265471724600274170ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp000066400000000000000000000022141265471724600276050ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp000066400000000000000000000055151265471724600262070ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp000066400000000000000000000234411265471724600275110ustar00rootroot00000000000000 // 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 ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp000066400000000000000000000323311265471724600263460ustar00rootroot00000000000000 // 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 ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp000066400000000000000000000017041265471724600272060ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp000066400000000000000000000054471265471724600267030ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp000066400000000000000000000054221265471724600265520ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp000066400000000000000000000054471265471724600267510ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp000066400000000000000000000345721265471724600265460ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp000066400000000000000000000054261265471724600270660ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp000066400000000000000000000040531265471724600272430ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp000066400000000000000000000131761265471724600274050ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp000066400000000000000000000257171265471724600277060ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp000066400000000000000000000040321265471724600270600ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp000066400000000000000000000041651265471724600302560ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp000066400000000000000000000063011265471724600270720ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp000066400000000000000000000102621265471724600310770ustar00rootroot00000000000000 // 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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp000066400000000000000000000127351265471724600304300ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp000066400000000000000000000145151265471724600304030ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/less.hpp000066400000000000000000000037551265471724600264100ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp000066400000000000000000000041101265471724600275610ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/list.hpp000066400000000000000000000344341265471724600264130ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp000066400000000000000000000315111265471724600267060ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/map.hpp000066400000000000000000000343231265471724600262120ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp000066400000000000000000000053541265471724600265720ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp000066400000000000000000000043571265471724600271310ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp000066400000000000000000000041461265471724600301260ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/or.hpp000066400000000000000000000025501265471724600260520ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp000066400000000000000000000042431265471724600301000ustar00rootroot00000000000000 // 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; } }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp000066400000000000000000000053271265471724600264220ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp000066400000000000000000000042741265471724600265740ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp000066400000000000000000000212461265471724600311350ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp000066400000000000000000000200721265471724600321540ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/set.hpp000066400000000000000000000343231265471724600262300ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp000066400000000000000000000314001265471724600265230ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp000066400000000000000000000043061265471724600275620ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp000066400000000000000000000043251265471724600277460ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp000066400000000000000000000013771265471724600304630ustar00rootroot00000000000000 // 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_ { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/times.hpp000066400000000000000000000053541265471724600265600ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp000066400000000000000000000043701265471724600277310ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp000066400000000000000000000346561265471724600267500ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp000066400000000000000000000331211265471724600272340ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/000077500000000000000000000000001265471724600245555ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp000066400000000000000000000042361265471724600305320ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp000066400000000000000000000042121265471724600304120ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/and.hpp000066400000000000000000000023511265471724600260310ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp000066400000000000000000000052701265471724600264170ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp000066400000000000000000000017141265471724600272560ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp000066400000000000000000000023261265471724600274470ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp000066400000000000000000000055151265471724600260450ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp000066400000000000000000000204421265471724600273450ustar00rootroot00000000000000 // 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 > { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp000066400000000000000000000270031265471724600262040ustar00rootroot00000000000000 // 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 > { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp000066400000000000000000000017041265471724600270440ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp000066400000000000000000000063601265471724600265340ustar00rootroot00000000000000 // 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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp000066400000000000000000000063201265471724600264060ustar00rootroot00000000000000 // 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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp000066400000000000000000000063601265471724600266020ustar00rootroot00000000000000 // 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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp000066400000000000000000000227731265471724600264040ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp000066400000000000000000000063411265471724600267210ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp000066400000000000000000000042251265471724600271020ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp000066400000000000000000000104021265471724600272300ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp000066400000000000000000000257171265471724600275440ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp000066400000000000000000000042051265471724600267200ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp000066400000000000000000000043401265471724600301070ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp000066400000000000000000000054201265471724600267310ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp000066400000000000000000000102621265471724600307350ustar00rootroot00000000000000 // 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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp000066400000000000000000000100761265471724600302620ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp000066400000000000000000000145151265471724600302410ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/less.hpp000066400000000000000000000041301265471724600262320ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp000066400000000000000000000042631265471724600274300ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/list.hpp000066400000000000000000000226201265471724600262430ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp000066400000000000000000000247351265471724600265560ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/map.hpp000066400000000000000000000225171265471724600260520ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp000066400000000000000000000062411265471724600264240ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp000066400000000000000000000045371265471724600267670ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp000066400000000000000000000043211265471724600277570ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/or.hpp000066400000000000000000000023521265471724600257100ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp000066400000000000000000000042431265471724600277360ustar00rootroot00000000000000 // 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; } }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp000066400000000000000000000062011265471724600262500ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp000066400000000000000000000004441265471724600264250ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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! KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp000066400000000000000000000163141265471724600307730ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp000066400000000000000000000150751265471724600320210ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/set.hpp000066400000000000000000000225171265471724600260700ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp000066400000000000000000000246341265471724600263740ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp000066400000000000000000000045611265471724600274230ustar00rootroot00000000000000 // 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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp000066400000000000000000000046021265471724600276020ustar00rootroot00000000000000 // 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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp000066400000000000000000000013771265471724600303210ustar00rootroot00000000000000 // 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_ { }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/times.hpp000066400000000000000000000062411265471724600264120ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp000066400000000000000000000035621265471724600275710ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp000066400000000000000000000230221265471724600265670ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp000066400000000000000000000277151265471724600271060ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/000077500000000000000000000000001265471724600243555ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp000066400000000000000000000042361265471724600303320ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp000066400000000000000000000042121265471724600302120ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/and.hpp000066400000000000000000000022021265471724600256240ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/apply.hpp000066400000000000000000000041611265471724600262150ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp000066400000000000000000000017141265471724600270560ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp000066400000000000000000000023261265471724600272470ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/arg.hpp000066400000000000000000000055151265471724600256450ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp000066400000000000000000000240241265471724600271450ustar00rootroot00000000000000 // 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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/bind.hpp000066400000000000000000000341111265471724600260020ustar00rootroot00000000000000 // 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; }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp000066400000000000000000000017041265471724600266440ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/bitand.hpp000066400000000000000000000060351265471724600263330ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/bitor.hpp000066400000000000000000000060001265471724600262010ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/bitxor.hpp000066400000000000000000000060351265471724600264010ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/deque.hpp000066400000000000000000000227731265471724600262040ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/divides.hpp000066400000000000000000000060141265471724600265160ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/equal_to.hpp000066400000000000000000000037701265471724600267060ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp000066400000000000000000000104021265471724600270300ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp000066400000000000000000000257171265471724600273440ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/greater.hpp000066400000000000000000000037501265471724600265240ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp000066400000000000000000000040751265471724600277140ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/inherit.hpp000066400000000000000000000046431265471724600265370ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp000066400000000000000000000102621265471724600305350ustar00rootroot00000000000000 // 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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp000066400000000000000000000100761265471724600300620ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp000066400000000000000000000144161265471724600300410ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 { }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/less.hpp000066400000000000000000000036761265471724600260500ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/less_equal.hpp000066400000000000000000000040231265471724600272220ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/list.hpp000066400000000000000000000226201265471724600260430ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/list_c.hpp000066400000000000000000000247351265471724600263560ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/map.hpp000066400000000000000000000225171265471724600256520ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/minus.hpp000066400000000000000000000057221265471724600262270ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/modulus.hpp000066400000000000000000000042751265471724600265660ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp000066400000000000000000000040571265471724600275650ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/or.hpp000066400000000000000000000022041265471724600255040ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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_ ) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/placeholders.hpp000066400000000000000000000042431265471724600275360ustar00rootroot00000000000000 // 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; } }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/plus.hpp000066400000000000000000000056651265471724600260650ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/quote.hpp000066400000000000000000000042131265471724600262230ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp000066400000000000000000000163141265471724600305730ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp000066400000000000000000000150751265471724600316210ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }}} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/set.hpp000066400000000000000000000225171265471724600256700ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/set_c.hpp000066400000000000000000000246341265471724600261740ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/shift_left.hpp000066400000000000000000000042211265471724600272140ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/shift_right.hpp000066400000000000000000000042371265471724600274060ustar00rootroot00000000000000 // 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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/template_arity.hpp000066400000000000000000000004621265471724600301130ustar00rootroot00000000000000 // 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! KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/times.hpp000066400000000000000000000057221265471724600262150ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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 ) > { }; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp000066400000000000000000000035621265471724600273710ustar00rootroot00000000000000 // 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) }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/vector.hpp000066400000000000000000000230221265471724600263670ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessed/plain/vector_c.hpp000066400000000000000000000277151265471724600267060ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/aux_/preprocessor/000077500000000000000000000000001265471724600233025ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/preprocessor/add.hpp000066400000000000000000000034761265471724600245550ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED #define BOOST_MPL_AUX_PREPROCESSOR_ADD_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_ADD(i,j) \ BOOST_MPL_PP_ADD_DELAY(i,j) \ /**/ # define BOOST_MPL_PP_ADD_DELAY(i,j) \ BOOST_PP_CAT(BOOST_MPL_PP_TUPLE_11_ELEM_##i,BOOST_MPL_PP_ADD_##j) \ /**/ #else # define BOOST_MPL_PP_ADD(i,j) \ BOOST_MPL_PP_ADD_DELAY(i,j) \ /**/ # define BOOST_MPL_PP_ADD_DELAY(i,j) \ BOOST_MPL_PP_TUPLE_11_ELEM_##i BOOST_MPL_PP_ADD_##j \ /**/ #endif # define BOOST_MPL_PP_ADD_0 (0,1,2,3,4,5,6,7,8,9,10) # define BOOST_MPL_PP_ADD_1 (1,2,3,4,5,6,7,8,9,10,0) # define BOOST_MPL_PP_ADD_2 (2,3,4,5,6,7,8,9,10,0,0) # define BOOST_MPL_PP_ADD_3 (3,4,5,6,7,8,9,10,0,0,0) # define BOOST_MPL_PP_ADD_4 (4,5,6,7,8,9,10,0,0,0,0) # define BOOST_MPL_PP_ADD_5 (5,6,7,8,9,10,0,0,0,0,0) # define BOOST_MPL_PP_ADD_6 (6,7,8,9,10,0,0,0,0,0,0) # define BOOST_MPL_PP_ADD_7 (7,8,9,10,0,0,0,0,0,0,0) # define BOOST_MPL_PP_ADD_8 (8,9,10,0,0,0,0,0,0,0,0) # define BOOST_MPL_PP_ADD_9 (9,10,0,0,0,0,0,0,0,0,0) # define BOOST_MPL_PP_ADD_10 (10,0,0,0,0,0,0,0,0,0,0) #else # include # define BOOST_MPL_PP_ADD(i,j) \ BOOST_PP_ADD(i,j) \ /**/ #endif #endif // BOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/preprocessor/def_params_tail.hpp000066400000000000000000000105711265471724600271310ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/preprocessor/default_params.hpp000066400000000000000000000045331265471724600270070ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED #define BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_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 // BOOST_MPL_PP_DEFAULT_PARAMS(0,T,int): // BOOST_MPL_PP_DEFAULT_PARAMS(1,T,int): T1 = int // BOOST_MPL_PP_DEFAULT_PARAMS(2,T,int): T1 = int, T2 = int // BOOST_MPL_PP_DEFAULT_PARAMS(n,T,int): T1 = int, T2 = int, .., Tn = int #if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) # include # define BOOST_MPL_PP_DEFAULT_PARAMS(n,p,v) \ BOOST_PP_CAT(BOOST_MPL_PP_DEFAULT_PARAMS_,n)(p,v) \ /**/ # define BOOST_MPL_PP_DEFAULT_PARAMS_0(p,v) # define BOOST_MPL_PP_DEFAULT_PARAMS_1(p,v) p##1=v # define BOOST_MPL_PP_DEFAULT_PARAMS_2(p,v) p##1=v,p##2=v # define BOOST_MPL_PP_DEFAULT_PARAMS_3(p,v) p##1=v,p##2=v,p##3=v # define BOOST_MPL_PP_DEFAULT_PARAMS_4(p,v) p##1=v,p##2=v,p##3=v,p##4=v # define BOOST_MPL_PP_DEFAULT_PARAMS_5(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v # define BOOST_MPL_PP_DEFAULT_PARAMS_6(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v # define BOOST_MPL_PP_DEFAULT_PARAMS_7(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v # define BOOST_MPL_PP_DEFAULT_PARAMS_8(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v,p##8=v # define BOOST_MPL_PP_DEFAULT_PARAMS_9(p,v) 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 #else # include # include # include # include # include # define BOOST_MPL_PP_AUX_DEFAULT_PARAM_FUNC(unused, i, pv) \ BOOST_PP_COMMA_IF(i) \ BOOST_PP_CAT( BOOST_PP_TUPLE_ELEM(2,0,pv), BOOST_PP_INC(i) ) \ = BOOST_PP_TUPLE_ELEM(2,1,pv) \ /**/ # define BOOST_MPL_PP_DEFAULT_PARAMS(n, param, value) \ BOOST_PP_REPEAT( \ n \ , BOOST_MPL_PP_AUX_DEFAULT_PARAM_FUNC \ , (param,value) \ ) \ /**/ #endif #endif // BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/preprocessor/enum.hpp000066400000000000000000000031701265471724600247600ustar00rootroot00000000000000 #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_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 \ ) \ /**/ #endif #endif // BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/preprocessor/ext_params.hpp000066400000000000000000000055451265471724600261670ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/preprocessor/filter_params.hpp000066400000000000000000000023671265471724600266530ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/preprocessor/is_seq.hpp000066400000000000000000000040321265471724600252750ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_PREPROCESSOR_IS_SEQ_HPP_INCLUDED #define BOOST_MPL_AUX_PREPROCESSOR_IS_SEQ_HPP_INCLUDED // Copyright Paul Mensonides 2003 // 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 #include #include #include // returns 1 if 'seq' is a PP-sequence, 0 otherwise: // // BOOST_PP_ASSERT( BOOST_PP_NOT( BOOST_MPL_PP_IS_SEQ( int ) ) ) // BOOST_PP_ASSERT( BOOST_MPL_PP_IS_SEQ( (int) ) ) // BOOST_PP_ASSERT( BOOST_MPL_PP_IS_SEQ( (1)(2) ) ) #if (BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()) || defined(_MSC_VER) && defined(__INTEL_COMPILER) && __INTEL_COMPILER == 1010 # define BOOST_MPL_PP_IS_SEQ(seq) BOOST_PP_DEC( BOOST_PP_SEQ_SIZE( BOOST_MPL_PP_IS_SEQ_(seq) ) ) # define BOOST_MPL_PP_IS_SEQ_(seq) BOOST_MPL_PP_IS_SEQ_SEQ_( BOOST_MPL_PP_IS_SEQ_SPLIT_ seq ) # define BOOST_MPL_PP_IS_SEQ_SEQ_(x) (x) # define BOOST_MPL_PP_IS_SEQ_SPLIT_(unused) unused)((unused) #else # if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() # define BOOST_MPL_PP_IS_SEQ(seq) BOOST_MPL_PP_IS_SEQ_MWCC_((seq)) # define BOOST_MPL_PP_IS_SEQ_MWCC_(args) BOOST_MPL_PP_IS_SEQ_ ## args # else # define BOOST_MPL_PP_IS_SEQ(seq) BOOST_MPL_PP_IS_SEQ_(seq) # endif # define BOOST_MPL_PP_IS_SEQ_(seq) BOOST_PP_CAT(BOOST_MPL_PP_IS_SEQ_, BOOST_MPL_PP_IS_SEQ_0 seq BOOST_PP_RPAREN()) # define BOOST_MPL_PP_IS_SEQ_0(x) BOOST_MPL_PP_IS_SEQ_1(x # define BOOST_MPL_PP_IS_SEQ_ALWAYS_0(unused) 0 # define BOOST_MPL_PP_IS_SEQ_BOOST_MPL_PP_IS_SEQ_0 BOOST_MPL_PP_IS_SEQ_ALWAYS_0( # define BOOST_MPL_PP_IS_SEQ_BOOST_MPL_PP_IS_SEQ_1(unused) 1 #endif #endif // BOOST_MPL_AUX_PREPROCESSOR_IS_SEQ_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/preprocessor/params.hpp000066400000000000000000000036061265471724600253030ustar00rootroot00000000000000 #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_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 \ ) \ /**/ #endif #endif // BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/preprocessor/partial_spec_params.hpp000066400000000000000000000017551265471724600300340ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED #define BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_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 #include #include #include #include #define BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \ BOOST_MPL_PP_PARAMS(n, param) \ BOOST_PP_COMMA_IF(BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,n)) \ BOOST_MPL_PP_ENUM( \ BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,n) \ , def \ ) \ /**/ #endif // BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/preprocessor/range.hpp000066400000000000000000000015131265471724600251070ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED #define BOOST_MPL_AUX_PREPROCESSOR_RANGE_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 #define BOOST_MPL_PP_RANGE_ITEM(z,n,_) (n) #define BOOST_MPL_PP_RANGE(first, length) \ BOOST_PP_SEQ_SUBSEQ( \ BOOST_PP_REPEAT(BOOST_PP_ADD(first,length), BOOST_MPL_PP_RANGE_ITEM, _), \ first, length \ ) \ /**/ #endif // BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/preprocessor/repeat.hpp000066400000000000000000000034661265471724600253040ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED #define BOOST_MPL_AUX_PREPROCESSOR_REPEAT_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 # define BOOST_MPL_PP_REPEAT(n,f,param) \ BOOST_PP_CAT(BOOST_MPL_PP_REPEAT_,n)(f,param) \ /**/ # define BOOST_MPL_PP_REPEAT_0(f,p) # define BOOST_MPL_PP_REPEAT_1(f,p) f(0,0,p) # define BOOST_MPL_PP_REPEAT_2(f,p) f(0,0,p) f(0,1,p) # define BOOST_MPL_PP_REPEAT_3(f,p) f(0,0,p) f(0,1,p) f(0,2,p) # define BOOST_MPL_PP_REPEAT_4(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) # define BOOST_MPL_PP_REPEAT_5(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) # define BOOST_MPL_PP_REPEAT_6(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) # define BOOST_MPL_PP_REPEAT_7(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) # define BOOST_MPL_PP_REPEAT_8(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) # define BOOST_MPL_PP_REPEAT_9(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) f(0,8,p) # define BOOST_MPL_PP_REPEAT_10(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) f(0,8,p) f(0,9,p) #else # include # define BOOST_MPL_PP_REPEAT(n,f,param) \ BOOST_PP_REPEAT(n,f,param) \ /**/ #endif #define BOOST_MPL_PP_REPEAT_IDENTITY_FUNC(unused1, unused2, x) x #endif // BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/preprocessor/sub.hpp000066400000000000000000000034631265471724600246120ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/preprocessor/token_equal.hpp000066400000000000000000000035511265471724600263260ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_PREPROCESSOR_TOKEN_EQUAL_HPP_INCLUDED #define BOOST_MPL_AUX_PREPROCESSOR_TOKEN_EQUAL_HPP_INCLUDED // Copyright Paul Mensonides 2003 // 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 #include #include #include #include // compares tokens 'a' and 'b' for equality: // // #define BOOST_MPL_PP_TOKEN_EQUAL_apple(x) x // #define BOOST_MPL_PP_TOKEN_EQUAL_orange(x) x // // BOOST_PP_ASSERT( BOOST_PP_NOT( BOOST_MPL_PP_TOKEN_EQUAL(apple, abc) ) ) // BOOST_PP_ASSERT( BOOST_PP_NOT( BOOST_MPL_PP_TOKEN_EQUAL(abc, apple) ) ) // BOOST_PP_ASSERT( BOOST_PP_NOT( BOOST_MPL_PP_TOKEN_EQUAL(apple, orange) ) ) // BOOST_PP_ASSERT( BOOST_MPL_PP_TOKEN_EQUAL(apple, apple) ) // BOOST_PP_ASSERT( BOOST_MPL_PP_TOKEN_EQUAL(orange, orange) ) #define BOOST_MPL_PP_TOKEN_EQUAL(a, b) \ BOOST_PP_IIF( \ BOOST_PP_BITAND( \ BOOST_MPL_PP_IS_SEQ( BOOST_PP_CAT(BOOST_MPL_PP_TOKEN_EQUAL_, a)((unused)) ) \ , BOOST_MPL_PP_IS_SEQ( BOOST_PP_CAT(BOOST_MPL_PP_TOKEN_EQUAL_, b)((unused)) ) \ ) \ , BOOST_MPL_PP_TOKEN_EQUAL_I \ , 0 BOOST_PP_TUPLE_EAT(2) \ )(a, b) \ /**/ #define BOOST_MPL_PP_TOKEN_EQUAL_I(a, b) \ BOOST_PP_COMPL(BOOST_MPL_PP_IS_SEQ( \ BOOST_MPL_PP_TOKEN_EQUAL_ ## a( \ BOOST_MPL_PP_TOKEN_EQUAL_ ## b \ )((unused)) \ )) \ /**/ #endif // BOOST_MPL_AUX_PREPROCESSOR_TOKEN_EQUAL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/preprocessor/tuple.hpp000066400000000000000000000024101265471724600251410ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/ptr_to_ref.hpp000066400000000000000000000021071265471724600234300ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_PTR_TO_REF_HPP_INCLUDED #define BOOST_MPL_AUX_PTR_TO_REF_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 #include #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ || ( BOOST_WORKAROUND(__EDG_VERSION__, <= 245) \ && !(defined(__STD_STRICT_ANSI) \ || defined(__STD_STRICT_ANSI_ERRORS)) ) # define BOOST_MPL_AUX_PTR_TO_REF(X) \ *BOOST_MPL_AUX_STATIC_CAST(X*, 0) \ /**/ #else # define BOOST_MPL_AUX_PTR_TO_REF(X) \ aux::ptr_to_ref(BOOST_MPL_AUX_STATIC_CAST(X*, 0)) \ /**/ #endif namespace boost { namespace mpl { namespace aux { template< typename T > static T const& ptr_to_ref(T*); }}} #endif // BOOST_MPL_AUX_PTR_TO_REF_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/push_back_impl.hpp000066400000000000000000000040271265471724600242500ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/push_front_impl.hpp000066400000000000000000000040541265471724600245000ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/range_c/000077500000000000000000000000001265471724600221525ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/range_c/O1_size.hpp000066400000000000000000000013221265471724600241720ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_RANGE_C_O1_SIZE_HPP_INCLUDED #define BOOST_MPL_AUX_RANGE_C_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 #include namespace boost { namespace mpl { template<> struct O1_size_impl< aux::half_open_range_tag > : size_impl< aux::half_open_range_tag > { }; }} #endif // BOOST_MPL_AUX_RANGE_C_O1_SIZE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/range_c/back.hpp000066400000000000000000000014111265471724600235600ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_RANGE_C_BACK_HPP_INCLUDED #define BOOST_MPL_AUX_RANGE_C_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<> struct back_impl< aux::half_open_range_tag > { template< typename Range > struct apply { typedef typename prior< typename Range::finish >::type type; }; }; }} #endif // BOOST_MPL_AUX_RANGE_C_BACK_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/range_c/empty.hpp000066400000000000000000000014671265471724600240310ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_RANGE_C_EMPTY_HPP_INCLUDED #define BOOST_MPL_AUX_RANGE_C_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::half_open_range_tag > { template< typename Range > struct apply : equal_to< typename Range::start , typename Range::finish > { }; }; }} #endif // BOOST_MPL_AUX_RANGE_C_EMPTY_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/range_c/front.hpp000066400000000000000000000013261265471724600240150ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_RANGE_C_FRONT_HPP_INCLUDED #define BOOST_MPL_AUX_RANGE_C_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::half_open_range_tag > { template< typename Range > struct apply { typedef typename Range::start type; }; }; }} #endif // BOOST_MPL_AUX_RANGE_C_FRONT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/range_c/iterator.hpp000066400000000000000000000051361265471724600245210ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_RANGE_C_ITERATOR_HPP_INCLUDED #define BOOST_MPL_AUX_RANGE_C_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 #include #include namespace boost { namespace mpl { // theoretically will work on any discrete numeric type template< typename N > struct r_iter { typedef aux::r_iter_tag tag; typedef random_access_iterator_tag category; typedef N type; #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) typedef r_iter< typename mpl::next::type > next; typedef r_iter< typename mpl::prior::type > prior; #endif }; #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename N > struct next< r_iter > { typedef r_iter< typename mpl::next::type > type; }; template< typename N > struct prior< r_iter > { typedef r_iter< typename mpl::prior::type > type; }; #endif template<> struct advance_impl { template< typename Iter, typename Dist > struct apply { typedef typename deref::type n_; #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) typedef typename plus_impl ::template apply::type m_; #else typedef typename plus::type m_; #endif // agurt, 10/nov/04: to be generic, the code have to do something along // the lines below... // // typedef typename apply_wrap1< // numeric_cast< typename m_::tag, typename n_::tag > // , m_ // >::type result_; // // ... meanwhile: typedef integral_c< typename aux::value_type_wknd::type , BOOST_MPL_AUX_VALUE_WKND(m_)::value > result_; typedef r_iter type; }; }; template<> struct distance_impl { template< typename Iter1, typename Iter2 > struct apply : minus< typename Iter2::type , typename Iter1::type > { }; }; }} #endif // BOOST_MPL_AUX_RANGE_C_ITERATOR_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/range_c/size.hpp000066400000000000000000000014541265471724600236410ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_RANGE_C_SIZE_HPP_INCLUDED #define BOOST_MPL_AUX_RANGE_C_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 #include namespace boost { namespace mpl { template<> struct size_impl< aux::half_open_range_tag > { template< typename Range > struct apply : minus< typename Range::finish , typename Range::start > { }; }; }} #endif // BOOST_MPL_AUX_RANGE_C_SIZE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/range_c/tag.hpp000066400000000000000000000010371265471724600234370ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_RANGE_C_TAG_HPP_INCLUDED #define BOOST_MPL_AUX_RANGE_C_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 half_open_range_tag; struct r_iter_tag; }}} #endif // BOOST_MPL_AUX_RANGE_C_TAG_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/reverse_fold_impl.hpp000066400000000000000000000025501265471724600247670ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/reverse_fold_impl_body.hpp000066400000000000000000000245471265471724600260160ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/mpl/aux_/reverse_iter_fold_impl.hpp000066400000000000000000000025141265471724600260120ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_ITER_FOLD_BACKWARD_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_ITER_FOLD_BACKWARD_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 # 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_iter_fold_impl.hpp # include #else # define AUX778076_FOLD_IMPL_OP(iter) iter # define AUX778076_FOLD_IMPL_NAME_PREFIX reverse_iter_fold # include #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_AUX_ITER_FOLD_BACKWARD_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/sequence_wrapper.hpp000066400000000000000000000177521265471724600246510ustar00rootroot00000000000000 // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION #if !defined(BOOST_PP_IS_ITERATING) ///// header body // 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 #if defined(BOOST_MPL_PREPROCESSING_MODE) # undef LONG_MAX #endif namespace boost { namespace mpl { #if !defined(AUX778076_SEQUENCE_BASE_NAME) # define AUX778076_SEQUENCE_BASE_NAME AUX778076_SEQUENCE_NAME #endif #if !defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER) # define AUX778076_SEQUENCE_PARAM_NAME T # define AUX778076_SEQUENCE_TEMPLATE_PARAM typename T # define AUX778076_SEQUENCE_DEFAULT na # define AUX778076_SEQUENCE_NAME_N(n) \ BOOST_PP_CAT(AUX778076_SEQUENCE_BASE_NAME,n) \ /**/ # define AUX778076_SEQUENCE_PARAMS() \ BOOST_PP_ENUM_PARAMS( \ AUX778076_SEQUENCE_LIMIT \ , AUX778076_SEQUENCE_TEMPLATE_PARAM \ ) \ /**/ # define AUX778076_SEQUENCE_ARGS() \ BOOST_PP_ENUM_PARAMS( \ AUX778076_SEQUENCE_LIMIT \ , T \ ) \ /**/ # define AUX778076_SEQUENCE_DEFAULT_PARAMS() \ BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( \ AUX778076_SEQUENCE_LIMIT \ , AUX778076_SEQUENCE_TEMPLATE_PARAM \ , AUX778076_SEQUENCE_DEFAULT \ ) \ /**/ # define AUX778076_SEQUENCE_N_PARAMS(n) \ BOOST_PP_ENUM_PARAMS(n, AUX778076_SEQUENCE_TEMPLATE_PARAM) \ /**/ # define AUX778076_SEQUENCE_N_ARGS(n) \ BOOST_PP_ENUM_PARAMS(n, T) \ /**/ # define AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(n) \ BOOST_PP_ENUM_PARAMS(n, T) \ BOOST_PP_COMMA_IF(n) \ BOOST_PP_ENUM( \ BOOST_PP_SUB_D(1,AUX778076_SEQUENCE_LIMIT,n) \ , BOOST_PP_TUPLE_ELEM_3_2 \ , AUX778076_SEQUENCE_DEFAULT \ ) \ /**/ #else // AUX778076_SEQUENCE_INTEGRAL_WRAPPER # define AUX778076_SEQUENCE_PARAM_NAME C # define AUX778076_SEQUENCE_TEMPLATE_PARAM BOOST_MPL_AUX_NTTP_DECL(long, C) # define AUX778076_SEQUENCE_DEFAULT LONG_MAX # define AUX778076_SEQUENCE_PARAMS() \ typename T, BOOST_PP_ENUM_PARAMS( \ AUX778076_SEQUENCE_LIMIT \ , AUX778076_SEQUENCE_TEMPLATE_PARAM \ ) \ /**/ # define AUX778076_SEQUENCE_ARGS() \ T, BOOST_PP_ENUM_PARAMS( \ AUX778076_SEQUENCE_LIMIT \ , C \ ) \ /**/ # define AUX778076_SEQUENCE_DEFAULT_PARAMS() \ typename T, \ BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( \ AUX778076_SEQUENCE_LIMIT \ , AUX778076_SEQUENCE_TEMPLATE_PARAM \ , AUX778076_SEQUENCE_DEFAULT \ ) \ /**/ # define AUX778076_SEQUENCE_N_PARAMS(n) \ typename T BOOST_PP_COMMA_IF(n) \ BOOST_PP_ENUM_PARAMS(n, AUX778076_SEQUENCE_TEMPLATE_PARAM) \ /**/ # if !defined(AUX778076_SEQUENCE_CONVERT_CN_TO) # define AUX778076_SEQUENCE_CONVERT_CN_TO(z,n,TARGET) BOOST_PP_CAT(C,n) # endif # define AUX778076_SEQUENCE_N_ARGS(n) \ T BOOST_PP_COMMA_IF(n) \ BOOST_PP_ENUM(n,AUX778076_SEQUENCE_CONVERT_CN_TO,T) \ /**/ # define AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(n) \ T, BOOST_PP_ENUM_PARAMS(n, C) \ BOOST_PP_COMMA_IF(n) \ BOOST_PP_ENUM( \ BOOST_PP_SUB_D(1,AUX778076_SEQUENCE_LIMIT,n) \ , BOOST_PP_TUPLE_ELEM_3_2 \ , AUX778076_SEQUENCE_DEFAULT \ ) \ /**/ #endif // AUX778076_SEQUENCE_INTEGRAL_WRAPPER #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) // forward declaration template< AUX778076_SEQUENCE_DEFAULT_PARAMS() > struct AUX778076_SEQUENCE_NAME; #else namespace aux { template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser); } #endif #define BOOST_PP_ITERATION_PARAMS_1 \ (3,(0, AUX778076_SEQUENCE_LIMIT, )) #include BOOST_PP_ITERATE() // real C++ version is already taken care of #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) namespace aux { // ???_count_args #define AUX778076_COUNT_ARGS_PREFIX AUX778076_SEQUENCE_NAME #define AUX778076_COUNT_ARGS_DEFAULT AUX778076_SEQUENCE_DEFAULT #define AUX778076_COUNT_ARGS_PARAM_NAME AUX778076_SEQUENCE_PARAM_NAME #define AUX778076_COUNT_ARGS_TEMPLATE_PARAM AUX778076_SEQUENCE_TEMPLATE_PARAM #define AUX778076_COUNT_ARGS_ARITY AUX778076_SEQUENCE_LIMIT #define AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES #include template< AUX778076_SEQUENCE_PARAMS() > struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl) { typedef aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_count_args)< BOOST_PP_ENUM_PARAMS(AUX778076_SEQUENCE_LIMIT, AUX778076_SEQUENCE_PARAM_NAME) > arg_num_; typedef typename aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser)< arg_num_::value > ::template result_< AUX778076_SEQUENCE_ARGS() >::type type; }; } // namespace aux template< AUX778076_SEQUENCE_DEFAULT_PARAMS() > struct AUX778076_SEQUENCE_NAME : aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)< AUX778076_SEQUENCE_ARGS() >::type { typedef typename aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)< AUX778076_SEQUENCE_ARGS() >::type type; }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION # undef AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS # undef AUX778076_SEQUENCE_N_ARGS # undef AUX778076_SEQUENCE_CONVERT_CN_TO # undef AUX778076_SEQUENCE_N_PARAMS # undef AUX778076_SEQUENCE_DEFAULT_PARAMS # undef AUX778076_SEQUENCE_ARGS # undef AUX778076_SEQUENCE_PARAMS # undef AUX778076_SEQUENCE_NAME_N # undef AUX778076_SEQUENCE_DEFAULT # undef AUX778076_SEQUENCE_TEMPLATE_PARAM # undef AUX778076_SEQUENCE_PARAM_NAME # undef AUX778076_SEQUENCE_LIMIT # undef AUX778076_SEQUENCE_BASE_NAME # undef AUX778076_SEQUENCE_NAME # undef AUX778076_SEQUENCE_INTEGRAL_WRAPPER }} ///// iteration #else #define i_ BOOST_PP_FRAME_ITERATION(1) # if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) #if i_ == AUX778076_SEQUENCE_LIMIT /// primary template (not a specialization!) template< AUX778076_SEQUENCE_N_PARAMS(i_) > struct AUX778076_SEQUENCE_NAME : AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) > { typedef typename AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type; }; #else template< AUX778076_SEQUENCE_N_PARAMS(i_) > struct AUX778076_SEQUENCE_NAME< AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(i_) > : AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) > { #if i_ > 0 || defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER) typedef typename AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type; #else typedef AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type; #endif }; #endif // i_ == AUX778076_SEQUENCE_LIMIT # else namespace aux { template<> struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser) { template< AUX778076_SEQUENCE_PARAMS() > struct result_ { #if i_ > 0 || defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER) typedef typename AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type; #else typedef AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type; #endif }; }; } // namespace aux # endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION #undef i_ #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/aux_/shift_op.hpp000066400000000000000000000043061265471724600231030ustar00rootroot00000000000000 // 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_MPL_PREPROCESSING_MODE) # include # include #endif #if !defined(AUX778076_OP_PREFIX) # define AUX778076_OP_PREFIX AUX778076_OP_NAME #endif #define AUX778076_OP_ARITY 2 #include #include #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp # include #else # include # include namespace boost { namespace mpl { #if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) namespace aux { template< typename T, typename Shift, T n, Shift s > struct BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd) { BOOST_STATIC_CONSTANT(T, value = (n AUX778076_OP_TOKEN s)); typedef integral_c type; }; } #endif template<> struct AUX778076_OP_IMPL_NAME { template< typename N, typename S > struct apply #if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) : integral_c< typename N::value_type , ( BOOST_MPL_AUX_VALUE_WKND(N)::value AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(S)::value ) > #else : aux::BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)< typename N::value_type , typename S::value_type , N::value , S::value >::type #endif { }; }; }} #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #undef AUX778076_OP_TAG_NAME #undef AUX778076_OP_IMPL_NAME #undef AUX778076_OP_ARITY #undef AUX778076_OP_PREFIX #undef AUX778076_OP_NAME #undef AUX778076_OP_TOKEN KWStyle-master/Utilities/boost/mpl/aux_/single_element_iter.hpp000066400000000000000000000053451265471724600253110ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_SINGLE_ELEMENT_ITER_HPP_INCLUDED #define BOOST_MPL_AUX_SINGLE_ELEMENT_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 #include #include #include #include namespace boost { namespace mpl { #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) namespace aux { template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, is_last_) > struct sel_iter; template< typename T > struct sel_iter { typedef random_access_iterator_tag category; typedef sel_iter next; typedef T type; }; template< typename T > struct sel_iter { typedef random_access_iterator_tag category; typedef sel_iter prior; }; } // namespace aux template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, is_last_), typename Distance > struct advance< aux::sel_iter,Distance> { typedef aux::sel_iter< T , ( is_last_ + BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Distance) ) > type; }; template< typename T , BOOST_MPL_AUX_NTTP_DECL(int, l1) , BOOST_MPL_AUX_NTTP_DECL(int, l2) > struct distance< aux::sel_iter, aux::sel_iter > : int_<( l2 - l1 )> { }; #else namespace aux { struct sel_iter_tag; template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, is_last_) > struct sel_iter { enum { pos_ = is_last_ }; typedef aux::sel_iter_tag tag; typedef random_access_iterator_tag category; typedef sel_iter next; typedef sel_iter prior; typedef T type; }; } // namespace aux template<> struct advance_impl { template< typename Iterator, typename N > struct apply { enum { pos_ = Iterator::pos_, n_ = N::value }; typedef aux::sel_iter< typename Iterator::type , (pos_ + n_) > type; }; }; template<> struct distance_impl { template< typename Iter1, typename Iter2 > struct apply { enum { pos1_ = Iter1::pos_, pos2_ = Iter2::pos_ }; typedef int_<( pos2_ - pos1_ )> type; BOOST_STATIC_CONSTANT(int, value = ( pos2_ - pos1_ )); }; }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION }} #endif // BOOST_MPL_AUX_SINGLE_ELEMENT_ITER_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/size_impl.hpp000066400000000000000000000024521265471724600232630ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_SIZE_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 #include namespace boost { namespace mpl { // default implementation; conrete sequences might override it by // specializing either the 'size_impl' or the primary 'size' template template< typename Tag > struct size_impl { template< typename Sequence > struct apply #if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) : distance< typename begin::type , typename end::type > { #else { typedef typename distance< typename begin::type , typename end::type >::type type; #endif }; }; BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, size_impl) }} #endif // BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/sort_impl.hpp000066400000000000000000000054751265471724600233100ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_SORT_IMPL_HPP_INCLUDED #define BOOST_MPL_AUX_SORT_IMPL_HPP_INCLUDED // Copyright Eric Friedman 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 #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace mpl { namespace aux { template< typename Seq, typename Pred > struct quick_sort; // agurt, 10/nov/04: for the sake of deficeint compilers template< typename Pred, typename Pivot > struct quick_sort_pred { template< typename T > struct apply { typedef typename apply2::type type; }; }; template< typename Seq , typename Pred > struct quick_sort_impl { typedef typename begin::type pivot; typedef typename partition< iterator_range< typename next::type , typename end::type > , protect< aux::quick_sort_pred< Pred, typename deref::type > > , back_inserter< vector<> > , back_inserter< vector<> > >::type partitioned; typedef typename quick_sort< typename partitioned::first, Pred >::type part1; typedef typename quick_sort< typename partitioned::second, Pred >::type part2; typedef joint_view< joint_view< part1, single_view< typename deref::type > > , part2 > type; }; template< typename Seq , typename Pred > struct quick_sort : eval_if< empty , identity , quick_sort_impl > { }; template < typename Sequence , typename Pred , typename In > struct sort_impl { typedef typename quick_sort< Sequence , typename if_na >::type >::type result_; typedef typename copy::type type; }; template < typename Sequence , typename Pred , typename In > struct reverse_sort_impl { typedef typename quick_sort< Sequence , typename if_na >::type >::type result_; typedef typename reverse_copy::type type; }; }}} #endif // BOOST_MPL_AUX_SORT_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/static_cast.hpp000066400000000000000000000014001265471724600235610ustar00rootroot00000000000000 #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(__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 KWStyle-master/Utilities/boost/mpl/aux_/template_arity.hpp000066400000000000000000000111771265471724600243170ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/template_arity_fwd.hpp000066400000000000000000000010631265471724600251500ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/test.hpp000066400000000000000000000013311265471724600222420ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_TEST_HPP_INCLUDED #define BOOST_MPL_AUX_TEST_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 #include int main() { return boost::report_errors(); } using namespace boost; using namespace mpl; #endif // BOOST_MPL_AUX_TEST_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/test/000077500000000000000000000000001265471724600215335ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/aux_/test/assert.hpp000066400000000000000000000016161265471724600235510ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_TEST_ASSERT_HPP_INCLUDED #define BOOST_MPL_AUX_TEST_ASSERT_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 #define MPL_ASSERT(pred) BOOST_MPL_ASSERT(pred) #define MPL_ASSERT_NOT(pred) BOOST_MPL_ASSERT_NOT(pred) #define MPL_ASSERT_MSG(c, msg, types) BOOST_MPL_ASSERT_MSG(c, msg, types) #define MPL_ASSERT_RELATION(x, rel, y) BOOST_MPL_ASSERT_RELATION(x, rel, y) #define MPL_ASSERT_INSTANTIATION(x) \ enum { BOOST_PP_CAT(instantiation_test, __LINE__) = sizeof( x ) } \ /**/ #endif // BOOST_MPL_AUX_TEST_ASSERT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/test/data.hpp000066400000000000000000000011241265471724600231530ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_TEST_DATA_HPP_INCLUDED #define BOOST_MPL_AUX_TEST_DATA_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 enum enum_ {}; struct UDT {}; struct incomplete; class abstract { public: virtual ~abstract() = 0; }; using boost::noncopyable; #endif // BOOST_MPL_AUX_TEST_DATA_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/test/test_case.hpp000066400000000000000000000010431265471724600242140ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_TEST_TEST_CASE_HPP_INCLUDED #define BOOST_MPL_AUX_TEST_TEST_CASE_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 #define MPL_TEST_CASE() void BOOST_PP_CAT(test,__LINE__)() #endif // BOOST_MPL_AUX_TEST_TEST_CASE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/traits_lambda_spec.hpp000066400000000000000000000030411265471724600251030ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED #define BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_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 #if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) # define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) /**/ #elif !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) # define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \ template<> struct trait \ { \ template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \ { \ }; \ }; \ /**/ #else # define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \ template<> struct trait \ { \ template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \ { \ }; \ }; \ template<> struct trait \ { \ template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \ { \ typedef int type; \ }; \ }; \ /**/ #endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT #define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(i, trait) \ BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \ template<> struct trait {}; \ /**/ #endif // BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/transform_iter.hpp000066400000000000000000000051141265471724600243240ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_TRANSFORM_ITER_HPP_INCLUDED #define BOOST_MPL_AUX_TRANSFORM_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 #include #include namespace boost { namespace mpl { namespace aux { #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename Iterator , typename LastIterator , typename F > struct transform_iter { typedef Iterator base; typedef forward_iterator_tag category; typedef transform_iter< typename mpl::next::type,LastIterator,F > next; typedef typename apply1< F , typename deref::type >::type type; }; template< typename LastIterator , typename F > struct transform_iter< LastIterator,LastIterator,F > { typedef LastIterator base; typedef forward_iterator_tag category; }; #else template< typename Iterator , typename LastIterator , typename F > struct transform_iter; template< bool > struct transform_iter_impl { template< typename Iterator , typename LastIterator , typename F > struct result_ { typedef Iterator base; typedef forward_iterator_tag category; typedef transform_iter< typename mpl::next::type,LastIterator,F > next; typedef typename apply1< F , typename deref::type >::type type; }; }; template<> struct transform_iter_impl { template< typename Iterator , typename LastIterator , typename F > struct result_ { typedef Iterator base; typedef forward_iterator_tag category; }; }; template< typename Iterator , typename LastIterator , typename F > struct transform_iter : transform_iter_impl< ::boost::is_same::value >::template result_< Iterator,LastIterator,F > { }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION } // namespace aux BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, aux::transform_iter) }} #endif // BOOST_MPL_AUX_TRANSFORM_ITER_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/aux_/type_wrapper.hpp000066400000000000000000000022351265471724600240100ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/unwrap.hpp000066400000000000000000000016411265471724600226030ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/value_wknd.hpp000066400000000000000000000037551265471724600234360ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/aux_/yes_no.hpp000066400000000000000000000022341265471724600225620ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/back.hpp000066400000000000000000000016051265471724600212330ustar00rootroot00000000000000 #ifndef BOOST_MPL_BACK_HPP_INCLUDED #define BOOST_MPL_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) > struct back : back_impl< typename sequence_tag::type > ::template apply< Sequence > { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,back,(Sequence)) }; BOOST_MPL_AUX_NA_SPEC(1, back) }} #endif // BOOST_MPL_BACK_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/back_fwd.hpp000066400000000000000000000010401265471724600220640ustar00rootroot00000000000000 #ifndef BOOST_MPL_BACK_FWD_HPP_INCLUDED #define BOOST_MPL_BACK_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$ namespace boost { namespace mpl { template< typename Tag > struct back_impl; template< typename Sequence > struct back; }} #endif // BOOST_MPL_BACK_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/back_inserter.hpp000066400000000000000000000012561265471724600231500ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/base.hpp000066400000000000000000000013141265471724600212420ustar00rootroot00000000000000 #ifndef BOOST_MPL_BASE_HPP_INCLUDED #define BOOST_MPL_BASE_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 BOOST_MPL_AUX_NA_PARAM(T) > struct base { typedef typename T::base type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,base,(T)) }; BOOST_MPL_AUX_NA_SPEC(1, base) }} #endif // BOOST_MPL_BASE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/begin.hpp000066400000000000000000000006701265471724600214200ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/begin_end.hpp000066400000000000000000000026441265471724600222510ustar00rootroot00000000000000 #ifndef BOOST_MPL_BEGIN_END_HPP_INCLUDED #define BOOST_MPL_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 #include namespace boost { namespace mpl { // agurt, 13/sep/02: switched from inheritance to typedef; MSVC is more // happy this way (less ETI-related errors), and it doesn't affect // anything else template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) > struct begin { typedef typename sequence_tag::type tag_; typedef typename begin_impl< tag_ > ::template apply< Sequence >::type type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,begin,(Sequence)) }; template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) > struct end { typedef typename sequence_tag::type tag_; typedef typename end_impl< tag_ > ::template apply< Sequence >::type type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,end,(Sequence)) }; BOOST_MPL_AUX_NA_SPEC(1, begin) BOOST_MPL_AUX_NA_SPEC(1, end) }} #endif // BOOST_MPL_BEGIN_END_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/begin_end_fwd.hpp000066400000000000000000000012061265471724600231020ustar00rootroot00000000000000 #ifndef BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED #define BOOST_MPL_BEGIN_END_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$ namespace boost { namespace mpl { template< typename Tag > struct begin_impl; template< typename Tag > struct end_impl; template< typename Sequence > struct begin; template< typename Sequence > struct end; }} #endif // BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/bind.hpp000066400000000000000000000351471265471724600212570ustar00rootroot00000000000000 #if !defined(BOOST_PP_IS_ITERATING) ///// header body #ifndef BOOST_MPL_BIND_HPP_INCLUDED #define BOOST_MPL_BIND_HPP_INCLUDED // 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) // // See http://www.boost.org/libs/mpl for documentation. // $Id$ // $Date$ // $Revision$ #if !defined(BOOST_MPL_PREPROCESSING_MODE) # include # include # include # include # include # include # include # include # include # include # if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) # include # endif #endif #include #include #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # if defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT) # define BOOST_MPL_PREPROCESSED_HEADER basic_bind.hpp # else # define BOOST_MPL_PREPROCESSED_HEADER bind.hpp # endif # include #else # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include namespace boost { namespace mpl { // local macros, #undef-ined at the end of the header # define AUX778076_APPLY \ BOOST_PP_CAT(apply_wrap,BOOST_MPL_LIMIT_METAFUNCTION_ARITY) \ /**/ # if defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS) # define AUX778076_DMC_PARAM() , int dummy_ # else # define AUX778076_DMC_PARAM() # endif # define AUX778076_BIND_PARAMS(param) \ BOOST_MPL_PP_PARAMS( \ BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ , param \ ) \ /**/ # define AUX778076_BIND_DEFAULT_PARAMS(param, value) \ BOOST_MPL_PP_DEFAULT_PARAMS( \ BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ , param \ , value \ ) \ /**/ # define AUX778076_BIND_N_PARAMS(n, param) \ BOOST_PP_COMMA_IF(n) BOOST_MPL_PP_PARAMS(n, param) \ /**/ # define AUX778076_BIND_N_SPEC_PARAMS(n, param, def) \ BOOST_PP_COMMA_IF(n) \ BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \ /**/ #if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) # define AUX778076_BIND_NESTED_DEFAULT_PARAMS(param, value) \ AUX778076_BIND_DEFAULT_PARAMS(param, value) \ /**/ #else # define AUX778076_BIND_NESTED_DEFAULT_PARAMS(param, value) \ AUX778076_BIND_PARAMS(param) \ /**/ #endif namespace aux { #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename T, AUX778076_BIND_PARAMS(typename U) > struct resolve_bind_arg { typedef T type; }; # if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT) 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; }; # endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT template< BOOST_MPL_AUX_NTTP_DECL(int, N), AUX778076_BIND_PARAMS(typename U) > struct resolve_bind_arg< arg,AUX778076_BIND_PARAMS(U) > { typedef typename AUX778076_APPLY, AUX778076_BIND_PARAMS(U)>::type type; }; #if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) template< typename F, AUX778076_BIND_PARAMS(typename T), AUX778076_BIND_PARAMS(typename U) > struct resolve_bind_arg< bind,AUX778076_BIND_PARAMS(U) > { typedef bind f_; typedef typename AUX778076_APPLY::type type; }; #endif #else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION // agurt, 15/jan/02: it's not a intended to be used as a function class, and // MSVC6.5 has problems with 'apply' name here (the code compiles, but doesn't // work), so I went with the 'result_' here, and in all other similar cases template< bool > struct resolve_arg_impl { template< typename T, AUX778076_BIND_PARAMS(typename U) > struct result_ { typedef T type; }; }; template<> struct resolve_arg_impl { template< typename T, AUX778076_BIND_PARAMS(typename U) > struct result_ { typedef typename AUX778076_APPLY< T , AUX778076_BIND_PARAMS(U) >::type type; }; }; // for 'resolve_bind_arg' template< typename T > struct is_bind_template; template< typename T, AUX778076_BIND_PARAMS(typename U) > struct resolve_bind_arg : resolve_arg_impl< is_bind_template::value > ::template result_< T,AUX778076_BIND_PARAMS(U) > { }; # if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT) 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_ { }; # endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT // agurt, 10/mar/02: the forward declaration has to appear before any of // 'is_bind_helper' overloads, otherwise MSVC6.5 issues an ICE on it template< BOOST_MPL_AUX_NTTP_DECL(int, arity_) > struct bind_chooser; aux::no_tag is_bind_helper(...); template< typename T > aux::no_tag is_bind_helper(protect*); // overload for "main" form // agurt, 15/mar/02: MSVC 6.5 fails to properly resolve the overload // in case if we use 'aux::type_wrapper< bind<...> >' here, and all // 'bind' instantiations form a complete type anyway #if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) template< typename F, AUX778076_BIND_PARAMS(typename T) > aux::yes_tag is_bind_helper(bind*); #endif template< BOOST_MPL_AUX_NTTP_DECL(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_ { }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION } // namespace aux #define BOOST_PP_ITERATION_PARAMS_1 \ (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) #include BOOST_PP_ITERATE() #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ && !defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) /// if_/eval_if specializations # define AUX778076_SPEC_NAME if_ # define BOOST_PP_ITERATION_PARAMS_1 (3,(3, 3, )) # include BOOST_PP_ITERATE() #if !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS) # define AUX778076_SPEC_NAME eval_if # define BOOST_PP_ITERATION_PARAMS_1 (3,(3, 3, )) # include BOOST_PP_ITERATE() #endif #endif // real C++ version is already taken care of #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ && !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) namespace aux { // apply_count_args #define AUX778076_COUNT_ARGS_PREFIX bind #define AUX778076_COUNT_ARGS_DEFAULT na #define AUX778076_COUNT_ARGS_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY #include } // bind template< typename F, AUX778076_BIND_PARAMS(typename T) AUX778076_DMC_PARAM() > struct bind : aux::bind_chooser< aux::bind_count_args::value >::template result_< F,AUX778076_BIND_PARAMS(T) >::type { }; BOOST_MPL_AUX_ARITY_SPEC( BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) , bind ) BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC( BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) , bind ) #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION # undef AUX778076_BIND_NESTED_DEFAULT_PARAMS # undef AUX778076_BIND_N_SPEC_PARAMS # undef AUX778076_BIND_N_PARAMS # undef AUX778076_BIND_DEFAULT_PARAMS # undef AUX778076_BIND_PARAMS # undef AUX778076_DMC_PARAM # undef AUX778076_APPLY }} #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_BIND_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) #if defined(AUX778076_SPEC_NAME) // lazy metafunction specialization template< template< BOOST_MPL_PP_PARAMS(i_, typename T) > class F, typename Tag > struct BOOST_PP_CAT(quote,i_); template< BOOST_MPL_PP_PARAMS(i_, typename T) > struct AUX778076_SPEC_NAME; template< typename Tag AUX778076_BIND_N_PARAMS(i_, typename T) > struct BOOST_PP_CAT(bind,i_)< BOOST_PP_CAT(quote,i_) AUX778076_BIND_N_PARAMS(i_,T) > { template< AUX778076_BIND_NESTED_DEFAULT_PARAMS(typename U, na) > struct apply { private: typedef mpl::arg<1> n1; # define BOOST_PP_ITERATION_PARAMS_2 (3,(1, i_, )) # include BOOST_PP_ITERATE() typedef typename AUX778076_SPEC_NAME< typename t1::type , BOOST_MPL_PP_EXT_PARAMS(2, BOOST_PP_INC(i_), t) >::type f_; public: typedef typename f_::type type; }; }; #undef AUX778076_SPEC_NAME #else // AUX778076_SPEC_NAME template< typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM() > struct BOOST_PP_CAT(bind,i_) { template< AUX778076_BIND_NESTED_DEFAULT_PARAMS(typename U, na) > struct apply { private: # if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT) 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::type f_; /// # else typedef typename aux::resolve_bind_arg::type f_; # endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT # if i_ > 0 # define BOOST_PP_ITERATION_PARAMS_2 (3,(1, i_, )) # include BOOST_PP_ITERATE() # endif public: # define AUX778076_ARG(unused, i_, t) \ BOOST_PP_COMMA_IF(i_) \ typename BOOST_PP_CAT(t,BOOST_PP_INC(i_))::type \ /**/ typedef typename BOOST_PP_CAT(apply_wrap,i_)< f_ BOOST_PP_COMMA_IF(i_) BOOST_MPL_PP_REPEAT(i_, AUX778076_ARG, t) >::type type; # undef AUX778076_ARG }; }; namespace aux { #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename F AUX778076_BIND_N_PARAMS(i_, typename T), AUX778076_BIND_PARAMS(typename U) > struct resolve_bind_arg< BOOST_PP_CAT(bind,i_),AUX778076_BIND_PARAMS(U) > { typedef BOOST_PP_CAT(bind,i_) f_; typedef typename AUX778076_APPLY::type type; }; #else template< typename F AUX778076_BIND_N_PARAMS(i_, typename T) > aux::yes_tag is_bind_helper(BOOST_PP_CAT(bind,i_)*); #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION } // namespace aux BOOST_MPL_AUX_ARITY_SPEC(BOOST_PP_INC(i_), BOOST_PP_CAT(bind,i_)) BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(BOOST_PP_INC(i_), BOOST_PP_CAT(bind,i_)) # if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) # if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) #if i_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY /// primary template (not a specialization!) template< typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM() > struct bind : BOOST_PP_CAT(bind,i_) { }; #else template< typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM() > struct bind< F AUX778076_BIND_N_SPEC_PARAMS(i_, T, na) > : BOOST_PP_CAT(bind,i_) { }; #endif # else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION namespace aux { template<> struct bind_chooser { template< typename F, AUX778076_BIND_PARAMS(typename T) > struct result_ { typedef BOOST_PP_CAT(bind,i_)< F AUX778076_BIND_N_PARAMS(i_,T) > type; }; }; } // namespace aux # endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION # endif // BOOST_MPL_CFG_NO_BIND_TEMPLATE #endif // AUX778076_SPEC_NAME # undef i_ ///// iteration, depth == 2 #elif BOOST_PP_ITERATION_DEPTH() == 2 # define j_ BOOST_PP_FRAME_ITERATION(2) # if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT) typedef aux::replace_unnamed_arg< BOOST_PP_CAT(T,j_),BOOST_PP_CAT(n,j_) > BOOST_PP_CAT(r,j_); typedef typename BOOST_PP_CAT(r,j_)::type BOOST_PP_CAT(a,j_); typedef typename BOOST_PP_CAT(r,j_)::next BOOST_PP_CAT(n,BOOST_PP_INC(j_)); typedef aux::resolve_bind_arg BOOST_PP_CAT(t,j_); /// # else typedef aux::resolve_bind_arg< BOOST_PP_CAT(T,j_),AUX778076_BIND_PARAMS(U)> BOOST_PP_CAT(t,j_); # endif # undef j_ #endif // BOOST_PP_ITERATION_DEPTH() #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/bind_fwd.hpp000066400000000000000000000046751265471724600221210ustar00rootroot00000000000000 #if !defined(BOOST_PP_IS_ITERATING) ///// header body #ifndef BOOST_MPL_BIND_FWD_HPP_INCLUDED #define BOOST_MPL_BIND_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$ #if !defined(BOOST_MPL_PREPROCESSING_MODE) # include #endif #include #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER bind_fwd.hpp # include #else # include # include # include # include # include # include # include namespace boost { namespace mpl { // local macros, #undef-ined at the end of the header # if defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS) # define AUX778076_DMC_PARAM() , int dummy_ = 0 # else # define AUX778076_DMC_PARAM() # endif # define AUX778076_BIND_DEFAULT_PARAMS(param, value) \ BOOST_MPL_PP_DEFAULT_PARAMS( \ BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ , param \ , value \ ) \ AUX778076_DMC_PARAM() \ /**/ # define AUX778076_BIND_N_PARAMS(n, param) \ BOOST_PP_COMMA_IF(n) BOOST_MPL_PP_PARAMS(n, param) \ AUX778076_DMC_PARAM() \ /**/ #if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) template< typename F, AUX778076_BIND_DEFAULT_PARAMS(typename T, na) > struct bind; #endif #define BOOST_PP_ITERATION_PARAMS_1 \ (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) #include BOOST_PP_ITERATE() # undef AUX778076_BIND_N_PARAMS # undef AUX778076_BIND_DEFAULT_PARAMS # undef AUX778076_DMC_PARAM }} #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_BIND_FWD_HPP_INCLUDED ///// iteration #else #define i_ BOOST_PP_FRAME_ITERATION(1) template< typename F AUX778076_BIND_N_PARAMS(i_, typename T) > struct BOOST_PP_CAT(bind,i_); #undef i_ #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/bitand.hpp000066400000000000000000000021721265471724600215740ustar00rootroot00000000000000 #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_VER) && !defined(__clang__) #ifndef __GCCXML__ #if defined(bitand) # pragma push_macro("bitand") # undef bitand # define bitand(x) #endif #endif #endif #define AUX778076_OP_NAME bitand_ #define AUX778076_OP_PREFIX bitand #define AUX778076_OP_TOKEN & #include #if defined(_MSC_VER) && !defined(__clang__) #ifndef __GCCXML__ #if defined(bitand) # pragma pop_macro("bitand") #endif #endif #endif #endif // BOOST_MPL_BITAND_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/bitor.hpp000066400000000000000000000021551265471724600214530ustar00rootroot00000000000000 #ifndef BOOST_MPL_BITOR_HPP_INCLUDED #define BOOST_MPL_BITOR_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(bitor)' // has to be checked in a separate condition, otherwise GCC complains // about 'bitor' being an alternative token #if defined(_MSC_VER) && !defined(__clang__) #ifndef __GCCXML__ #if defined(bitor) # pragma push_macro("bitor") # undef bitor # define bitor(x) #endif #endif #endif #define AUX778076_OP_NAME bitor_ #define AUX778076_OP_PREFIX bitor #define AUX778076_OP_TOKEN | #include #if defined(_MSC_VER) && !defined(__clang__) #ifndef __GCCXML__ #if defined(bitor) # pragma pop_macro("bitor") #endif #endif #endif #endif // BOOST_MPL_BITOR_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/bitwise.hpp000066400000000000000000000011451265471724600220000ustar00rootroot00000000000000 #ifndef BOOST_MPL_BITWISE_HPP_INCLUDED #define BOOST_MPL_BITWISE_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2003-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$ #include #include #include #include #include #endif // BOOST_MPL_BITWISE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/bitxor.hpp000066400000000000000000000011131265471724600216340ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/bool.hpp000066400000000000000000000017041265471724600212660ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/bool_fwd.hpp000066400000000000000000000013761265471724600221330ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/char.hpp000066400000000000000000000010771265471724600212530ustar00rootroot00000000000000 #ifndef BOOST_MPL_CHAR_HPP_INCLUDED #define BOOST_MPL_CHAR_HPP_INCLUDED // Copyright Eric Niebler 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. // $Source$ // $Date: 2008-06-14 08:41:37 -0700 (Sat, 16 Jun 2008) $ // $Revision: 24874 $ #include #define AUX_WRAPPER_VALUE_TYPE char #include #endif // BOOST_MPL_CHAR_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/char_fwd.hpp000066400000000000000000000013361265471724600221110ustar00rootroot00000000000000 #ifndef BOOST_MPL_CHAR_FWD_HPP_INCLUDED #define BOOST_MPL_CHAR_FWD_HPP_INCLUDED // Copyright Eric Niebler 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. // $Source$ // $Date: 2008-06-14 08:41:37 -0700 (Sat, 16 Jun 2008) $ // $Revision: 24874 $ #include #include BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN template< BOOST_MPL_AUX_NTTP_DECL(char, N) > struct char_; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE BOOST_MPL_AUX_ADL_BARRIER_DECL(char_) #endif // BOOST_MPL_CHAR_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/clear.hpp000066400000000000000000000016161265471724600214230ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/clear_fwd.hpp000066400000000000000000000010451265471724600222570ustar00rootroot00000000000000 #ifndef BOOST_MPL_CLEAR_FWD_HPP_INCLUDED #define BOOST_MPL_CLEAR_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$ namespace boost { namespace mpl { template< typename Tag > struct clear_impl; template< typename Sequence > struct clear; }} #endif // BOOST_MPL_CLEAR_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/comparison.hpp000066400000000000000000000011731265471724600225050ustar00rootroot00000000000000 #ifndef BOOST_MPL_COMPARISON_HPP_INCLUDED #define BOOST_MPL_COMPARISON_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 #endif // BOOST_MPL_COMPARISON_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/contains.hpp000066400000000000000000000017611265471724600221540ustar00rootroot00000000000000 #ifndef BOOST_MPL_CONTAINS_HPP_INCLUDED #define BOOST_MPL_CONTAINS_HPP_INCLUDED // Copyright Eric Friedman 2002 // 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 #include #include #include namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) , typename BOOST_MPL_AUX_NA_PARAM(T) > struct contains : contains_impl< typename sequence_tag::type > ::template apply< Sequence,T > { BOOST_MPL_AUX_LAMBDA_SUPPORT(2,contains,(Sequence,T)) }; BOOST_MPL_AUX_NA_SPEC(2, contains) }} #endif // BOOST_MPL_CONTAINS_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/contains_fwd.hpp000066400000000000000000000011331265471724600230050ustar00rootroot00000000000000 #ifndef BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED #define BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED // Copyright Eric Friedman 2002 // 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$ namespace boost { namespace mpl { template< typename Tag > struct contains_impl; template< typename Sequence, typename T > struct contains; }} #endif // BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/copy.hpp000066400000000000000000000021221265471724600213000ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/copy_if.hpp000066400000000000000000000040451265471724600217640ustar00rootroot00000000000000 #ifndef BOOST_MPL_COPY_IF_HPP_INCLUDED #define BOOST_MPL_COPY_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 Operation , typename Predicate > struct copy_if_op { template< typename Sequence, typename T > struct apply #if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) : eval_if< typename apply1::type , apply2 , identity > { #else { typedef typename eval_if< typename apply1::type , apply2 , identity >::type type; #endif }; }; template< typename Sequence , typename Predicate , typename Inserter > struct copy_if_impl : fold< Sequence , typename Inserter::state , protect< aux::copy_if_op< typename Inserter::operation , Predicate > > > { }; template< typename Sequence , typename Predicate , typename Inserter > struct reverse_copy_if_impl : reverse_fold< Sequence , typename Inserter::state , protect< aux::copy_if_op< typename Inserter::operation , Predicate > > > { }; } // namespace aux BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, copy_if) }} #endif // BOOST_MPL_COPY_IF_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/count.hpp000066400000000000000000000016711265471724600214660ustar00rootroot00000000000000 #ifndef BOOST_MPL_COUNT_HPP_INCLUDED #define BOOST_MPL_COUNT_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 count : count_impl< typename sequence_tag::type > ::template apply { BOOST_MPL_AUX_LAMBDA_SUPPORT(2,count,(Sequence,T)) }; BOOST_MPL_AUX_NA_SPEC(2, count) }} #endif // BOOST_MPL_COUNT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/count_fwd.hpp000066400000000000000000000010611265471724600223170ustar00rootroot00000000000000 #ifndef BOOST_MPL_COUNT_FWD_HPP_INCLUDED #define BOOST_MPL_COUNT_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$ namespace boost { namespace mpl { template< typename Tag > struct count_impl; template< typename Sequence, typename T > struct count; }} #endif // BOOST_MPL_COUNT_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/count_if.hpp000066400000000000000000000033461265471724600221450ustar00rootroot00000000000000 #ifndef BOOST_MPL_COUNT_IF_HPP_INCLUDED #define BOOST_MPL_COUNT_IF_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2000-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 #include #include #include #include #include namespace boost { namespace mpl { namespace aux { template< typename Predicate > struct next_if { template< typename N , typename T > struct apply #if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) : eval_if< typename apply1::type , next , identity > { #else { typedef typename eval_if< typename apply1::type , next , identity >::type type; #endif }; }; } // namespace aux template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) , typename BOOST_MPL_AUX_NA_PARAM(Predicate) > struct count_if : aux::msvc_eti_base< typename fold< Sequence , integral_c , protect< aux::next_if > >::type > { BOOST_MPL_AUX_LAMBDA_SUPPORT(2,count_if,(Sequence,Predicate)) }; BOOST_MPL_AUX_NA_SPEC(2, count_if) }} #endif // BOOST_MPL_COUNT_IF_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/deque.hpp000066400000000000000000000032221265471724600214330ustar00rootroot00000000000000 #ifndef BOOST_MPL_DEQUE_HPP_INCLUDED #define BOOST_MPL_DEQUE_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_DEQUE_HEADER \ BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE).hpp \ /**/ #else # define AUX778076_DEQUE_HEADER \ BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE)##.hpp \ /**/ #endif # include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX778076_DEQUE_HEADER) # undef AUX778076_DEQUE_HEADER #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER deque.hpp # include #else # include # define AUX778076_SEQUENCE_NAME deque # define AUX778076_SEQUENCE_BASE_NAME vector # define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_VECTOR_SIZE # include #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_DEQUE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/deref.hpp000066400000000000000000000016531265471724600214230ustar00rootroot00000000000000 #ifndef BOOST_MPL_DEREF_HPP_INCLUDED #define BOOST_MPL_DEREF_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 namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(Iterator) > struct deref { #if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) typedef typename Iterator::type type; #else typedef typename aux::msvc_type::type type; #endif BOOST_MPL_AUX_LAMBDA_SUPPORT(1,deref,(Iterator)) }; BOOST_MPL_AUX_NA_SPEC(1, deref) }} #endif // BOOST_MPL_DEREF_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/distance.hpp000066400000000000000000000037541265471724600221340ustar00rootroot00000000000000 #ifndef BOOST_MPL_DISTANCE_HPP_INCLUDED #define BOOST_MPL_DISTANCE_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 distance_impl { template< typename First, typename Last > struct apply #if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) : aux::msvc_eti_base< typename iter_fold< iterator_range , mpl::long_<0> , next<> >::type > { #else { typedef typename iter_fold< iterator_range , mpl::long_<0> , next<> >::type type; BOOST_STATIC_CONSTANT(long, value = (iter_fold< iterator_range , mpl::long_<0> , next<> >::type::value) ); #endif }; }; template< typename BOOST_MPL_AUX_NA_PARAM(First) , typename BOOST_MPL_AUX_NA_PARAM(Last) > struct distance : distance_impl< typename tag::type > ::template apply { BOOST_MPL_AUX_LAMBDA_SUPPORT(2, distance, (First, Last)) }; BOOST_MPL_AUX_NA_SPEC(2, distance) }} #endif // BOOST_MPL_DISTANCE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/distance_fwd.hpp000066400000000000000000000012321265471724600227610ustar00rootroot00000000000000 #ifndef BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED #define BOOST_MPL_DISTANCE_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 namespace boost { namespace mpl { BOOST_MPL_AUX_COMMON_NAME_WKND(distance) template< typename Tag > struct distance_impl; template< typename First, typename Last > struct distance; }} #endif // BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/divides.hpp000066400000000000000000000010131265471724600217530ustar00rootroot00000000000000 #ifndef BOOST_MPL_DIVIDES_HPP_INCLUDED #define BOOST_MPL_DIVIDES_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 divides #define AUX778076_OP_TOKEN / #include #endif // BOOST_MPL_DIVIDES_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/empty.hpp000066400000000000000000000016161265471724600214730ustar00rootroot00000000000000 #ifndef BOOST_MPL_EMPTY_HPP_INCLUDED #define BOOST_MPL_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 #include #include namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) > struct empty : empty_impl< typename sequence_tag::type > ::template apply< Sequence > { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,empty,(Sequence)) }; BOOST_MPL_AUX_NA_SPEC(1, empty) }} #endif // BOOST_MPL_EMPTY_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/empty_base.hpp000066400000000000000000000025041265471724600224620ustar00rootroot00000000000000 #ifndef BOOST_MPL_EMPTY_BASE_HPP_INCLUDED #define BOOST_MPL_EMPTY_BASE_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 // should be always the last #include directive #include namespace boost { namespace mpl { // empty base class, guaranteed to have no members; inheritance from // 'empty_base' through the 'inherit' metafunction is a no-op - see // "mpl/inherit.hpp> header for the details struct empty_base {}; template< typename T > struct is_empty_base : false_ { #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) using false_::value; #endif }; template<> struct is_empty_base : true_ { #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) using true_::value; #endif }; }} namespace boost { BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_empty, mpl::empty_base, true) } #include #endif // BOOST_MPL_EMPTY_BASE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/empty_fwd.hpp000066400000000000000000000010451265471724600223270ustar00rootroot00000000000000 #ifndef BOOST_MPL_EMPTY_FWD_HPP_INCLUDED #define BOOST_MPL_EMPTY_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$ namespace boost { namespace mpl { template< typename Tag > struct empty_impl; template< typename Sequence > struct empty; }} #endif // BOOST_MPL_EMPTY_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/empty_sequence.hpp000066400000000000000000000015711265471724600233630ustar00rootroot00000000000000 #ifndef BOOST_MPL_EMPTY_SEQUENCE_HPP_INCLUDED #define BOOST_MPL_EMPTY_SEQUENCE_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2004 // Copyright Alexander Nasonov 2004 // // Distributed under the Boost Software License, Version 1.0. // (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 { struct empty_sequence { struct tag; struct begin { typedef random_access_iterator_tag category; }; typedef begin end; }; template<> struct size_impl { template< typename Sequence > struct apply : int_<0> { }; }; }} #endif // #ifndef BOOST_MPL_EMPTY_SEQUENCE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/end.hpp000066400000000000000000000006621265471724600211030ustar00rootroot00000000000000 #ifndef BOOST_MPL_END_HPP_INCLUDED #define BOOST_MPL_END_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_END_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/equal.hpp000066400000000000000000000051541265471724600214450ustar00rootroot00000000000000 #ifndef BOOST_MPL_EQUAL_HPP_INCLUDED #define BOOST_MPL_EQUAL_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 #include #include #include #include namespace boost { namespace mpl { namespace aux { template< typename Predicate , typename LastIterator1 , typename LastIterator2 > struct equal_pred { template< typename Iterator2 , typename Iterator1 > struct apply { typedef typename and_< not_< is_same > , not_< is_same > , aux::iter_apply2 >::type type; }; }; template< typename Sequence1 , typename Sequence2 , typename Predicate > struct equal_impl { typedef typename begin::type first1_; typedef typename begin::type first2_; typedef typename end::type last1_; typedef typename end::type last2_; typedef aux::iter_fold_if_impl< first1_ , first2_ , next<> , protect< aux::equal_pred > , void_ , always > fold_; typedef typename fold_::iterator iter1_; typedef typename fold_::state iter2_; typedef and_< is_same , is_same > result_; typedef typename result_::type type; }; } // namespace aux template< typename BOOST_MPL_AUX_NA_PARAM(Sequence1) , typename BOOST_MPL_AUX_NA_PARAM(Sequence2) , typename Predicate = is_same<_,_> > struct equal : aux::msvc_eti_base< typename aux::equal_impl::type >::type { BOOST_MPL_AUX_LAMBDA_SUPPORT(2,equal,(Sequence1,Sequence2)) }; BOOST_MPL_AUX_NA_SPEC(2, equal) }} #endif // BOOST_MPL_EQUAL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/equal_to.hpp000066400000000000000000000010201265471724600221330ustar00rootroot00000000000000 #ifndef BOOST_MPL_EQUAL_TO_HPP_INCLUDED #define BOOST_MPL_EQUAL_TO_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 equal_to #define AUX778076_OP_TOKEN == #include #endif // BOOST_MPL_EQUAL_TO_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/erase.hpp000066400000000000000000000020571265471724600214340ustar00rootroot00000000000000 #ifndef BOOST_MPL_ERASE_HPP_INCLUDED #define BOOST_MPL_ERASE_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(Sequence) , typename BOOST_MPL_AUX_NA_PARAM(First) , typename BOOST_MPL_AUX_NA_PARAM(Last) > struct erase : erase_impl< typename sequence_tag::type > ::template apply< Sequence,First,Last > { BOOST_MPL_AUX_LAMBDA_SUPPORT(3,erase,(Sequence,First,Last)) }; BOOST_MPL_AUX_NA_SPEC(3,erase) }} #endif // BOOST_MPL_ERASE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/erase_fwd.hpp000066400000000000000000000011041265471724600222640ustar00rootroot00000000000000 #ifndef BOOST_MPL_ERASE_FWD_HPP_INCLUDED #define BOOST_MPL_ERASE_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$ namespace boost { namespace mpl { template< typename Tag > struct erase_impl; template< typename Sequence, typename First, typename Last > struct erase; }} #endif // BOOST_MPL_ERASE_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/erase_key.hpp000066400000000000000000000020271265471724600223010ustar00rootroot00000000000000 #ifndef BOOST_MPL_ERASE_KEY_HPP_INCLUDED #define BOOST_MPL_ERASE_KEY_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(Sequence) , typename BOOST_MPL_AUX_NA_PARAM(Key) > struct erase_key : erase_key_impl< typename sequence_tag::type > ::template apply< Sequence,Key > { BOOST_MPL_AUX_LAMBDA_SUPPORT(2,erase_key,(Sequence,Key)) }; BOOST_MPL_AUX_NA_SPEC(2,erase_key) }} #endif // BOOST_MPL_ERASE_KEY_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/erase_key_fwd.hpp000066400000000000000000000011071265471724600231370ustar00rootroot00000000000000 #ifndef BOOST_MPL_ERASE_KEY_FWD_HPP_INCLUDED #define BOOST_MPL_ERASE_KEY_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$ namespace boost { namespace mpl { template< typename Tag > struct erase_key_impl; template< typename Sequence, typename Key > struct erase_key; }} #endif // BOOST_MPL_ERASE_KEY_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/eval_if.hpp000066400000000000000000000033321265471724600217370ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/filter_view.hpp000066400000000000000000000021711265471724600226510ustar00rootroot00000000000000 #ifndef BOOST_MPL_FILTER_VIEW_HPP_INCLUDED #define BOOST_MPL_FILTER_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 namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) , typename BOOST_MPL_AUX_NA_PARAM(Predicate) > struct filter_view { private: typedef typename lambda::type pred_; typedef typename begin::type first_; typedef typename end::type last_; public: struct tag; typedef filter_view type; typedef typename aux::next_filter_iter< first_,last_,pred_ >::type begin; typedef aux::filter_iter< last_,last_,pred_ > end; }; BOOST_MPL_AUX_NA_SPEC(2, filter_view) }} #endif // BOOST_MPL_FILTER_VIEW_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/find.hpp000066400000000000000000000015111265471724600212470ustar00rootroot00000000000000 #ifndef BOOST_MPL_FIND_HPP_INCLUDED #define BOOST_MPL_FIND_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2000-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 namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) , typename BOOST_MPL_AUX_NA_PARAM(T) > struct find : find_if< Sequence,same_as > { BOOST_MPL_AUX_LAMBDA_SUPPORT(2,find,(Sequence,T)) }; BOOST_MPL_AUX_NA_SPEC(2, find) }} #endif // BOOST_MPL_FIND_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/find_if.hpp000066400000000000000000000022541265471724600217320ustar00rootroot00000000000000 #ifndef BOOST_MPL_FIND_IF_HPP_INCLUDED #define BOOST_MPL_FIND_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 { BOOST_MPL_AUX_COMMON_NAME_WKND(find_if) template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) , typename BOOST_MPL_AUX_NA_PARAM(Predicate) > struct find_if { typedef typename iter_fold_if< Sequence , void , mpl::arg<1> // ignore , protect< aux::find_if_pred > >::type result_; typedef typename second::type type; BOOST_MPL_AUX_LAMBDA_SUPPORT(2,find_if,(Sequence,Predicate)) }; BOOST_MPL_AUX_NA_SPEC(2,find_if) }} #endif // BOOST_MPL_FIND_IF_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/fold.hpp000066400000000000000000000022311265471724600212530ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/for_each.hpp000066400000000000000000000060051265471724600221000ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/front.hpp000066400000000000000000000016161265471724600214650ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/front_fwd.hpp000066400000000000000000000010451265471724600223210ustar00rootroot00000000000000 #ifndef BOOST_MPL_FRONT_FWD_HPP_INCLUDED #define BOOST_MPL_FRONT_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$ namespace boost { namespace mpl { template< typename Tag > struct front_impl; template< typename Sequence > struct front; }} #endif // BOOST_MPL_FRONT_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/front_inserter.hpp000066400000000000000000000012641265471724600233770ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/greater.hpp000066400000000000000000000010131265471724600217550ustar00rootroot00000000000000 #ifndef BOOST_MPL_GREATER_HPP_INCLUDED #define BOOST_MPL_GREATER_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 greater #define AUX778076_OP_TOKEN > #include #endif // BOOST_MPL_GREATER_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/greater_equal.hpp000066400000000000000000000010441265471724600231500ustar00rootroot00000000000000 #ifndef BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED #define BOOST_MPL_GREATER_EQUAL_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 greater_equal #define AUX778076_OP_TOKEN >= #include #endif // BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/has_key.hpp000066400000000000000000000020431265471724600217530ustar00rootroot00000000000000 #ifndef BOOST_MPL_HAS_KEY_HPP_INCLUDED #define BOOST_MPL_HAS_KEY_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 namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(AssociativeSequence) , typename BOOST_MPL_AUX_NA_PARAM(Key) > struct has_key : has_key_impl< typename sequence_tag::type > ::template apply { BOOST_MPL_AUX_LAMBDA_SUPPORT(2,has_key,(AssociativeSequence,Key)) }; BOOST_MPL_AUX_NA_SPEC(2, has_key) }} #endif // BOOST_MPL_HAS_KEY_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/has_key_fwd.hpp000066400000000000000000000011561265471724600226170ustar00rootroot00000000000000 #ifndef BOOST_MPL_HAS_KEY_FWD_HPP_INCLUDED #define BOOST_MPL_HAS_KEY_FWD_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 Tag > struct has_key_impl; template< typename AssociativeSequence, typename Key > struct has_key; }} #endif // BOOST_MPL_HAS_KEY_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/has_xxx.hpp000066400000000000000000000530441265471724600220210ustar00rootroot00000000000000 #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( __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( __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(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(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 KWStyle-master/Utilities/boost/mpl/identity.hpp000066400000000000000000000016671265471724600221740ustar00rootroot00000000000000 #ifndef BOOST_MPL_IDENTITY_HPP_INCLUDED #define BOOST_MPL_IDENTITY_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 BOOST_MPL_AUX_NA_PARAM(T) > struct identity { typedef T type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1, identity, (T)) }; template< typename BOOST_MPL_AUX_NA_PARAM(T) > struct make_identity { typedef identity type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1, make_identity, (T)) }; BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, identity) BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, make_identity) }} #endif // BOOST_MPL_IDENTITY_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/if.hpp000066400000000000000000000055401265471724600207330ustar00rootroot00000000000000 #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 http://article.gmane.org/gmane.comp.lib.boost.devel/108959 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 KWStyle-master/Utilities/boost/mpl/index_if.hpp000066400000000000000000000027441265471724600221250ustar00rootroot00000000000000 #ifndef BOOST_MPL_INDEX_IF_HPP_INCLUDED #define BOOST_MPL_INDEX_IF_HPP_INCLUDED // Copyright Eric Friedman 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 #include #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(Predicate) > struct index_if { typedef typename iter_fold_if< Sequence , int_<0> , next<> , aux::find_if_pred >::type result_; typedef typename end::type not_found_; typedef typename first::type result_index_; typedef typename second::type result_iterator_; typedef typename if_< is_same< result_iterator_,not_found_ > , void_ , result_index_ >::type type; BOOST_MPL_AUX_LAMBDA_SUPPORT(2,index_if,(Sequence,Predicate)) }; BOOST_MPL_AUX_NA_SPEC(2, index_if) }} #endif // BOOST_MPL_INDEX_IF_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/index_of.hpp000066400000000000000000000016031265471724600221240ustar00rootroot00000000000000 #ifndef BOOST_MPL_INDEX_OF_HPP_INCLUDED #define BOOST_MPL_INDEX_OF_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2003-2004 // Copyright Eric Friedman 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 #include #include namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) , typename BOOST_MPL_AUX_NA_PARAM(T) > struct index_of : index_if< Sequence,same_as > { BOOST_MPL_AUX_LAMBDA_SUPPORT(2,index_of,(Sequence,T)) }; BOOST_MPL_AUX_NA_SPEC(2, index_of) }} #endif // BOOST_MPL_INDEX_OF_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/inherit.hpp000066400000000000000000000130461265471724600217770ustar00rootroot00000000000000 #if !defined(BOOST_PP_IS_ITERATING) ///// header body #ifndef BOOST_MPL_INHERIT_HPP_INCLUDED #define BOOST_MPL_INHERIT_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 #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER inherit.hpp # include #else # include # include # include # include # include # include # include # include # include namespace boost { namespace mpl { // 'inherit' metafunction; returns an unspecified class type // produced by public derivation from all metafunction's parameters // (T1,T2,..,Tn), except the parameters of 'empty_base' class type; // regardless the position and number of 'empty_base' parameters in the // metafunction's argument list, derivation from them is always a no-op; // for instance: // inherit::type == her // inherit::type == struct unspecified : her, my {}; // inherit::type == her // inherit::type == her // inherit::type == struct unspecified : her, my {}; // inherit::type == empty_base #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) 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 { typedef T1 type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1,empty_base)) }; template< typename T2 > struct inherit2 { typedef T2 type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base,T2)) }; // needed to disambiguate the previous two in case when both // T1 and T2 == empty_base template<> struct inherit2 { typedef empty_base type; BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base,empty_base)) }; #else 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 { template< typename Derived, typename T1, typename T2 > struct result_ : T1 { typedef T1 type_; }; }; template<> struct inherit2_impl { template< typename Derived, typename T1, typename T2 > struct result_ : T2 { typedef T2 type_; }; }; template<> struct inherit2_impl { 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 > { typedef typename inherit2::type_ type; BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1,T2)) }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION BOOST_MPL_AUX_NA_SPEC(2, inherit2) #define BOOST_PP_ITERATION_PARAMS_1 \ (3,(3, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) #include BOOST_PP_ITERATE() }} #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_INHERIT_HPP_INCLUDED ///// iteration #else #define n_ BOOST_PP_FRAME_ITERATION(1) template< BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, na) > struct BOOST_PP_CAT(inherit,n_) : inherit2< typename BOOST_PP_CAT(inherit,BOOST_PP_DEC(n_))< BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(n_), T) >::type , BOOST_PP_CAT(T,n_) > { BOOST_MPL_AUX_LAMBDA_SUPPORT( n_ , BOOST_PP_CAT(inherit,n_) , (BOOST_MPL_PP_PARAMS(n_, T)) ) }; BOOST_MPL_AUX_NA_SPEC(n_, BOOST_PP_CAT(inherit,n_)) #if n_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY /// primary template template< BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, empty_base) > struct inherit : BOOST_PP_CAT(inherit,n_) { }; // 'na' specialization template<> struct inherit< BOOST_MPL_PP_ENUM(5, na) > { template< #if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, empty_base) #else BOOST_MPL_PP_PARAMS(n_, typename T) #endif > struct apply : inherit< BOOST_MPL_PP_PARAMS(n_, T) > { }; }; BOOST_MPL_AUX_NA_SPEC_LAMBDA(n_, inherit) BOOST_MPL_AUX_NA_SPEC_ARITY(n_, inherit) BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(n_, n_, inherit) #endif #undef n_ #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/inherit_linearly.hpp000066400000000000000000000017061265471724600236760ustar00rootroot00000000000000 #ifndef BOOST_MPL_INHERIT_FRONT_TO_BACK_HPP_INCLUDED #define BOOST_MPL_INHERIT_FRONT_TO_BACK_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 BOOST_MPL_AUX_NA_PARAM(Types_) , typename BOOST_MPL_AUX_NA_PARAM(Node_) , typename Root_ = empty_base > struct inherit_linearly : fold { BOOST_MPL_AUX_LAMBDA_SUPPORT(3,inherit_linearly,(Types_,Node_,Root_)) }; BOOST_MPL_AUX_NA_SPEC(2, inherit_linearly) }} #endif // BOOST_MPL_INHERIT_FRONT_TO_BACK_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/insert.hpp000066400000000000000000000020061265471724600216330ustar00rootroot00000000000000 #ifndef BOOST_MPL_INSERT_HPP_INCLUDED #define BOOST_MPL_INSERT_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(Pos_or_T) , typename BOOST_MPL_AUX_NA_PARAM(T) > struct insert : insert_impl< typename sequence_tag::type > ::template apply< Sequence,Pos_or_T,T > { BOOST_MPL_AUX_LAMBDA_SUPPORT(3,insert,(Sequence,Pos_or_T,T)) }; BOOST_MPL_AUX_NA_SPEC(3, insert) }} #endif // BOOST_MPL_INSERT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/insert_fwd.hpp000066400000000000000000000011111265471724600224670ustar00rootroot00000000000000 #ifndef BOOST_MPL_INSERT_FWD_HPP_INCLUDED #define BOOST_MPL_INSERT_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$ namespace boost { namespace mpl { template< typename Tag > struct insert_impl; template< typename Sequence, typename Pos_or_T, typename T > struct insert; }} #endif // BOOST_MPL_INSERT_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/insert_range.hpp000066400000000000000000000020711265471724600230110ustar00rootroot00000000000000 #ifndef BOOST_MPL_INSERT_RANGE_HPP_INCLUDED #define BOOST_MPL_INSERT_RANGE_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(Pos) , typename BOOST_MPL_AUX_NA_PARAM(Range) > struct insert_range : insert_range_impl< typename sequence_tag::type > ::template apply< Sequence,Pos,Range > { BOOST_MPL_AUX_LAMBDA_SUPPORT(3,insert_range,(Sequence,Pos,Range)) }; BOOST_MPL_AUX_NA_SPEC(3, insert_range) }} #endif // BOOST_MPL_INSERT_RANGE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/insert_range_fwd.hpp000066400000000000000000000011461265471724600236530ustar00rootroot00000000000000 #ifndef BOOST_MPL_INSERT_RANGE_FWD_HPP_INCLUDED #define BOOST_MPL_INSERT_RANGE_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$ namespace boost { namespace mpl { template< typename Tag > struct insert_range_impl; template< typename Sequence, typename Pos, typename Range > struct insert_range; }} #endif // BOOST_MPL_INSERT_RANGE_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/inserter.hpp000066400000000000000000000012101265471724600221560ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/int.hpp000066400000000000000000000010101265471724600211130ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/int_fwd.hpp000066400000000000000000000012461265471724600217660ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/integral_c.hpp000066400000000000000000000027431265471724600224460ustar00rootroot00000000000000 #ifndef BOOST_MPL_INTEGRAL_C_HPP_INCLUDED #define BOOST_MPL_INTEGRAL_C_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 #if BOOST_WORKAROUND(__HP_aCC, <= 53800) // the type of non-type template arguments may not depend on template arguments # define AUX_WRAPPER_PARAMS(N) typename T, long N #else # define AUX_WRAPPER_PARAMS(N) typename T, T N #endif #define AUX_WRAPPER_NAME integral_c #define AUX_WRAPPER_VALUE_TYPE T #define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< T, value > #include #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ && !BOOST_WORKAROUND(__BORLANDC__, <= 0x551) BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN // 'bool' constant doesn't have 'next'/'prior' members template< bool C > struct integral_c { BOOST_STATIC_CONSTANT(bool, value = C); typedef integral_c_tag tag; typedef integral_c type; typedef bool value_type; operator bool() const { return this->value; } }; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE #endif #endif // BOOST_MPL_INTEGRAL_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/integral_c_fwd.hpp000066400000000000000000000015671265471724600233110ustar00rootroot00000000000000 #ifndef BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED #define BOOST_MPL_INTEGRAL_C_FWD_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 BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN #if BOOST_WORKAROUND(__HP_aCC, <= 53800) // the type of non-type template arguments may not depend on template arguments template< typename T, long N > struct integral_c; #else template< typename T, T N > struct integral_c; #endif BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c) #endif // BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/integral_c_tag.hpp000066400000000000000000000013251265471724600232740ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/is_placeholder.hpp000066400000000000000000000027131265471724600233110ustar00rootroot00000000000000 #ifndef BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED #define BOOST_MPL_IS_PLACEHOLDER_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 #include #include #include namespace boost { namespace mpl { #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename T > struct is_placeholder : bool_ { }; template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct is_placeholder< arg > : bool_ { }; #else namespace aux { aux::no_tag is_placeholder_helper(...); template< BOOST_MPL_AUX_NTTP_DECL(int, N) > aux::yes_tag is_placeholder_helper(aux::type_wrapper< arg >*); } // namespace aux template< typename T > struct is_placeholder { static aux::type_wrapper* get(); BOOST_STATIC_CONSTANT(bool, value = sizeof(aux::is_placeholder_helper(get())) == sizeof(aux::yes_tag) ); typedef bool_ type; }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION }} #endif // BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/is_sequence.hpp000066400000000000000000000051241265471724600226360ustar00rootroot00000000000000 #ifndef BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED #define BOOST_MPL_IS_SEQUENCE_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 #include #include #include #include #include #include #include #include #include #include #include #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) # include #elif BOOST_WORKAROUND(BOOST_MSVC, == 1300) # include #endif #include namespace boost { namespace mpl { #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) namespace aux { // agurt, 11/jun/03: // MSVC 6.5/7.0 fails if 'has_begin' is instantiated on a class type that has a // 'begin' member that doesn't name a type; e.g. 'has_begin< std::vector >' // would fail; requiring 'T' to have _both_ 'tag' and 'begin' members workarounds // the issue for most real-world cases template< typename T > struct is_sequence_impl : and_< identity< aux::has_tag > , identity< aux::has_begin > > { }; } // namespace aux template< typename BOOST_MPL_AUX_NA_PARAM(T) > struct is_sequence : if_< #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) aux::msvc_is_class #else boost::is_class #endif , aux::is_sequence_impl , bool_ >::type { BOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_sequence, (T)) }; #elif defined(BOOST_MPL_CFG_NO_HAS_XXX) template< typename BOOST_MPL_AUX_NA_PARAM(T) > struct is_sequence : bool_ { }; #else template< typename BOOST_MPL_AUX_NA_PARAM(T) > struct is_sequence : not_< is_same< typename begin::type, void_ > > { BOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_sequence, (T)) }; #endif // BOOST_MSVC #if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) template<> struct is_sequence : bool_ { }; #endif BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, is_sequence) }} #endif // BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/iter_fold.hpp000066400000000000000000000023701265471724600223020ustar00rootroot00000000000000 #ifndef BOOST_MPL_ITER_FOLD_HPP_INCLUDED #define BOOST_MPL_ITER_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 #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 iter_fold { typedef typename aux::iter_fold_impl< ::boost::mpl::O1_size::value , typename begin::type , typename end::type , State , typename lambda::type >::state type; BOOST_MPL_AUX_LAMBDA_SUPPORT(3,iter_fold,(Sequence,State,ForwardOp)) }; BOOST_MPL_AUX_NA_SPEC(3, iter_fold) }} #endif // BOOST_MPL_ITER_FOLD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/iter_fold_if.hpp000066400000000000000000000060001265471724600227520ustar00rootroot00000000000000 #ifndef BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED #define BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2003-2004 // Copyright Eric Friedman 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 #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace mpl { namespace aux { template< typename Predicate, typename LastIterator > struct iter_fold_if_pred { template< typename State, typename Iterator > struct apply #if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) : and_< not_< is_same > , apply1 > { #else { typedef and_< not_< is_same > , apply1 > type; #endif }; }; } // namespace aux template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) , typename BOOST_MPL_AUX_NA_PARAM(State) , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp) , typename BOOST_MPL_AUX_NA_PARAM(ForwardPredicate) , typename BOOST_MPL_AUX_NA_PARAM(BackwardOp) , typename BOOST_MPL_AUX_NA_PARAM(BackwardPredicate) > struct iter_fold_if { typedef typename begin::type first_; typedef typename end::type last_; typedef typename eval_if< is_na , if_< is_na, always, always > , identity >::type backward_pred_; // cwpro8 doesn't like 'cut-off' type here (use typedef instead) #if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) && !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) struct result_ : #else typedef #endif aux::iter_fold_if_impl< first_ , State , ForwardOp , protect< aux::iter_fold_if_pred< ForwardPredicate,last_ > > , BackwardOp , backward_pred_ > #if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) && !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) { }; #else result_; #endif public: typedef pair< typename result_::state , typename result_::iterator > type; BOOST_MPL_AUX_LAMBDA_SUPPORT( 6 , iter_fold_if , (Sequence,State,ForwardOp,ForwardPredicate,BackwardOp,BackwardPredicate) ) }; BOOST_MPL_AUX_NA_SPEC(6, iter_fold_if) }} #endif // BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/iterator_category.hpp000066400000000000000000000014641265471724600240640ustar00rootroot00000000000000 #ifndef BOOST_MPL_ITERATOR_CATEGORY_HPP_INCLUDED #define BOOST_MPL_ITERATOR_CATEGORY_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 BOOST_MPL_AUX_NA_PARAM(Iterator) > struct iterator_category { typedef typename Iterator::category type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,iterator_category,(Iterator)) }; BOOST_MPL_AUX_NA_SPEC(1, iterator_category) }} #endif // BOOST_MPL_ITERATOR_CATEGORY_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/iterator_range.hpp000066400000000000000000000016571265471724600233470ustar00rootroot00000000000000 #ifndef BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED #define BOOST_MPL_ITERATOR_RANGE_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 namespace boost { namespace mpl { struct iterator_range_tag; template< typename BOOST_MPL_AUX_NA_PARAM(First) , typename BOOST_MPL_AUX_NA_PARAM(Last) > struct iterator_range { typedef iterator_range_tag tag; typedef iterator_range type; typedef First begin; typedef Last end; BOOST_MPL_AUX_LAMBDA_SUPPORT(2,iterator_range,(First,Last)) }; BOOST_MPL_AUX_NA_SPEC(2, iterator_range) }} #endif // BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/iterator_tags.hpp000066400000000000000000000013741265471724600232050ustar00rootroot00000000000000 #ifndef BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED #define BOOST_MPL_ITERATOR_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$ #include namespace boost { namespace mpl { struct forward_iterator_tag : int_<0> { typedef forward_iterator_tag type; }; struct bidirectional_iterator_tag : int_<1> { typedef bidirectional_iterator_tag type; }; struct random_access_iterator_tag : int_<2> { typedef random_access_iterator_tag type; }; }} #endif // BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/joint_view.hpp000066400000000000000000000031701265471724600225070ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/key_type.hpp000066400000000000000000000020501265471724600221570ustar00rootroot00000000000000 #ifndef BOOST_MPL_KEY_TYPE_HPP_INCLUDED #define BOOST_MPL_KEY_TYPE_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 namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(AssociativeSequence) , typename BOOST_MPL_AUX_NA_PARAM(T) > struct key_type : apply_wrap2< key_type_impl< typename sequence_tag::type > , AssociativeSequence, T> { BOOST_MPL_AUX_LAMBDA_SUPPORT(2,key_type,(AssociativeSequence,T)) }; BOOST_MPL_AUX_NA_SPEC(2, key_type) }} #endif // BOOST_MPL_KEY_TYPE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/key_type_fwd.hpp000066400000000000000000000011611265471724600230210ustar00rootroot00000000000000 #ifndef BOOST_MPL_KEY_TYPE_FWD_HPP_INCLUDED #define BOOST_MPL_KEY_TYPE_FWD_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 Tag > struct key_type_impl; template< typename AssociativeSequence, typename T > struct key_type; }} #endif // BOOST_MPL_KEY_TYPE_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/lambda.hpp000066400000000000000000000014141265471724600215510ustar00rootroot00000000000000 #ifndef BOOST_MPL_LAMBDA_HPP_INCLUDED #define BOOST_MPL_LAMBDA_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 #else # include # include # define BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS #endif #endif // BOOST_MPL_LAMBDA_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/lambda_fwd.hpp000066400000000000000000000022611265471724600224120ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/less.hpp000066400000000000000000000007771265471724600213120ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/less_equal.hpp000066400000000000000000000010301265471724600224600ustar00rootroot00000000000000 #ifndef BOOST_MPL_LESS_EQUAL_HPP_INCLUDED #define BOOST_MPL_LESS_EQUAL_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_equal #define AUX778076_OP_TOKEN <= #include #endif // BOOST_MPL_LESS_EQUAL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/limits/000077500000000000000000000000001265471724600211215ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/limits/arity.hpp000066400000000000000000000010271265471724600227620ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/limits/list.hpp000066400000000000000000000010031265471724600225770ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/limits/map.hpp000066400000000000000000000007761265471724600224210ustar00rootroot00000000000000 #ifndef BOOST_MPL_LIMITS_MAP_HPP_INCLUDED #define BOOST_MPL_LIMITS_MAP_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_MAP_SIZE) # define BOOST_MPL_LIMIT_MAP_SIZE 20 #endif #endif // BOOST_MPL_LIMITS_MAP_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/limits/set.hpp000066400000000000000000000007761265471724600224370ustar00rootroot00000000000000 #ifndef BOOST_MPL_LIMITS_SET_HPP_INCLUDED #define BOOST_MPL_LIMITS_SET_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_SET_SIZE) # define BOOST_MPL_LIMIT_SET_SIZE 20 #endif #endif // BOOST_MPL_LIMITS_SET_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/limits/string.hpp000066400000000000000000000011571265471724600231440ustar00rootroot00000000000000 #ifndef BOOST_MPL_LIMITS_STRING_HPP_INCLUDED #define BOOST_MPL_LIMITS_STRING_HPP_INCLUDED // Copyright Eric Niebler 2009 // // Distributed under the Boost Software License, Version 1.0. // (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: string.hpp 49239 2009-04-01 09:10:26Z eric_niebler $ // $Date: 2009-04-01 02:10:26 -0700 (Wed, 1 Apr 2009) $ // $Revision: 49239 $ #if !defined(BOOST_MPL_LIMIT_STRING_SIZE) # define BOOST_MPL_LIMIT_STRING_SIZE 32 #endif #endif // BOOST_MPL_LIMITS_STRING_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/limits/unrolling.hpp000066400000000000000000000010211265471724600236350ustar00rootroot00000000000000 #ifndef BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED #define BOOST_MPL_LIMITS_UNROLLING_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_UNROLLING) # define BOOST_MPL_LIMIT_UNROLLING 4 #endif #endif // BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/limits/vector.hpp000066400000000000000000000010151265471724600231310ustar00rootroot00000000000000 #ifndef BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED #define BOOST_MPL_LIMITS_VECTOR_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_VECTOR_SIZE) # define BOOST_MPL_LIMIT_VECTOR_SIZE 20 #endif #endif // BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/list.hpp000066400000000000000000000031101265471724600212770ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/000077500000000000000000000000001265471724600205735ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/list/aux_/000077500000000000000000000000001265471724600215275ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/list/aux_/O1_size.hpp000066400000000000000000000012611265471724600235510ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/aux_/begin_end.hpp000066400000000000000000000016611265471724600241560ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/aux_/clear.hpp000066400000000000000000000013261265471724600233300ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/aux_/empty.hpp000066400000000000000000000013231265471724600233750ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/aux_/front.hpp000066400000000000000000000012741265471724600233740ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/aux_/include_preprocessed.hpp000066400000000000000000000016671265471724600264530ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/mpl/list/aux_/item.hpp000066400000000000000000000022241265471724600231760ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/aux_/iterator.hpp000066400000000000000000000032241265471724600240720ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/aux_/numbered.hpp000066400000000000000000000024331265471724600240430ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/mpl/list/aux_/numbered_c.hpp000066400000000000000000000026331265471724600243470ustar00rootroot00000000000000 // 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 KWStyle-master/Utilities/boost/mpl/list/aux_/pop_front.hpp000066400000000000000000000013771265471724600242560ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/aux_/preprocessed/000077500000000000000000000000001265471724600242255ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/list/aux_/preprocessed/plain/000077500000000000000000000000001265471724600253305ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/list/aux_/preprocessed/plain/list10.hpp000066400000000000000000000050471265471724600271630ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp000066400000000000000000000054531265471724600274660ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/list/aux_/preprocessed/plain/list20.hpp000066400000000000000000000105431265471724600271610ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp000066400000000000000000000075661265471724600274760ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/list/aux_/preprocessed/plain/list30.hpp000066400000000000000000000143171265471724600271650ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp000066400000000000000000000117641265471724600274720ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/list/aux_/preprocessed/plain/list40.hpp000066400000000000000000000200731265471724600271620ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp000066400000000000000000000141621265471724600274660ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/list/aux_/preprocessed/plain/list50.hpp000066400000000000000000000236471265471724600271750ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp000066400000000000000000000163601265471724600274710ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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; }; }} KWStyle-master/Utilities/boost/mpl/list/aux_/push_back.hpp000066400000000000000000000014151265471724600242000ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/aux_/push_front.hpp000066400000000000000000000016221265471724600244300ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/aux_/size.hpp000066400000000000000000000012421265471724600232110ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/aux_/tag.hpp000066400000000000000000000010131265471724600230060ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/list0.hpp000066400000000000000000000020571265471724600223430ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/list0_c.hpp000066400000000000000000000012101265471724600226330ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/list10.hpp000066400000000000000000000020331265471724600224160ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/list10_c.hpp000066400000000000000000000020441265471724600227220ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/list20.hpp000066400000000000000000000020321265471724600224160ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/list20_c.hpp000066400000000000000000000020461265471724600227250ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/list30.hpp000066400000000000000000000020321265471724600224170ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/list30_c.hpp000066400000000000000000000020461265471724600227260ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/list40.hpp000066400000000000000000000020321265471724600224200ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/list40_c.hpp000066400000000000000000000020461265471724600227270ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/list50.hpp000066400000000000000000000020321265471724600224210ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list/list50_c.hpp000066400000000000000000000020461265471724600227300ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/list_c.hpp000066400000000000000000000034261265471724600216130ustar00rootroot00000000000000 #ifndef BOOST_MPL_LIST_C_HPP_INCLUDED #define BOOST_MPL_LIST_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 # include # include # include # include # include #if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) # define AUX778076_LIST_C_HEADER \ BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE),_c).hpp \ /**/ #else # define AUX778076_LIST_C_HEADER \ BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE),_c)##.hpp \ /**/ #endif # include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_LIST_C_HEADER) # undef AUX778076_LIST_C_HEADER # include #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER list_c.hpp # include #else # include # define AUX778076_SEQUENCE_NAME list_c # define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_LIST_SIZE # define AUX778076_SEQUENCE_NAME_N(n) BOOST_PP_CAT(BOOST_PP_CAT(list,n),_c) # define AUX778076_SEQUENCE_INTEGRAL_WRAPPER # include #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_LIST_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/logical.hpp000066400000000000000000000007661265471724600217540ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/long.hpp000066400000000000000000000010151265471724600212650ustar00rootroot00000000000000 #ifndef BOOST_MPL_LONG_HPP_INCLUDED #define BOOST_MPL_LONG_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 long #include #endif // BOOST_MPL_LONG_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/long_fwd.hpp000066400000000000000000000012541265471724600221320ustar00rootroot00000000000000 #ifndef BOOST_MPL_LONG_FWD_HPP_INCLUDED #define BOOST_MPL_LONG_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(long, N) > struct long_; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE BOOST_MPL_AUX_ADL_BARRIER_DECL(long_) #endif // BOOST_MPL_LONG_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/lower_bound.hpp000066400000000000000000000070231265471724600226520ustar00rootroot00000000000000 #ifndef BOOST_MPL_LOWER_BOUND_HPP_INCLUDED #define BOOST_MPL_LOWER_BOUND_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 #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) # define BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL #endif #if !defined(BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL) # include # include # include # include # include # include # include # include # include # include # include #else # include # include # include #endif #include namespace boost { namespace mpl { #if defined(BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL) // agurt 23/oct/02: has a wrong complexity etc., but at least it works // feel free to contribute a better implementation! template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) , typename BOOST_MPL_AUX_NA_PARAM(T) , typename Predicate = less<> , typename pred_ = typename lambda::type > struct lower_bound : find_if< Sequence, bind1< not_<>, bind2 > > { }; #else namespace aux { template< typename Distance , typename Predicate , typename T , typename DeferredIterator > struct lower_bound_step_impl; template< typename Distance , typename Predicate , typename T , typename DeferredIterator > struct lower_bound_step { typedef typename eval_if< Distance , lower_bound_step_impl , DeferredIterator >::type type; }; template< typename Distance , typename Predicate , typename T , typename DeferredIterator > struct lower_bound_step_impl { typedef typename divides< Distance, long_<2> >::type offset_; typedef typename DeferredIterator::type iter_; typedef typename advance< iter_,offset_ >::type middle_; typedef typename apply2< Predicate , typename deref::type , T >::type cond_; typedef typename prior< minus< Distance, offset_> >::type step_; typedef lower_bound_step< offset_,Predicate,T,DeferredIterator > step_forward_; typedef lower_bound_step< step_,Predicate,T,next > step_backward_; typedef typename eval_if< cond_ , step_backward_ , step_forward_ >::type type; }; } // namespace aux template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) , typename BOOST_MPL_AUX_NA_PARAM(T) , typename Predicate = less<> > struct lower_bound { private: typedef typename lambda::type pred_; typedef typename size::type size_; public: typedef typename aux::lower_bound_step< size_,pred_,T,begin >::type type; }; #endif // BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL BOOST_MPL_AUX_NA_SPEC(2, lower_bound) }} #endif // BOOST_MPL_LOWER_BOUND_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map.hpp000066400000000000000000000030711265471724600211070ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_HPP_INCLUDED #define BOOST_MPL_MAP_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_MAP_HEADER \ BOOST_PP_CAT(map, BOOST_MPL_LIMIT_MAP_SIZE).hpp \ /**/ #else # define AUX778076_MAP_HEADER \ BOOST_PP_CAT(map, BOOST_MPL_LIMIT_MAP_SIZE)##.hpp \ /**/ #endif # include BOOST_PP_STRINGIZE(boost/mpl/map/AUX778076_MAP_HEADER) # undef AUX778076_MAP_HEADER #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER map.hpp # include #else # include # define AUX778076_SEQUENCE_NAME map # define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_MAP_SIZE # include #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_MAP_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/000077500000000000000000000000001265471724600203755ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/map/aux_/000077500000000000000000000000001265471724600213315ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/map/aux_/at_impl.hpp000066400000000000000000000064771265471724600235050ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_AUX_AT_IMPL_HPP_INCLUDED #define BOOST_MPL_MAP_AUX_AT_IMPL_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 #if !defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) # include # include # include # include #endif namespace boost { namespace mpl { #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) template< typename Map, typename Key > struct m_at { typedef aux::type_wrapper key_; typedef __typeof__( BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY( Map , BOOST_MPL_AUX_STATIC_CAST(key_*, 0) ) ) type; }; template<> struct at_impl< aux::map_tag > { template< typename Map, typename Key > struct apply : aux::wrapped_type< typename m_at< Map , Key >::type > { }; }; // agurt 31/jan/04: two-step implementation for the sake of GCC 3.x template< typename Map, long order > struct item_by_order_impl { typedef __typeof__( BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER( Map , BOOST_MPL_AUX_STATIC_CAST(long_*, 0) ) ) type; }; template< typename Map, long order > struct item_by_order : aux::wrapped_type< typename item_by_order_impl::type > { }; #else // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES # if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename Map, long n > struct m_at { typedef void_ type; }; # else template< long n > struct m_at_impl { template< typename Map > struct result_ { typedef void_ type; }; }; template< typename Map, long n > struct m_at { typedef typename m_at_impl::result_::type type; }; # endif template<> struct at_impl< aux::map_tag > { template< typename Map, typename Key > struct apply { typedef typename m_at< Map, (x_order_impl::value - 2) >::type item_; typedef typename eval_if< is_void_ , void_ , second >::type type; }; }; template< typename Map, long order > struct is_item_masked { BOOST_STATIC_CONSTANT(bool, value = sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED( Map , BOOST_MPL_AUX_STATIC_CAST(long_*, 0) ) ) == sizeof(aux::yes_tag) ); }; template< typename Map, long order > struct item_by_order { typedef typename eval_if_c< is_item_masked::value , void_ , m_at >::type type; }; #endif }} #endif // BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/aux_/begin_end_impl.hpp000066400000000000000000000023171265471724600250000ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_AUX_BEGIN_END_IMPL_HPP_INCLUDED #define BOOST_MPL_MAP_AUX_BEGIN_END_IMPL_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 namespace boost { namespace mpl { template<> struct begin_impl< aux::map_tag > { template< typename Map > struct apply { typedef typename next< typename Map::order >::type max_order_; typedef m_iter< Map , next_order::value , max_order_::value > type; }; }; template<> struct end_impl< aux::map_tag > { template< typename Map > struct apply { typedef typename next< typename Map::order >::type max_order_; typedef m_iter< Map,max_order_::value,max_order_::value > type; }; }; }} #endif // BOOST_MPL_MAP_AUX_BEGIN_END_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/aux_/clear_impl.hpp000066400000000000000000000014051265471724600241510ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_AUX_CLEAR_IMPL_HPP_INCLUDED #define BOOST_MPL_MAP_AUX_CLEAR_IMPL_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 namespace boost { namespace mpl { template<> struct clear_impl< aux::map_tag > { template< typename Map > struct apply { typedef map0<> type; }; }; }} #endif // BOOST_MPL_MAP_AUX_CLEAR_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/aux_/contains_impl.hpp000066400000000000000000000017711265471724600247070ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_AUX_CONTAINS_IMPL_HPP_INCLUDED #define BOOST_MPL_MAP_AUX_CONTAINS_IMPL_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 #include #include #include namespace boost { namespace mpl { template<> struct contains_impl< aux::map_tag > { template< typename Map, typename Pair > struct apply : is_same< typename at_impl::apply< Map , typename Pair::first >::type , typename Pair::second > { }; }; }} #endif // BOOST_MPL_MAP_AUX_CONTAINS_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/aux_/empty_impl.hpp000066400000000000000000000013351265471724600242230ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_AUX_EMPTY_IMPL_HPP_INCLUDED #define BOOST_MPL_MAP_AUX_EMPTY_IMPL_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 #include namespace boost { namespace mpl { template<> struct empty_impl< aux::map_tag > { template< typename Map > struct apply : not_< typename Map::size > { }; }; }} #endif // BOOST_MPL_MAP_AUX_EMPTY_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/aux_/erase_impl.hpp000066400000000000000000000016261265471724600241670ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_AUX_ERASE_IMPL_HPP_INCLUDED #define BOOST_MPL_MAP_AUX_ERASE_IMPL_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 namespace boost { namespace mpl { template<> struct erase_impl< aux::map_tag > { template< typename Map , typename Pos , typename unused_ > struct apply : erase_key_impl ::apply { }; }; }} #endif // BOOST_MPL_MAP_AUX_ERASE_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/aux_/erase_key_impl.hpp000066400000000000000000000024051265471724600250330ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_AUX_ERASE_KEY_IMPL_HPP_INCLUDED #define BOOST_MPL_MAP_AUX_ERASE_KEY_IMPL_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 namespace boost { namespace mpl { template<> struct erase_key_impl< aux::map_tag > { template< typename Map , typename Key > struct apply : eval_if< has_key_impl::apply , eval_if< is_same< Key,typename Map::key_ > , base , identity< m_mask > > , identity > { }; }; }} #endif // BOOST_MPL_MAP_AUX_ERASE_KEY_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/aux_/has_key_impl.hpp000066400000000000000000000020771265471724600245140ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_AUX_HAS_KEY_IMPL_HPP_INCLUDED #define BOOST_MPL_MAP_AUX_HAS_KEY_IMPL_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 namespace boost { namespace mpl { template<> struct has_key_impl< aux::map_tag > { template< typename Map, typename Key > struct apply #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) : is_not_void_< typename at_impl ::apply::type > #else : bool_< ( x_order_impl::value > 1 ) > #endif { }; }; }} #endif // BOOST_MPL_MAP_AUX_HAS_KEY_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/aux_/include_preprocessed.hpp000066400000000000000000000030621265471724600262440ustar00rootroot00000000000000 // 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$ // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! #include #include #include #include #include #include #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) # define AUX778076_INCLUDE_DIR typeof_based #elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) # define AUX778076_INCLUDE_DIR no_ctps #else # define AUX778076_INCLUDE_DIR plain #endif #if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) # define AUX778076_HEADER \ AUX778076_INCLUDE_DIR/BOOST_MPL_PREPROCESSED_HEADER \ /**/ #else # define AUX778076_HEADER \ BOOST_PP_CAT(AUX778076_INCLUDE_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \ /**/ #endif #if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700)) # define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/map/aux_/preprocessed/AUX778076_HEADER) # include AUX778076_INCLUDE_STRING # undef AUX778076_INCLUDE_STRING #else # include BOOST_PP_STRINGIZE(boost/mpl/map/aux_/preprocessed/AUX778076_HEADER) #endif # undef AUX778076_HEADER # undef AUX778076_INCLUDE_DIR #undef BOOST_MPL_PREPROCESSED_HEADER KWStyle-master/Utilities/boost/mpl/map/aux_/insert_impl.hpp000066400000000000000000000031261265471724600243710ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_AUX_INSERT_IMPL_HPP_INCLUDED #define BOOST_MPL_MAP_AUX_INSERT_IMPL_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 namespace boost { namespace mpl { namespace aux { template< typename Map, typename Pair > struct map_insert_impl : if_< contains_impl::apply , Map #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) , m_item< typename Pair::first , typename Pair::second , Map > #else , m_item< Map::order::value , typename Pair::first , typename Pair::second , Map > #endif > { }; } template<> struct insert_impl< aux::map_tag > { template< typename Map , typename PosOrKey , typename KeyOrNA > struct apply : aux::map_insert_impl< Map , typename if_na::type > { }; }; }} #endif // BOOST_MPL_MAP_AUX_INSERT_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/aux_/item.hpp000066400000000000000000000074121265471724600230040ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_AUX_ITEM_HPP_INCLUDED #define BOOST_MPL_MAP_AUX_ITEM_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 namespace boost { namespace mpl { #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) template< typename Key, typename T, typename Base > struct m_item : Base { typedef Key key_; typedef pair item; typedef Base base; typedef typename next< typename Base::size >::type size; typedef typename next< typename Base::order >::type order; #if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) typedef typename aux::weighted_tag::type order_tag_; #else typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value]; #endif BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper, VALUE_BY_KEY, m_item, aux::type_wrapper* ); BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper, ITEM_BY_ORDER, m_item, order* ); BOOST_MPL_AUX_MAP_OVERLOAD( order_tag_, ORDER_BY_KEY, m_item, aux::type_wrapper* ); }; template< typename Key, typename Base > struct m_mask : Base { typedef void_ key_; typedef Base base; typedef typename prior< typename Base::size >::type size; typedef typename x_order_impl::type key_order_; BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper, VALUE_BY_KEY, m_mask, aux::type_wrapper* ); BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper, ITEM_BY_ORDER, m_mask, key_order_* ); }; #else // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES # if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< long n, typename Key, typename T, typename Base > struct m_item; # else template< long n > struct m_item_impl { template< typename Key, typename T, typename Base > struct result_; }; template< long n, typename Key, typename T, typename Base > struct m_item : m_item_impl::result_ { }; # endif template< typename Key, typename T, typename Base > struct m_item_ : Base { typedef Key key_; typedef Base base; typedef m_item_ type; typedef typename next< typename Base::size >::type size; typedef typename next< typename Base::order >::type order; #if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) typedef typename aux::weighted_tag::type order_tag_; #else typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value]; #endif BOOST_MPL_AUX_MAP_OVERLOAD( order_tag_, ORDER_BY_KEY, m_item_, aux::type_wrapper* ); }; template< typename Key, typename Base > struct m_mask : Base { typedef void_ key_; typedef Base base; typedef typename prior< typename Base::size >::type size; typedef typename x_order_impl::type key_order_; BOOST_MPL_AUX_MAP_OVERLOAD( aux::no_tag, ORDER_BY_KEY, m_mask, aux::type_wrapper* ); BOOST_MPL_AUX_MAP_OVERLOAD( aux::yes_tag, IS_MASKED, m_mask, key_order_* ); }; #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES }} #endif // BOOST_MPL_MAP_AUX_ITEM_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/aux_/iterator.hpp000066400000000000000000000070241265471724600236760ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_AUX_ITERATOR_HPP_INCLUDED #define BOOST_MPL_MAP_AUX_ITERATOR_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 namespace boost { namespace mpl { #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename Map , long order , long max_order > struct next_order : if_< is_void_< typename item_by_order::type > , next_order , long_ >::type { }; template< typename Map , long max_order > struct next_order : long_ { }; template< typename Map, long order, long max_order > struct m_iter { typedef forward_iterator_tag category; typedef typename item_by_order::type type; }; template< typename Map, long max_order > struct m_iter { typedef forward_iterator_tag category; }; template< typename Map, long order, long max_order > struct next< m_iter > { typedef m_iter< Map , next_order::value , max_order > type; }; template< typename Map, long max_order > struct next< m_iter > { }; #else template< typename Map , BOOST_MPL_AUX_NTTP_DECL(long, order) , BOOST_MPL_AUX_NTTP_DECL(long, max_order) > struct next_order; template< typename Map , BOOST_MPL_AUX_NTTP_DECL(long, order) , BOOST_MPL_AUX_NTTP_DECL(long, max_order) > struct next_order_impl : if_< is_void_< typename item_by_order::type > , next_order , long_ >::type { }; template< typename Map , BOOST_MPL_AUX_NTTP_DECL(long, order) , BOOST_MPL_AUX_NTTP_DECL(long, max_order) > struct next_order : if_c< (order != max_order) , next_order_impl , long_ >::type { }; template< typename Map , BOOST_MPL_AUX_NTTP_DECL(long, order) , BOOST_MPL_AUX_NTTP_DECL(long, max_order) > struct m_iter; struct m_iter_empty_base {}; template< typename Map , BOOST_MPL_AUX_NTTP_DECL(long, order) , BOOST_MPL_AUX_NTTP_DECL(long, max_order) > struct m_iter_base { typedef typename item_by_order::type type; typedef m_iter< Map , next_order::value , max_order > next; }; template< typename Map , BOOST_MPL_AUX_NTTP_DECL(long, order) , BOOST_MPL_AUX_NTTP_DECL(long, max_order) > struct m_iter : if_c< (order == max_order) , m_iter_empty_base , m_iter_base >::type { typedef forward_iterator_tag category; }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION }} #endif // BOOST_MPL_MAP_AUX_ITERATOR_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/aux_/key_type_impl.hpp000066400000000000000000000014151265471724600247150ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_AUX_KEY_TYPE_IMPL_HPP_INCLUDED #define BOOST_MPL_MAP_AUX_KEY_TYPE_IMPL_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 namespace boost { namespace mpl { template<> struct key_type_impl< aux::map_tag > { template< typename Map, typename T > struct apply : first { }; }; }} #endif // BOOST_MPL_MAP_AUX_KEY_TYPE_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/aux_/map0.hpp000066400000000000000000000041531265471724600227020ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_AUX_MAP0_HPP_INCLUDED #define BOOST_MPL_MAP_AUX_MAP0_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 namespace boost { namespace mpl { #if defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING) # define BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T) \ friend R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \ /**/ # define BOOST_MPL_AUX_MAP_OVERLOAD(R, f, X, T) \ BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T) \ /**/ #else # define BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T) \ static R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \ /**/ # define BOOST_MPL_AUX_MAP_OVERLOAD(R, f, X, T) \ BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T); \ using Base::BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f) \ /**/ #endif template< typename Dummy = na > struct map0 { typedef map0 type; typedef aux::map_tag tag; typedef void_ key_; typedef long_<1> order; typedef long_<0> size; #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) BOOST_MPL_AUX_MAP0_OVERLOAD( aux::type_wrapper, VALUE_BY_KEY, map0<>, void const volatile* ); BOOST_MPL_AUX_MAP0_OVERLOAD( aux::type_wrapper, ITEM_BY_ORDER, map0<>, long_<1>* ); BOOST_MPL_AUX_MAP0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, map0<>, void const volatile* ); #else BOOST_MPL_AUX_MAP0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, map0<>, void const volatile* ); BOOST_MPL_AUX_MAP0_OVERLOAD( aux::no_tag, IS_MASKED, map0<>, void const volatile* ); #endif }; }} #endif // BOOST_MPL_MAP_AUX_MAP0_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/aux_/numbered.hpp000066400000000000000000000046321265471724600236500ustar00rootroot00000000000000 // 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$ #else #include #include #include #include #include #define i_ BOOST_PP_FRAME_ITERATION(1) # define AUX778076_MAP_TAIL(map, i_, P) \ BOOST_PP_CAT(map,i_)< \ BOOST_PP_ENUM_PARAMS(i_, P) \ > \ /**/ #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) template< BOOST_PP_ENUM_PARAMS(i_, typename P) > struct BOOST_PP_CAT(map,i_) : m_item< typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::first , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::second , AUX778076_MAP_TAIL(map,BOOST_PP_DEC(i_),P) > { typedef BOOST_PP_CAT(map,i_) type; }; #else // "brute force" implementation # if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename Map> struct m_at { typedef typename Map::BOOST_PP_CAT(item,BOOST_PP_DEC(i_)) type; }; template< typename Key, typename T, typename Base > struct m_item : m_item_ { typedef pair BOOST_PP_CAT(item,BOOST_PP_DEC(i_)); }; # else template<> struct m_at_impl { template< typename Map > struct result_ { typedef typename Map::BOOST_PP_CAT(item,BOOST_PP_DEC(i_)) type; }; }; template<> struct m_item_impl { template< typename Key, typename T, typename Base > struct result_ : m_item_ { typedef pair BOOST_PP_CAT(item,BOOST_PP_DEC(i_)); }; }; # endif template< BOOST_PP_ENUM_PARAMS(i_, typename P) > struct BOOST_PP_CAT(map,i_) : m_item< i_ , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::first , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::second , AUX778076_MAP_TAIL(map,BOOST_PP_DEC(i_),P) > { typedef BOOST_PP_CAT(map,i_) type; }; #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES # undef AUX778076_MAP_TAIL #undef i_ #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/000077500000000000000000000000001265471724600240275ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/no_ctps/000077500000000000000000000000001265471724600254745ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp000066400000000000000000000142101265471724600271210ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/map/map10.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template<> struct m_at_impl<0> { template< typename Map > struct result_ { typedef typename Map::item0 type; }; }; template<> struct m_item_impl<1> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item0; }; }; template< typename P0 > struct map1 : m_item< 1 , typename P0::first , typename P0::second , map0< > > { typedef map1 type; }; template<> struct m_at_impl<1> { template< typename Map > struct result_ { typedef typename Map::item1 type; }; }; template<> struct m_item_impl<2> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item1; }; }; template< typename P0, typename P1 > struct map2 : m_item< 2 , typename P1::first , typename P1::second , map1 > { typedef map2 type; }; template<> struct m_at_impl<2> { template< typename Map > struct result_ { typedef typename Map::item2 type; }; }; template<> struct m_item_impl<3> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item2; }; }; template< typename P0, typename P1, typename P2 > struct map3 : m_item< 3 , typename P2::first , typename P2::second , map2< P0,P1 > > { typedef map3 type; }; template<> struct m_at_impl<3> { template< typename Map > struct result_ { typedef typename Map::item3 type; }; }; template<> struct m_item_impl<4> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item3; }; }; template< typename P0, typename P1, typename P2, typename P3 > struct map4 : m_item< 4 , typename P3::first , typename P3::second , map3< P0,P1,P2 > > { typedef map4 type; }; template<> struct m_at_impl<4> { template< typename Map > struct result_ { typedef typename Map::item4 type; }; }; template<> struct m_item_impl<5> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item4; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 > struct map5 : m_item< 5 , typename P4::first , typename P4::second , map4< P0,P1,P2,P3 > > { typedef map5 type; }; template<> struct m_at_impl<5> { template< typename Map > struct result_ { typedef typename Map::item5 type; }; }; template<> struct m_item_impl<6> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item5; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5 > struct map6 : m_item< 6 , typename P5::first , typename P5::second , map5< P0,P1,P2,P3,P4 > > { typedef map6 type; }; template<> struct m_at_impl<6> { template< typename Map > struct result_ { typedef typename Map::item6 type; }; }; template<> struct m_item_impl<7> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item6; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6 > struct map7 : m_item< 7 , typename P6::first , typename P6::second , map6< P0,P1,P2,P3,P4,P5 > > { typedef map7 type; }; template<> struct m_at_impl<7> { template< typename Map > struct result_ { typedef typename Map::item7 type; }; }; template<> struct m_item_impl<8> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item7; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7 > struct map8 : m_item< 8 , typename P7::first , typename P7::second , map7< P0,P1,P2,P3,P4,P5,P6 > > { typedef map8 type; }; template<> struct m_at_impl<8> { template< typename Map > struct result_ { typedef typename Map::item8 type; }; }; template<> struct m_item_impl<9> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item8; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8 > struct map9 : m_item< 9 , typename P8::first , typename P8::second , map8< P0,P1,P2,P3,P4,P5,P6,P7 > > { typedef map9 type; }; template<> struct m_at_impl<9> { template< typename Map > struct result_ { typedef typename Map::item9 type; }; }; template<> struct m_item_impl<10> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item9; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 > struct map10 : m_item< 10 , typename P9::first , typename P9::second , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 > > { typedef map10 type; }; }} KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp000066400000000000000000000177611265471724600271400ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/map/map20.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template<> struct m_at_impl<10> { template< typename Map > struct result_ { typedef typename Map::item10 type; }; }; template<> struct m_item_impl<11> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item10; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10 > struct map11 : m_item< 11 , typename P10::first , typename P10::second , map10< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 > > { typedef map11 type; }; template<> struct m_at_impl<11> { template< typename Map > struct result_ { typedef typename Map::item11 type; }; }; template<> struct m_item_impl<12> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item11; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11 > struct map12 : m_item< 12 , typename P11::first , typename P11::second , map11< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 > > { typedef map12 type; }; template<> struct m_at_impl<12> { template< typename Map > struct result_ { typedef typename Map::item12 type; }; }; template<> struct m_item_impl<13> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item12; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12 > struct map13 : m_item< 13 , typename P12::first , typename P12::second , map12< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11 > > { typedef map13 type; }; template<> struct m_at_impl<13> { template< typename Map > struct result_ { typedef typename Map::item13 type; }; }; template<> struct m_item_impl<14> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item13; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13 > struct map14 : m_item< 14 , typename P13::first , typename P13::second , map13< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 > > { typedef map14 type; }; template<> struct m_at_impl<14> { template< typename Map > struct result_ { typedef typename Map::item14 type; }; }; template<> struct m_item_impl<15> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item14; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 > struct map15 : m_item< 15 , typename P14::first , typename P14::second , map14< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 > > { typedef map15 type; }; template<> struct m_at_impl<15> { template< typename Map > struct result_ { typedef typename Map::item15 type; }; }; template<> struct m_item_impl<16> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item15; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15 > struct map16 : m_item< 16 , typename P15::first , typename P15::second , map15< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14 > > { typedef map16 type; }; template<> struct m_at_impl<16> { template< typename Map > struct result_ { typedef typename Map::item16 type; }; }; template<> struct m_item_impl<17> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item16; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16 > struct map17 : m_item< 17 , typename P16::first , typename P16::second , map16< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 > > { typedef map17 type; }; template<> struct m_at_impl<17> { template< typename Map > struct result_ { typedef typename Map::item17 type; }; }; template<> struct m_item_impl<18> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item17; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17 > struct map18 : m_item< 18 , typename P17::first , typename P17::second , map17< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16 > > { typedef map18 type; }; template<> struct m_at_impl<18> { template< typename Map > struct result_ { typedef typename Map::item18 type; }; }; template<> struct m_item_impl<19> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item18; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18 > struct map19 : m_item< 19 , typename P18::first , typename P18::second , map18< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17 > > { typedef map19 type; }; template<> struct m_at_impl<19> { template< typename Map > struct result_ { typedef typename Map::item19 type; }; }; template<> struct m_item_impl<20> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item19; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 > struct map20 : m_item< 20 , typename P19::first , typename P19::second , map19< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18 > > { typedef map20 type; }; }} KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp000066400000000000000000000235351265471724600271350ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/map/map30.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template<> struct m_at_impl<20> { template< typename Map > struct result_ { typedef typename Map::item20 type; }; }; template<> struct m_item_impl<21> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item20; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20 > struct map21 : m_item< 21 , typename P20::first , typename P20::second , map20< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 > > { typedef map21 type; }; template<> struct m_at_impl<21> { template< typename Map > struct result_ { typedef typename Map::item21 type; }; }; template<> struct m_item_impl<22> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item21; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21 > struct map22 : m_item< 22 , typename P21::first , typename P21::second , map21< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20 > > { typedef map22 type; }; template<> struct m_at_impl<22> { template< typename Map > struct result_ { typedef typename Map::item22 type; }; }; template<> struct m_item_impl<23> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item22; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22 > struct map23 : m_item< 23 , typename P22::first , typename P22::second , map22< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21 > > { typedef map23 type; }; template<> struct m_at_impl<23> { template< typename Map > struct result_ { typedef typename Map::item23 type; }; }; template<> struct m_item_impl<24> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item23; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23 > struct map24 : m_item< 24 , typename P23::first , typename P23::second , map23< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22 > > { typedef map24 type; }; template<> struct m_at_impl<24> { template< typename Map > struct result_ { typedef typename Map::item24 type; }; }; template<> struct m_item_impl<25> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item24; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 > struct map25 : m_item< 25 , typename P24::first , typename P24::second , map24< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23 > > { typedef map25 type; }; template<> struct m_at_impl<25> { template< typename Map > struct result_ { typedef typename Map::item25 type; }; }; template<> struct m_item_impl<26> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item25; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25 > struct map26 : m_item< 26 , typename P25::first , typename P25::second , map25< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24 > > { typedef map26 type; }; template<> struct m_at_impl<26> { template< typename Map > struct result_ { typedef typename Map::item26 type; }; }; template<> struct m_item_impl<27> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item26; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26 > struct map27 : m_item< 27 , typename P26::first , typename P26::second , map26< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25 > > { typedef map27 type; }; template<> struct m_at_impl<27> { template< typename Map > struct result_ { typedef typename Map::item27 type; }; }; template<> struct m_item_impl<28> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item27; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27 > struct map28 : m_item< 28 , typename P27::first , typename P27::second , map27< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26 > > { typedef map28 type; }; template<> struct m_at_impl<28> { template< typename Map > struct result_ { typedef typename Map::item28 type; }; }; template<> struct m_item_impl<29> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item28; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28 > struct map29 : m_item< 29 , typename P28::first , typename P28::second , map28< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27 > > { typedef map29 type; }; template<> struct m_at_impl<29> { template< typename Map > struct result_ { typedef typename Map::item29 type; }; }; template<> struct m_item_impl<30> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item29; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 > struct map30 : m_item< 30 , typename P29::first , typename P29::second , map29< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28 > > { typedef map30 type; }; }} KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp000066400000000000000000000273111265471724600271320ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/map/map40.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template<> struct m_at_impl<30> { template< typename Map > struct result_ { typedef typename Map::item30 type; }; }; template<> struct m_item_impl<31> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item30; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30 > struct map31 : m_item< 31 , typename P30::first , typename P30::second , map30< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29 > > { typedef map31 type; }; template<> struct m_at_impl<31> { template< typename Map > struct result_ { typedef typename Map::item31 type; }; }; template<> struct m_item_impl<32> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item31; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31 > struct map32 : m_item< 32 , typename P31::first , typename P31::second , map31< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30 > > { typedef map32 type; }; template<> struct m_at_impl<32> { template< typename Map > struct result_ { typedef typename Map::item32 type; }; }; template<> struct m_item_impl<33> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item32; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32 > struct map33 : m_item< 33 , typename P32::first , typename P32::second , map32< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31 > > { typedef map33 type; }; template<> struct m_at_impl<33> { template< typename Map > struct result_ { typedef typename Map::item33 type; }; }; template<> struct m_item_impl<34> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item33; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33 > struct map34 : m_item< 34 , typename P33::first , typename P33::second , map33< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32 > > { typedef map34 type; }; template<> struct m_at_impl<34> { template< typename Map > struct result_ { typedef typename Map::item34 type; }; }; template<> struct m_item_impl<35> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item34; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 > struct map35 : m_item< 35 , typename P34::first , typename P34::second , map34< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33 > > { typedef map35 type; }; template<> struct m_at_impl<35> { template< typename Map > struct result_ { typedef typename Map::item35 type; }; }; template<> struct m_item_impl<36> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item35; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35 > struct map36 : m_item< 36 , typename P35::first , typename P35::second , map35< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34 > > { typedef map36 type; }; template<> struct m_at_impl<36> { template< typename Map > struct result_ { typedef typename Map::item36 type; }; }; template<> struct m_item_impl<37> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item36; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36 > struct map37 : m_item< 37 , typename P36::first , typename P36::second , map36< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35 > > { typedef map37 type; }; template<> struct m_at_impl<37> { template< typename Map > struct result_ { typedef typename Map::item37 type; }; }; template<> struct m_item_impl<38> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item37; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37 > struct map38 : m_item< 38 , typename P37::first , typename P37::second , map37< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36 > > { typedef map38 type; }; template<> struct m_at_impl<38> { template< typename Map > struct result_ { typedef typename Map::item38 type; }; }; template<> struct m_item_impl<39> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item38; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38 > struct map39 : m_item< 39 , typename P38::first , typename P38::second , map38< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37 > > { typedef map39 type; }; template<> struct m_at_impl<39> { template< typename Map > struct result_ { typedef typename Map::item39 type; }; }; template<> struct m_item_impl<40> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item39; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 > struct map40 : m_item< 40 , typename P39::first , typename P39::second , map39< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38 > > { typedef map40 type; }; }} KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp000066400000000000000000000330651265471724600271360ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/map/map50.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template<> struct m_at_impl<40> { template< typename Map > struct result_ { typedef typename Map::item40 type; }; }; template<> struct m_item_impl<41> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item40; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40 > struct map41 : m_item< 41 , typename P40::first , typename P40::second , map40< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39 > > { typedef map41 type; }; template<> struct m_at_impl<41> { template< typename Map > struct result_ { typedef typename Map::item41 type; }; }; template<> struct m_item_impl<42> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item41; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41 > struct map42 : m_item< 42 , typename P41::first , typename P41::second , map41< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40 > > { typedef map42 type; }; template<> struct m_at_impl<42> { template< typename Map > struct result_ { typedef typename Map::item42 type; }; }; template<> struct m_item_impl<43> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item42; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42 > struct map43 : m_item< 43 , typename P42::first , typename P42::second , map42< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41 > > { typedef map43 type; }; template<> struct m_at_impl<43> { template< typename Map > struct result_ { typedef typename Map::item43 type; }; }; template<> struct m_item_impl<44> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item43; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43 > struct map44 : m_item< 44 , typename P43::first , typename P43::second , map43< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42 > > { typedef map44 type; }; template<> struct m_at_impl<44> { template< typename Map > struct result_ { typedef typename Map::item44 type; }; }; template<> struct m_item_impl<45> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item44; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 > struct map45 : m_item< 45 , typename P44::first , typename P44::second , map44< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43 > > { typedef map45 type; }; template<> struct m_at_impl<45> { template< typename Map > struct result_ { typedef typename Map::item45 type; }; }; template<> struct m_item_impl<46> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item45; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 , typename P45 > struct map46 : m_item< 46 , typename P45::first , typename P45::second , map45< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44 > > { typedef map46 type; }; template<> struct m_at_impl<46> { template< typename Map > struct result_ { typedef typename Map::item46 type; }; }; template<> struct m_item_impl<47> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item46; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 , typename P45, typename P46 > struct map47 : m_item< 47 , typename P46::first , typename P46::second , map46< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45 > > { typedef map47 type; }; template<> struct m_at_impl<47> { template< typename Map > struct result_ { typedef typename Map::item47 type; }; }; template<> struct m_item_impl<48> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item47; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 , typename P45, typename P46, typename P47 > struct map48 : m_item< 48 , typename P47::first , typename P47::second , map47< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46 > > { typedef map48 type; }; template<> struct m_at_impl<48> { template< typename Map > struct result_ { typedef typename Map::item48 type; }; }; template<> struct m_item_impl<49> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item48; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 , typename P45, typename P46, typename P47, typename P48 > struct map49 : m_item< 49 , typename P48::first , typename P48::second , map48< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47 > > { typedef map49 type; }; template<> struct m_at_impl<49> { template< typename Map > struct result_ { typedef typename Map::item49 type; }; }; template<> struct m_item_impl<50> { template< typename Key, typename T, typename Base > struct result_ : m_item_< Key,T,Base > { typedef pair< Key,T > item49; }; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 , typename P45, typename P46, typename P47, typename P48, typename P49 > struct map50 : m_item< 50 , typename P49::first , typename P49::second , map49< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47,P48 > > { typedef map50 type; }; }} KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/plain/000077500000000000000000000000001265471724600251325ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/plain/map10.hpp000066400000000000000000000124041265471724600265620ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/map/map10.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename Map> struct m_at< Map,0 > { typedef typename Map::item0 type; }; template< typename Key, typename T, typename Base > struct m_item< 1,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item0; }; template< typename P0 > struct map1 : m_item< 1 , typename P0::first , typename P0::second , map0< > > { typedef map1 type; }; template< typename Map> struct m_at< Map,1 > { typedef typename Map::item1 type; }; template< typename Key, typename T, typename Base > struct m_item< 2,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item1; }; template< typename P0, typename P1 > struct map2 : m_item< 2 , typename P1::first , typename P1::second , map1 > { typedef map2 type; }; template< typename Map> struct m_at< Map,2 > { typedef typename Map::item2 type; }; template< typename Key, typename T, typename Base > struct m_item< 3,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item2; }; template< typename P0, typename P1, typename P2 > struct map3 : m_item< 3 , typename P2::first , typename P2::second , map2< P0,P1 > > { typedef map3 type; }; template< typename Map> struct m_at< Map,3 > { typedef typename Map::item3 type; }; template< typename Key, typename T, typename Base > struct m_item< 4,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item3; }; template< typename P0, typename P1, typename P2, typename P3 > struct map4 : m_item< 4 , typename P3::first , typename P3::second , map3< P0,P1,P2 > > { typedef map4 type; }; template< typename Map> struct m_at< Map,4 > { typedef typename Map::item4 type; }; template< typename Key, typename T, typename Base > struct m_item< 5,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item4; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 > struct map5 : m_item< 5 , typename P4::first , typename P4::second , map4< P0,P1,P2,P3 > > { typedef map5 type; }; template< typename Map> struct m_at< Map,5 > { typedef typename Map::item5 type; }; template< typename Key, typename T, typename Base > struct m_item< 6,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item5; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5 > struct map6 : m_item< 6 , typename P5::first , typename P5::second , map5< P0,P1,P2,P3,P4 > > { typedef map6 type; }; template< typename Map> struct m_at< Map,6 > { typedef typename Map::item6 type; }; template< typename Key, typename T, typename Base > struct m_item< 7,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item6; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6 > struct map7 : m_item< 7 , typename P6::first , typename P6::second , map6< P0,P1,P2,P3,P4,P5 > > { typedef map7 type; }; template< typename Map> struct m_at< Map,7 > { typedef typename Map::item7 type; }; template< typename Key, typename T, typename Base > struct m_item< 8,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item7; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7 > struct map8 : m_item< 8 , typename P7::first , typename P7::second , map7< P0,P1,P2,P3,P4,P5,P6 > > { typedef map8 type; }; template< typename Map> struct m_at< Map,8 > { typedef typename Map::item8 type; }; template< typename Key, typename T, typename Base > struct m_item< 9,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item8; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8 > struct map9 : m_item< 9 , typename P8::first , typename P8::second , map8< P0,P1,P2,P3,P4,P5,P6,P7 > > { typedef map9 type; }; template< typename Map> struct m_at< Map,9 > { typedef typename Map::item9 type; }; template< typename Key, typename T, typename Base > struct m_item< 10,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item9; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 > struct map10 : m_item< 10 , typename P9::first , typename P9::second , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 > > { typedef map10 type; }; }} KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/plain/map20.hpp000066400000000000000000000161551265471724600265720ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/map/map20.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename Map> struct m_at< Map,10 > { typedef typename Map::item10 type; }; template< typename Key, typename T, typename Base > struct m_item< 11,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item10; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10 > struct map11 : m_item< 11 , typename P10::first , typename P10::second , map10< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 > > { typedef map11 type; }; template< typename Map> struct m_at< Map,11 > { typedef typename Map::item11 type; }; template< typename Key, typename T, typename Base > struct m_item< 12,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item11; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11 > struct map12 : m_item< 12 , typename P11::first , typename P11::second , map11< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 > > { typedef map12 type; }; template< typename Map> struct m_at< Map,12 > { typedef typename Map::item12 type; }; template< typename Key, typename T, typename Base > struct m_item< 13,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item12; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12 > struct map13 : m_item< 13 , typename P12::first , typename P12::second , map12< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11 > > { typedef map13 type; }; template< typename Map> struct m_at< Map,13 > { typedef typename Map::item13 type; }; template< typename Key, typename T, typename Base > struct m_item< 14,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item13; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13 > struct map14 : m_item< 14 , typename P13::first , typename P13::second , map13< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 > > { typedef map14 type; }; template< typename Map> struct m_at< Map,14 > { typedef typename Map::item14 type; }; template< typename Key, typename T, typename Base > struct m_item< 15,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item14; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 > struct map15 : m_item< 15 , typename P14::first , typename P14::second , map14< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 > > { typedef map15 type; }; template< typename Map> struct m_at< Map,15 > { typedef typename Map::item15 type; }; template< typename Key, typename T, typename Base > struct m_item< 16,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item15; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15 > struct map16 : m_item< 16 , typename P15::first , typename P15::second , map15< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14 > > { typedef map16 type; }; template< typename Map> struct m_at< Map,16 > { typedef typename Map::item16 type; }; template< typename Key, typename T, typename Base > struct m_item< 17,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item16; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16 > struct map17 : m_item< 17 , typename P16::first , typename P16::second , map16< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 > > { typedef map17 type; }; template< typename Map> struct m_at< Map,17 > { typedef typename Map::item17 type; }; template< typename Key, typename T, typename Base > struct m_item< 18,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item17; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17 > struct map18 : m_item< 18 , typename P17::first , typename P17::second , map17< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16 > > { typedef map18 type; }; template< typename Map> struct m_at< Map,18 > { typedef typename Map::item18 type; }; template< typename Key, typename T, typename Base > struct m_item< 19,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item18; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18 > struct map19 : m_item< 19 , typename P18::first , typename P18::second , map18< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17 > > { typedef map19 type; }; template< typename Map> struct m_at< Map,19 > { typedef typename Map::item19 type; }; template< typename Key, typename T, typename Base > struct m_item< 20,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item19; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 > struct map20 : m_item< 20 , typename P19::first , typename P19::second , map19< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18 > > { typedef map20 type; }; }} KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/plain/map30.hpp000066400000000000000000000217311265471724600265670ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/map/map30.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename Map> struct m_at< Map,20 > { typedef typename Map::item20 type; }; template< typename Key, typename T, typename Base > struct m_item< 21,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item20; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20 > struct map21 : m_item< 21 , typename P20::first , typename P20::second , map20< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 > > { typedef map21 type; }; template< typename Map> struct m_at< Map,21 > { typedef typename Map::item21 type; }; template< typename Key, typename T, typename Base > struct m_item< 22,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item21; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21 > struct map22 : m_item< 22 , typename P21::first , typename P21::second , map21< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20 > > { typedef map22 type; }; template< typename Map> struct m_at< Map,22 > { typedef typename Map::item22 type; }; template< typename Key, typename T, typename Base > struct m_item< 23,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item22; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22 > struct map23 : m_item< 23 , typename P22::first , typename P22::second , map22< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21 > > { typedef map23 type; }; template< typename Map> struct m_at< Map,23 > { typedef typename Map::item23 type; }; template< typename Key, typename T, typename Base > struct m_item< 24,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item23; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23 > struct map24 : m_item< 24 , typename P23::first , typename P23::second , map23< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22 > > { typedef map24 type; }; template< typename Map> struct m_at< Map,24 > { typedef typename Map::item24 type; }; template< typename Key, typename T, typename Base > struct m_item< 25,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item24; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 > struct map25 : m_item< 25 , typename P24::first , typename P24::second , map24< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23 > > { typedef map25 type; }; template< typename Map> struct m_at< Map,25 > { typedef typename Map::item25 type; }; template< typename Key, typename T, typename Base > struct m_item< 26,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item25; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25 > struct map26 : m_item< 26 , typename P25::first , typename P25::second , map25< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24 > > { typedef map26 type; }; template< typename Map> struct m_at< Map,26 > { typedef typename Map::item26 type; }; template< typename Key, typename T, typename Base > struct m_item< 27,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item26; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26 > struct map27 : m_item< 27 , typename P26::first , typename P26::second , map26< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25 > > { typedef map27 type; }; template< typename Map> struct m_at< Map,27 > { typedef typename Map::item27 type; }; template< typename Key, typename T, typename Base > struct m_item< 28,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item27; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27 > struct map28 : m_item< 28 , typename P27::first , typename P27::second , map27< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26 > > { typedef map28 type; }; template< typename Map> struct m_at< Map,28 > { typedef typename Map::item28 type; }; template< typename Key, typename T, typename Base > struct m_item< 29,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item28; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28 > struct map29 : m_item< 29 , typename P28::first , typename P28::second , map28< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27 > > { typedef map29 type; }; template< typename Map> struct m_at< Map,29 > { typedef typename Map::item29 type; }; template< typename Key, typename T, typename Base > struct m_item< 30,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item29; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 > struct map30 : m_item< 30 , typename P29::first , typename P29::second , map29< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28 > > { typedef map30 type; }; }} KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/plain/map40.hpp000066400000000000000000000255051265471724600265730ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/map/map40.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename Map> struct m_at< Map,30 > { typedef typename Map::item30 type; }; template< typename Key, typename T, typename Base > struct m_item< 31,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item30; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30 > struct map31 : m_item< 31 , typename P30::first , typename P30::second , map30< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29 > > { typedef map31 type; }; template< typename Map> struct m_at< Map,31 > { typedef typename Map::item31 type; }; template< typename Key, typename T, typename Base > struct m_item< 32,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item31; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31 > struct map32 : m_item< 32 , typename P31::first , typename P31::second , map31< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30 > > { typedef map32 type; }; template< typename Map> struct m_at< Map,32 > { typedef typename Map::item32 type; }; template< typename Key, typename T, typename Base > struct m_item< 33,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item32; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32 > struct map33 : m_item< 33 , typename P32::first , typename P32::second , map32< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31 > > { typedef map33 type; }; template< typename Map> struct m_at< Map,33 > { typedef typename Map::item33 type; }; template< typename Key, typename T, typename Base > struct m_item< 34,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item33; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33 > struct map34 : m_item< 34 , typename P33::first , typename P33::second , map33< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32 > > { typedef map34 type; }; template< typename Map> struct m_at< Map,34 > { typedef typename Map::item34 type; }; template< typename Key, typename T, typename Base > struct m_item< 35,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item34; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 > struct map35 : m_item< 35 , typename P34::first , typename P34::second , map34< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33 > > { typedef map35 type; }; template< typename Map> struct m_at< Map,35 > { typedef typename Map::item35 type; }; template< typename Key, typename T, typename Base > struct m_item< 36,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item35; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35 > struct map36 : m_item< 36 , typename P35::first , typename P35::second , map35< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34 > > { typedef map36 type; }; template< typename Map> struct m_at< Map,36 > { typedef typename Map::item36 type; }; template< typename Key, typename T, typename Base > struct m_item< 37,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item36; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36 > struct map37 : m_item< 37 , typename P36::first , typename P36::second , map36< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35 > > { typedef map37 type; }; template< typename Map> struct m_at< Map,37 > { typedef typename Map::item37 type; }; template< typename Key, typename T, typename Base > struct m_item< 38,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item37; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37 > struct map38 : m_item< 38 , typename P37::first , typename P37::second , map37< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36 > > { typedef map38 type; }; template< typename Map> struct m_at< Map,38 > { typedef typename Map::item38 type; }; template< typename Key, typename T, typename Base > struct m_item< 39,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item38; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38 > struct map39 : m_item< 39 , typename P38::first , typename P38::second , map38< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37 > > { typedef map39 type; }; template< typename Map> struct m_at< Map,39 > { typedef typename Map::item39 type; }; template< typename Key, typename T, typename Base > struct m_item< 40,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item39; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 > struct map40 : m_item< 40 , typename P39::first , typename P39::second , map39< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38 > > { typedef map40 type; }; }} KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/plain/map50.hpp000066400000000000000000000312611265471724600265700ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/map/map50.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename Map> struct m_at< Map,40 > { typedef typename Map::item40 type; }; template< typename Key, typename T, typename Base > struct m_item< 41,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item40; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40 > struct map41 : m_item< 41 , typename P40::first , typename P40::second , map40< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39 > > { typedef map41 type; }; template< typename Map> struct m_at< Map,41 > { typedef typename Map::item41 type; }; template< typename Key, typename T, typename Base > struct m_item< 42,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item41; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41 > struct map42 : m_item< 42 , typename P41::first , typename P41::second , map41< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40 > > { typedef map42 type; }; template< typename Map> struct m_at< Map,42 > { typedef typename Map::item42 type; }; template< typename Key, typename T, typename Base > struct m_item< 43,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item42; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42 > struct map43 : m_item< 43 , typename P42::first , typename P42::second , map42< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41 > > { typedef map43 type; }; template< typename Map> struct m_at< Map,43 > { typedef typename Map::item43 type; }; template< typename Key, typename T, typename Base > struct m_item< 44,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item43; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43 > struct map44 : m_item< 44 , typename P43::first , typename P43::second , map43< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42 > > { typedef map44 type; }; template< typename Map> struct m_at< Map,44 > { typedef typename Map::item44 type; }; template< typename Key, typename T, typename Base > struct m_item< 45,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item44; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 > struct map45 : m_item< 45 , typename P44::first , typename P44::second , map44< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43 > > { typedef map45 type; }; template< typename Map> struct m_at< Map,45 > { typedef typename Map::item45 type; }; template< typename Key, typename T, typename Base > struct m_item< 46,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item45; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 , typename P45 > struct map46 : m_item< 46 , typename P45::first , typename P45::second , map45< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44 > > { typedef map46 type; }; template< typename Map> struct m_at< Map,46 > { typedef typename Map::item46 type; }; template< typename Key, typename T, typename Base > struct m_item< 47,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item46; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 , typename P45, typename P46 > struct map47 : m_item< 47 , typename P46::first , typename P46::second , map46< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45 > > { typedef map47 type; }; template< typename Map> struct m_at< Map,47 > { typedef typename Map::item47 type; }; template< typename Key, typename T, typename Base > struct m_item< 48,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item47; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 , typename P45, typename P46, typename P47 > struct map48 : m_item< 48 , typename P47::first , typename P47::second , map47< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46 > > { typedef map48 type; }; template< typename Map> struct m_at< Map,48 > { typedef typename Map::item48 type; }; template< typename Key, typename T, typename Base > struct m_item< 49,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item48; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 , typename P45, typename P46, typename P47, typename P48 > struct map49 : m_item< 49 , typename P48::first , typename P48::second , map48< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47 > > { typedef map49 type; }; template< typename Map> struct m_at< Map,49 > { typedef typename Map::item49 type; }; template< typename Key, typename T, typename Base > struct m_item< 50,Key,T,Base > : m_item_< Key,T,Base > { typedef pair< Key,T > item49; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 , typename P45, typename P46, typename P47, typename P48, typename P49 > struct map50 : m_item< 50 , typename P49::first , typename P49::second , map49< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47,P48 > > { typedef map50 type; }; }} KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/typeof_based/000077500000000000000000000000001265471724600264735ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp000066400000000000000000000054761265471724600301360ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/map/map10.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename P0 > struct map1 : m_item< typename P0::first , typename P0::second , map0< > > { typedef map1 type; }; template< typename P0, typename P1 > struct map2 : m_item< typename P1::first , typename P1::second , map1 > { typedef map2 type; }; template< typename P0, typename P1, typename P2 > struct map3 : m_item< typename P2::first , typename P2::second , map2< P0,P1 > > { typedef map3 type; }; template< typename P0, typename P1, typename P2, typename P3 > struct map4 : m_item< typename P3::first , typename P3::second , map3< P0,P1,P2 > > { typedef map4 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 > struct map5 : m_item< typename P4::first , typename P4::second , map4< P0,P1,P2,P3 > > { typedef map5 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5 > struct map6 : m_item< typename P5::first , typename P5::second , map5< P0,P1,P2,P3,P4 > > { typedef map6 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6 > struct map7 : m_item< typename P6::first , typename P6::second , map6< P0,P1,P2,P3,P4,P5 > > { typedef map7 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7 > struct map8 : m_item< typename P7::first , typename P7::second , map7< P0,P1,P2,P3,P4,P5,P6 > > { typedef map8 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8 > struct map9 : m_item< typename P8::first , typename P8::second , map8< P0,P1,P2,P3,P4,P5,P6,P7 > > { typedef map9 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 > struct map10 : m_item< typename P9::first , typename P9::second , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 > > { typedef map10 type; }; }} KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp000066400000000000000000000111671265471724600301310ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/map/map20.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10 > struct map11 : m_item< typename P10::first , typename P10::second , map10< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 > > { typedef map11 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11 > struct map12 : m_item< typename P11::first , typename P11::second , map11< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 > > { typedef map12 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12 > struct map13 : m_item< typename P12::first , typename P12::second , map12< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11 > > { typedef map13 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13 > struct map14 : m_item< typename P13::first , typename P13::second , map13< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 > > { typedef map14 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 > struct map15 : m_item< typename P14::first , typename P14::second , map14< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 > > { typedef map15 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15 > struct map16 : m_item< typename P15::first , typename P15::second , map15< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14 > > { typedef map16 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16 > struct map17 : m_item< typename P16::first , typename P16::second , map16< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 > > { typedef map17 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17 > struct map18 : m_item< typename P17::first , typename P17::second , map17< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16 > > { typedef map18 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18 > struct map19 : m_item< typename P18::first , typename P18::second , map18< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17 > > { typedef map19 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 > struct map20 : m_item< typename P19::first , typename P19::second , map19< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18 > > { typedef map20 type; }; }} KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp000066400000000000000000000147431265471724600301350ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/map/map30.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20 > struct map21 : m_item< typename P20::first , typename P20::second , map20< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 > > { typedef map21 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21 > struct map22 : m_item< typename P21::first , typename P21::second , map21< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20 > > { typedef map22 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22 > struct map23 : m_item< typename P22::first , typename P22::second , map22< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21 > > { typedef map23 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23 > struct map24 : m_item< typename P23::first , typename P23::second , map23< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22 > > { typedef map24 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 > struct map25 : m_item< typename P24::first , typename P24::second , map24< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23 > > { typedef map25 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25 > struct map26 : m_item< typename P25::first , typename P25::second , map25< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24 > > { typedef map26 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26 > struct map27 : m_item< typename P26::first , typename P26::second , map26< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25 > > { typedef map27 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27 > struct map28 : m_item< typename P27::first , typename P27::second , map27< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26 > > { typedef map28 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28 > struct map29 : m_item< typename P28::first , typename P28::second , map28< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27 > > { typedef map29 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 > struct map30 : m_item< typename P29::first , typename P29::second , map29< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28 > > { typedef map30 type; }; }} KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp000066400000000000000000000205171265471724600301320ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/map/map40.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30 > struct map31 : m_item< typename P30::first , typename P30::second , map30< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29 > > { typedef map31 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31 > struct map32 : m_item< typename P31::first , typename P31::second , map31< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30 > > { typedef map32 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32 > struct map33 : m_item< typename P32::first , typename P32::second , map32< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31 > > { typedef map33 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33 > struct map34 : m_item< typename P33::first , typename P33::second , map33< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32 > > { typedef map34 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 > struct map35 : m_item< typename P34::first , typename P34::second , map34< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33 > > { typedef map35 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35 > struct map36 : m_item< typename P35::first , typename P35::second , map35< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34 > > { typedef map36 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36 > struct map37 : m_item< typename P36::first , typename P36::second , map36< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35 > > { typedef map37 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37 > struct map38 : m_item< typename P37::first , typename P37::second , map37< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36 > > { typedef map38 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38 > struct map39 : m_item< typename P38::first , typename P38::second , map38< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37 > > { typedef map39 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 > struct map40 : m_item< typename P39::first , typename P39::second , map39< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38 > > { typedef map40 type; }; }} KWStyle-master/Utilities/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp000066400000000000000000000242731265471724600301360ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/map/map50.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40 > struct map41 : m_item< typename P40::first , typename P40::second , map40< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39 > > { typedef map41 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41 > struct map42 : m_item< typename P41::first , typename P41::second , map41< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40 > > { typedef map42 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42 > struct map43 : m_item< typename P42::first , typename P42::second , map42< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41 > > { typedef map43 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43 > struct map44 : m_item< typename P43::first , typename P43::second , map43< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42 > > { typedef map44 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 > struct map45 : m_item< typename P44::first , typename P44::second , map44< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43 > > { typedef map45 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 , typename P45 > struct map46 : m_item< typename P45::first , typename P45::second , map45< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44 > > { typedef map46 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 , typename P45, typename P46 > struct map47 : m_item< typename P46::first , typename P46::second , map46< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45 > > { typedef map47 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 , typename P45, typename P46, typename P47 > struct map48 : m_item< typename P47::first , typename P47::second , map47< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46 > > { typedef map48 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 , typename P45, typename P46, typename P47, typename P48 > struct map49 : m_item< typename P48::first , typename P48::second , map48< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47 > > { typedef map49 type; }; template< typename P0, typename P1, typename P2, typename P3, typename P4 , typename P5, typename P6, typename P7, typename P8, typename P9 , typename P10, typename P11, typename P12, typename P13, typename P14 , typename P15, typename P16, typename P17, typename P18, typename P19 , typename P20, typename P21, typename P22, typename P23, typename P24 , typename P25, typename P26, typename P27, typename P28, typename P29 , typename P30, typename P31, typename P32, typename P33, typename P34 , typename P35, typename P36, typename P37, typename P38, typename P39 , typename P40, typename P41, typename P42, typename P43, typename P44 , typename P45, typename P46, typename P47, typename P48, typename P49 > struct map50 : m_item< typename P49::first , typename P49::second , map49< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47,P48 > > { typedef map50 type; }; }} KWStyle-master/Utilities/boost/mpl/map/aux_/size_impl.hpp000066400000000000000000000012521265471724600240350ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_AUX_SIZE_IMPL_HPP_INCLUDED #define BOOST_MPL_MAP_AUX_SIZE_IMPL_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 namespace boost { namespace mpl { template<> struct size_impl< aux::map_tag > { template< typename Map > struct apply : Map::size { }; }; }} #endif // BOOST_MPL_MAP_AUX_SIZE_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/aux_/tag.hpp000066400000000000000000000010321265471724600226110ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_AUX_TAG_HPP_INCLUDED #define BOOST_MPL_MAP_AUX_TAG_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 { namespace aux { struct map_tag; }}} #endif // BOOST_MPL_MAP_AUX_TAG_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/aux_/value_type_impl.hpp000066400000000000000000000014301265471724600252360ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED #define BOOST_MPL_MAP_AUX_VALUE_TYPE_IMPL_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 namespace boost { namespace mpl { template<> struct value_type_impl< aux::map_tag > { template< typename Map, typename T > struct apply : second { }; }; }} #endif // BOOST_MPL_MAP_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/map0.hpp000066400000000000000000000023021265471724600217400ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_MAP0_HPP_INCLUDED #define BOOST_MPL_MAP_MAP0_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 #include #endif // BOOST_MPL_MAP_MAP0_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/map10.hpp000066400000000000000000000020661265471724600220300ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_MAP10_HPP_INCLUDED #define BOOST_MPL_MAP_MAP10_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$ #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 map10.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_MAP_MAP10_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/map20.hpp000066400000000000000000000020701265471724600220240ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_MAP20_HPP_INCLUDED #define BOOST_MPL_MAP_MAP20_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$ #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 map20.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_MAP_MAP20_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/map30.hpp000066400000000000000000000020701265471724600220250ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_MAP30_HPP_INCLUDED #define BOOST_MPL_MAP_MAP30_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$ #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 map30.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_MAP_MAP30_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/map40.hpp000066400000000000000000000020701265471724600220260ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_MAP40_HPP_INCLUDED #define BOOST_MPL_MAP_MAP40_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$ #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 map40.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_MAP_MAP40_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/map/map50.hpp000066400000000000000000000020701265471724600220270ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAP_MAP50_HPP_INCLUDED #define BOOST_MPL_MAP_MAP50_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$ #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 map50.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_MAP_MAP50_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/math/000077500000000000000000000000001265471724600205515ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/math/fixed_c.hpp000066400000000000000000000014511265471724600226640ustar00rootroot00000000000000 #ifndef BOOST_MPL_FIXED_C_HPP_INCLUDED #define BOOST_MPL_FIXED_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 namespace boost { namespace mpl { template< long IntegerPart , unsigned long FractionPart > struct fixed_c { BOOST_STATIC_CONSTANT(long, integer_part = IntegerPart); BOOST_STATIC_CONSTANT(unsigned long, fraction_part = FractionPart); typedef fixed_c type; fixed_c() {} }; }} #endif // BOOST_MPL_FIXED_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/math/is_even.hpp000066400000000000000000000022001265471724600227040ustar00rootroot00000000000000 #ifndef BOOST_MPL_MATH_IS_EVEN_HPP_INCLUDED #define BOOST_MPL_MATH_IS_EVEN_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 { #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) namespace aux { template struct is_even_base { enum { value = (N::value % 2) == 0 }; typedef bool_ type; }; } #endif template< typename BOOST_MPL_AUX_NA_PARAM(N) > struct is_even #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) : aux::is_even_base::type #else : bool_<((N::value % 2) == 0)> #endif { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_even,(N)) }; BOOST_MPL_AUX_NA_SPEC(1, is_even) }} #endif // BOOST_MPL_MATH_IS_EVEN_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/math/rational_c.hpp000066400000000000000000000014531265471724600234000ustar00rootroot00000000000000 #ifndef BOOST_MPL_RATIONAL_C_HPP_INCLUDED #define BOOST_MPL_RATIONAL_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 namespace boost { namespace mpl { template< typename IntegerType , IntegerType N , IntegerType D = 1 > struct rational_c { BOOST_STATIC_CONSTANT(IntegerType, numerator = N); BOOST_STATIC_CONSTANT(IntegerType, denominator = D); typedef rational_c type; rational_c() {} }; }} #endif // BOOST_MPL_RATIONAL_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/max.hpp000066400000000000000000000006601265471724600211200ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAX_HPP_INCLUDED #define BOOST_MPL_MAX_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_MAX_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/max_element.hpp000066400000000000000000000030541265471724600226310ustar00rootroot00000000000000 #ifndef BOOST_MPL_MAX_ELEMENT_HPP_INCLUDED #define BOOST_MPL_MAX_ELEMENT_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 namespace boost { namespace mpl { BOOST_MPL_AUX_COMMON_NAME_WKND(max_element) namespace aux { template< typename Predicate > struct select_max { template< typename OldIterator, typename Iterator > struct apply { typedef typename apply2< Predicate , typename deref::type , typename deref::type >::type condition_; typedef typename if_< condition_ , Iterator , OldIterator >::type type; }; }; } // namespace aux template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) , typename Predicate = less<_,_> > struct max_element : iter_fold< Sequence , typename begin::type , protect< aux::select_max > > { }; BOOST_MPL_AUX_NA_SPEC(1, max_element) }} #endif // BOOST_MPL_MAX_ELEMENT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/min.hpp000066400000000000000000000006601265471724600211160ustar00rootroot00000000000000 #ifndef BOOST_MPL_MIN_HPP_INCLUDED #define BOOST_MPL_MIN_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_MIN_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/min_element.hpp000066400000000000000000000014571265471724600226340ustar00rootroot00000000000000 #ifndef BOOST_MPL_MIN_ELEMENT_HPP_INCLUDED #define BOOST_MPL_MIN_ELEMENT_HPP_INCLUDED // Copyright David Abrahams 2004 // // Distributed under the Boost Software License, Version 1.0. // (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 { BOOST_MPL_AUX_COMMON_NAME_WKND(min_element) template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) , typename Predicate = less<_,_> > struct min_element : max_element< Sequence , mpl::not_ > { }; BOOST_MPL_AUX_NA_SPEC(1, min_element) }} #endif // BOOST_MPL_MIN_ELEMENT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/min_max.hpp000066400000000000000000000016141265471724600217630ustar00rootroot00000000000000 #ifndef BOOST_MPL_MIN_MAX_HPP_INCLUDED #define BOOST_MPL_MIN_MAX_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 namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(N1) , typename BOOST_MPL_AUX_NA_PARAM(N2) > struct min : if_< less,N1,N2 > { }; template< typename BOOST_MPL_AUX_NA_PARAM(N1) , typename BOOST_MPL_AUX_NA_PARAM(N2) > struct max : if_< less,N2,N1 > { }; BOOST_MPL_AUX_NA_SPEC(2, min) BOOST_MPL_AUX_NA_SPEC(2, max) }} #endif // BOOST_MPL_MIN_MAX_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/minus.hpp000066400000000000000000000010031265471724600214560ustar00rootroot00000000000000 #ifndef BOOST_MPL_MINUS_HPP_INCLUDED #define BOOST_MPL_MINUS_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 minus #define AUX778076_OP_TOKEN - #include #endif // BOOST_MPL_MINUS_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/modulus.hpp000066400000000000000000000010501265471724600220150ustar00rootroot00000000000000 #ifndef BOOST_MPL_MODULUS_HPP_INCLUDED #define BOOST_MPL_MODULUS_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 modulus #define AUX778076_OP_TOKEN % #define AUX778076_OP_ARITY 2 #include #endif // BOOST_MPL_MODULUS_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/multiplies.hpp000066400000000000000000000024751265471724600225300ustar00rootroot00000000000000 #ifndef BOOST_MPL_MULTIPLIES_HPP_INCLUDED #define BOOST_MPL_MULTIPLIES_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 // backward compatibility header, deprecated namespace boost { namespace mpl { #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) # define AUX778076_OP_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY #else # define AUX778076_OP_ARITY 2 #endif template< BOOST_MPL_PP_DEFAULT_PARAMS(AUX778076_OP_ARITY, typename N, na) > struct multiplies : times< BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) > { BOOST_MPL_AUX_LAMBDA_SUPPORT( AUX778076_OP_ARITY , multiplies , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) ) ) }; BOOST_MPL_AUX_NA_SPEC(AUX778076_OP_ARITY, multiplies) #undef AUX778076_OP_ARITY }} #endif // BOOST_MPL_MULTIPLIES_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/multiset/000077500000000000000000000000001265471724600214665ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/multiset/aux_/000077500000000000000000000000001265471724600224225ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/multiset/aux_/count_impl.hpp000066400000000000000000000041111265471724600253010ustar00rootroot00000000000000 #ifndef BOOST_MPL_MULTISET_AUX_COUNT_IMPL_HPP_INCLUDED #define BOOST_MPL_MULTISET_AUX_COUNT_IMPL_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 #include #include #include #include #include #include #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) # include # include #endif namespace boost { namespace mpl { #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) namespace aux { template< typename S, typename U > struct multiset_count_impl : int_< sizeof(S::key_count(BOOST_MPL_AUX_STATIC_CAST(U*,0))) - 1 > { }; template< typename S, typename U > struct multiset_count_ref_impl { typedef U (* u_)(); typedef int_< sizeof(S::ref_key_count(BOOST_MPL_AUX_STATIC_CAST(u_,0))) - 1 > type_; BOOST_STATIC_CONSTANT(int, value = type_::value); typedef type_ type; }; } template<> struct count_impl< aux::multiset_tag > { template< typename Set, typename Key > struct apply : if_< is_reference , aux::multiset_count_ref_impl , aux::multiset_count_impl >::type { }; }; #else template<> struct count_impl< aux::multiset_tag > { template< typename Set, typename Key > struct apply { enum { msvc71_wknd_ = sizeof(Set::key_count(BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*,0))) - 1 }; typedef int_< msvc71_wknd_ > type; BOOST_STATIC_CONSTANT(int, value = msvc71_wknd_); }; }; #endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1300) }} #endif // BOOST_MPL_MULTISET_AUX_COUNT_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/multiset/aux_/insert_impl.hpp000066400000000000000000000014541265471724600254640ustar00rootroot00000000000000 #ifndef BOOST_MPL_MULTISET_AUX_INSERT_IMPL_HPP_INCLUDED #define BOOST_MPL_MULTISET_AUX_INSERT_IMPL_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 #include namespace boost { namespace mpl { template<> struct insert_impl< aux::multiset_tag > { template< typename Set, typename Key, typename unused_ > struct apply { typedef ms_item type; }; }; }} #endif // BOOST_MPL_MULTISET_AUX_INSERT_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/multiset/aux_/item.hpp000066400000000000000000000067411265471724600241010ustar00rootroot00000000000000 #ifndef BOOST_MPL_MULTISET_AUX_ITEM_HPP_INCLUDED #define BOOST_MPL_MULTISET_AUX_ITEM_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 #include #include #include #include #include #include #include #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) # include # include # include #endif namespace boost { namespace mpl { #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) template< typename T, typename Base > struct ms_item { typedef aux::multiset_tag tag; template< typename U > struct prior_count { enum { msvc70_wknd_ = sizeof(Base::key_count(BOOST_MPL_AUX_STATIC_CAST(U*,0))) }; typedef int_< msvc70_wknd_ > count_; typedef typename eval_if< is_same, next, count_ >::type c_; #if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) typedef typename aux::weighted_tag::type type; #else typedef char (&type)[BOOST_MPL_AUX_MSVC_VALUE_WKND(c_)::value]; #endif }; template< typename U > struct prior_ref_count { typedef U (* u_)(); enum { msvc70_wknd_ = sizeof(Base::ref_key_count(BOOST_MPL_AUX_STATIC_CAST(u_,0))) }; typedef int_< msvc70_wknd_ > count_; typedef typename eval_if< is_same, next, count_ >::type c_; #if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) typedef typename aux::weighted_tag::type type; #else typedef char (&type)[BOOST_MPL_AUX_MSVC_VALUE_WKND(c_)::value]; #endif }; template< typename U > static typename prior_count::type key_count(U*); template< typename U > static typename prior_ref_count::type ref_key_count(U (*)()); }; #else // BOOST_WORKAROUND(BOOST_MSVC, <= 1300) namespace aux { template< typename U, typename Base > struct prior_key_count { enum { msvc71_wknd_ = sizeof(Base::key_count(BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*,0))) }; typedef int_< msvc71_wknd_ > count_; #if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) typedef typename aux::weighted_tag< BOOST_MPL_AUX_VALUE_WKND(count_)::value >::type type; #else typedef char (&type)[count_::value]; #endif }; } template< typename T, typename Base > struct ms_item { typedef aux::multiset_tag tag; enum { msvc71_wknd_ = sizeof(Base::key_count(BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*,0))) + 1 }; typedef int_< msvc71_wknd_ > count_; #if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) static typename aux::weighted_tag< BOOST_MPL_AUX_VALUE_WKND(count_)::value >::type key_count(aux::type_wrapper*); #else static char (& key_count(aux::type_wrapper*) )[count_::value]; #endif template< typename U > static typename aux::prior_key_count::type key_count(aux::type_wrapper*); }; #endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1300) }} #endif // BOOST_MPL_MULTISET_AUX_ITEM_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/multiset/aux_/multiset0.hpp000066400000000000000000000014321265471724600250610ustar00rootroot00000000000000 #ifndef BOOST_MPL_MULTISET_AUX_MULTISET0_HPP_INCLUDED #define BOOST_MPL_MULTISET_AUX_MULTISET0_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 namespace boost { namespace mpl { template< int dummy_ = 0 > struct multiset0 { typedef aux::multiset_tag tag; typedef int_<1> count_; static char (& key_count(...) )[count_::value]; static char (& ref_key_count(...) )[count_::value]; }; }} #endif // BOOST_MPL_MULTISET_AUX_MULTISET0_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/multiset/aux_/tag.hpp000066400000000000000000000010101265471724600236760ustar00rootroot00000000000000 #ifndef BOOST_MPL_MULTISET_AUX_TAG_HPP_INCLUDED #define BOOST_MPL_MULTISET_AUX_TAG_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$ namespace boost { namespace mpl { namespace aux { struct multiset_tag; }}} #endif // BOOST_MPL_MULTISET_AUX_TAG_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/multiset/multiset0.hpp000066400000000000000000000024521265471724600241300ustar00rootroot00000000000000 #ifndef BOOST_MPL_MULTISET_MULTISET0_HPP_INCLUDED #define BOOST_MPL_MULTISET_MULTISET0_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 //#include //#include //#include //#include //#include //#include //#include //#include #include #include //#include //#include //#include #include #include #include #endif // BOOST_MPL_MULTISET_MULTISET0_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/negate.hpp000066400000000000000000000035271265471724600216030ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/next.hpp000066400000000000000000000006661265471724600213170ustar00rootroot00000000000000 #ifndef BOOST_MPL_NEXT_HPP_INCLUDED #define BOOST_MPL_NEXT_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_NEXT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/next_prior.hpp000066400000000000000000000020271265471724600225230ustar00rootroot00000000000000 #ifndef BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED #define BOOST_MPL_NEXT_PRIOR_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 { BOOST_MPL_AUX_COMMON_NAME_WKND(next) BOOST_MPL_AUX_COMMON_NAME_WKND(prior) template< typename BOOST_MPL_AUX_NA_PARAM(T) > struct next { typedef typename T::next type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,next,(T)) }; template< typename BOOST_MPL_AUX_NA_PARAM(T) > struct prior { typedef typename T::prior type; BOOST_MPL_AUX_LAMBDA_SUPPORT(1,prior,(T)) }; BOOST_MPL_AUX_NA_SPEC(1, next) BOOST_MPL_AUX_NA_SPEC(1, prior) }} #endif // BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/not.hpp000066400000000000000000000020051265471724600211260ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/not_equal_to.hpp000066400000000000000000000010401265471724600230150ustar00rootroot00000000000000 #ifndef BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED #define BOOST_MPL_NOT_EQUAL_TO_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 not_equal_to #define AUX778076_OP_TOKEN != #include #endif // BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/numeric_cast.hpp000066400000000000000000000023031265471724600230030ustar00rootroot00000000000000 #ifndef BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED #define BOOST_MPL_NUMERIC_CAST_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 // agurt 21/sep/04: portability macro for the sake of MSVC 6.x-7.0; // resolves conflicts with 'boost::numeric_cast' function template. // use it in your own code _only_ if you care about compatibility with // these outdated compilers! #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570) ) # define BOOST_MPL_AUX_NUMERIC_CAST numeric_cast_ #else # define BOOST_MPL_AUX_NUMERIC_CAST numeric_cast #endif namespace boost { namespace mpl { // no default implementation; the definition is needed to make MSVC happy template< typename SourceTag, typename TargetTag > struct BOOST_MPL_AUX_NUMERIC_CAST { template< typename N > struct apply; }; }} #endif // BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/or.hpp000066400000000000000000000031271265471724600207540ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/order.hpp000066400000000000000000000020211265471724600214370ustar00rootroot00000000000000 #ifndef BOOST_MPL_ORDER_HPP_INCLUDED #define BOOST_MPL_ORDER_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 namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(AssociativeSequence) , typename BOOST_MPL_AUX_NA_PARAM(Key) > struct order : order_impl< typename sequence_tag::type > ::template apply { BOOST_MPL_AUX_LAMBDA_SUPPORT(2,order,(AssociativeSequence,Key)) }; BOOST_MPL_AUX_NA_SPEC(2, order) }} #endif // BOOST_MPL_ORDER_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/order_fwd.hpp000066400000000000000000000011441265471724600223040ustar00rootroot00000000000000 #ifndef BOOST_MPL_ORDER_FWD_HPP_INCLUDED #define BOOST_MPL_ORDER_FWD_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 Tag > struct order_impl; template< typename AssociativeSequence, typename Key > struct order; }} #endif // BOOST_MPL_ORDER_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/pair.hpp000066400000000000000000000027351265471724600212730ustar00rootroot00000000000000 #ifndef BOOST_MPL_PAIR_HPP_INCLUDED #define BOOST_MPL_PAIR_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 BOOST_MPL_AUX_NA_PARAM(T1) , typename BOOST_MPL_AUX_NA_PARAM(T2) > struct pair { typedef pair type; typedef T1 first; typedef T2 second; BOOST_MPL_AUX_LAMBDA_SUPPORT(2,pair,(T1,T2)) }; template< typename BOOST_MPL_AUX_NA_PARAM(P) > struct first { #if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) typedef typename P::first type; #else typedef typename aux::msvc_eti_base

::first type; #endif BOOST_MPL_AUX_LAMBDA_SUPPORT(1,first,(P)) }; template< typename BOOST_MPL_AUX_NA_PARAM(P) > struct second { #if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) typedef typename P::second type; #else typedef typename aux::msvc_eti_base

::second type; #endif BOOST_MPL_AUX_LAMBDA_SUPPORT(1,second,(P)) }; BOOST_MPL_AUX_NA_SPEC_NO_ETI(2, pair) BOOST_MPL_AUX_NA_SPEC(1, first) BOOST_MPL_AUX_NA_SPEC(1, second) }} #endif // BOOST_MPL_PAIR_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/pair_view.hpp000066400000000000000000000104031265471724600223140ustar00rootroot00000000000000 #ifndef BOOST_MPL_PAIR_VIEW_HPP_INCLUDED #define BOOST_MPL_PAIR_VIEW_HPP_INCLUDED // Copyright David Abrahams 2003-2004 // 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 #include #include #include #include #include #include #include #include #include namespace boost { namespace mpl { namespace aux { struct pair_iter_tag; #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename Iter1, typename Iter2, typename Category > struct pair_iter; template< typename Category > struct prior_pair_iter { template< typename Iter1, typename Iter2 > struct apply { typedef typename mpl::prior::type i1_; typedef typename mpl::prior::type i2_; typedef pair_iter type; }; }; template<> struct prior_pair_iter { template< typename Iter1, typename Iter2 > struct apply { typedef pair_iter type; }; }; #endif } template< typename Iter1 , typename Iter2 , typename Category > struct pair_iter { typedef aux::pair_iter_tag tag; typedef Category category; typedef Iter1 first; typedef Iter2 second; #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) typedef pair< typename deref::type , typename deref::type > type; typedef typename mpl::next::type i1_; typedef typename mpl::next::type i2_; typedef pair_iter next; typedef apply_wrap2< aux::prior_pair_iter,Iter1,Iter2 >::type prior; #endif }; #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename Iter1, typename Iter2, typename C > struct deref< pair_iter > { typedef pair< typename deref::type , typename deref::type > type; }; template< typename Iter1, typename Iter2, typename C > struct next< pair_iter > { typedef typename mpl::next::type i1_; typedef typename mpl::next::type i2_; typedef pair_iter type; }; template< typename Iter1, typename Iter2, typename C > struct prior< pair_iter > { typedef typename mpl::prior::type i1_; typedef typename mpl::prior::type i2_; typedef pair_iter type; }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION template<> struct advance_impl { template< typename Iter, typename D > struct apply { typedef typename mpl::advance< typename Iter::first,D >::type i1_; typedef typename mpl::advance< typename Iter::second,D >::type i2_; typedef pair_iter type; }; }; template<> struct distance_impl { template< typename Iter1, typename Iter2 > struct apply { // agurt, 10/nov/04: MSVC 6.5 ICE-s on forwarding typedef typename mpl::distance< typename first::type , typename first::type >::type type; }; }; template< typename BOOST_MPL_AUX_NA_PARAM(Sequence1) , typename BOOST_MPL_AUX_NA_PARAM(Sequence2) > struct pair_view { typedef nested_begin_end_tag tag; typedef typename begin::type iter1_; typedef typename begin::type iter2_; typedef typename min< typename iterator_category::type , typename iterator_category::type >::type category_; typedef pair_iter begin; typedef pair_iter< typename end::type , typename end::type , category_ > end; }; BOOST_MPL_AUX_NA_SPEC(2, pair_view) }} #endif // BOOST_MPL_PAIR_VIEW_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/partition.hpp000066400000000000000000000020261265471724600223420ustar00rootroot00000000000000 #ifndef BOOST_MPL_PARTITION_HPP_INCLUDED #define BOOST_MPL_PARTITION_HPP_INCLUDED // Copyright Eric Friedman 2002-2003 // 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 namespace boost { namespace mpl { namespace aux { template < typename Sequence , typename Pred , typename In1 , typename In2 > struct partition_impl : stable_partition_impl { }; template < typename Sequence , typename Pred , typename In1 , typename In2 > struct reverse_partition_impl : reverse_stable_partition_impl { }; } // namespace aux BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, partition) }} #endif // BOOST_MPL_PARTITION_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/placeholders.hpp000066400000000000000000000046221265471724600230020ustar00rootroot00000000000000 #if !defined(BOOST_PP_IS_ITERATING) ///// header body #ifndef BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED #define BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED // 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) // // See http://www.boost.org/libs/mpl for documentation. // $Id$ // $Date$ // $Revision$ #if !defined(BOOST_MPL_PREPROCESSING_MODE) # include # include # if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) # define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) \ using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \ /**/ # else # define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) /**/ # endif #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER placeholders.hpp # include #else # include # include # include # include // watch out for GNU gettext users, who #define _(x) #if !defined(_) || defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT) 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::_; } }} #endif /// agurt, 17/mar/02: one more placeholder for the last 'apply#' /// specialization #define BOOST_PP_ITERATION_PARAMS_1 \ (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY + 1, )) #include BOOST_PP_ITERATE() #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED ///// iteration #else #define i_ BOOST_PP_FRAME_ITERATION(1) BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN typedef arg BOOST_PP_CAT(_,i_); BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE namespace boost { namespace mpl { BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(BOOST_PP_CAT(_,i_)) namespace placeholders { using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::BOOST_PP_CAT(_,i_); } }} #undef i_ #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/plus.hpp000066400000000000000000000007771265471724600213270ustar00rootroot00000000000000 #ifndef BOOST_MPL_PLUS_HPP_INCLUDED #define BOOST_MPL_PLUS_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 plus #define AUX778076_OP_TOKEN + #include #endif // BOOST_MPL_PLUS_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/pop_back.hpp000066400000000000000000000016511265471724600221120ustar00rootroot00000000000000 #ifndef BOOST_MPL_POP_BACK_HPP_INCLUDED #define BOOST_MPL_POP_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) > struct pop_back : pop_back_impl< typename sequence_tag::type > ::template apply< Sequence > { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,pop_back,(Sequence)) }; BOOST_MPL_AUX_NA_SPEC(1, pop_back) }} #endif // BOOST_MPL_POP_BACK_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/pop_back_fwd.hpp000066400000000000000000000010641265471724600227500ustar00rootroot00000000000000 #ifndef BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED #define BOOST_MPL_POP_BACK_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$ namespace boost { namespace mpl { template< typename Tag > struct pop_back_impl; template< typename Sequence > struct pop_back; }} #endif // BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/pop_front.hpp000066400000000000000000000016621265471724600223440ustar00rootroot00000000000000 #ifndef BOOST_MPL_POP_FRONT_HPP_INCLUDED #define BOOST_MPL_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 #include #include namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) > struct pop_front : pop_front_impl< typename sequence_tag::type > ::template apply< Sequence > { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,pop_front,(Sequence)) }; BOOST_MPL_AUX_NA_SPEC(1, pop_front) }} #endif // BOOST_MPL_POP_FRONT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/pop_front_fwd.hpp000066400000000000000000000010711265471724600231760ustar00rootroot00000000000000 #ifndef BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED #define BOOST_MPL_POP_FRONT_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$ namespace boost { namespace mpl { template< typename Tag > struct pop_front_impl; template< typename Sequence > struct pop_front; }} #endif // BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/print.hpp000066400000000000000000000030211265471724600214610ustar00rootroot00000000000000 #ifndef BOOST_MPL_PRINT_HPP_INCLUDED #define BOOST_MPL_PRINT_HPP_INCLUDED // Copyright David Abrahams 2003 // 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 namespace boost { namespace mpl { namespace aux { #if defined(BOOST_MSVC) # pragma warning(push, 3) // we only want one warning from MSVC, so turn off the other one # pragma warning(disable: 4307) #elif defined(__MWERKS__) # pragma warn_hidevirtual on struct print_base { virtual void f() {} }; #endif #if defined(__EDG_VERSION__) template struct dependent_unsigned { static const unsigned value = 1; }; #endif } // namespace aux template struct print : mpl::identity #if defined(__MWERKS__) , aux::print_base #endif { #if defined(__clang__) const int m_x = 1 / (sizeof(T) - sizeof(T)); #elif defined(BOOST_MSVC) enum { n = sizeof(T) + -1 }; #elif defined(__MWERKS__) void f(int); #else enum { n = # if defined(__EDG_VERSION__) aux::dependent_unsigned::value > -1 # else sizeof(T) > -1 # endif }; #endif }; #if defined(BOOST_MSVC) # pragma warning(pop) #elif defined(__MWERKS__) # pragma warn_hidevirtual reset #endif }} #endif // BOOST_MPL_PRINT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/prior.hpp000066400000000000000000000006711265471724600214700ustar00rootroot00000000000000 #ifndef BOOST_MPL_PRIOR_HPP_INCLUDED #define BOOST_MPL_PRIOR_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_PRIOR_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/protect.hpp000066400000000000000000000023251265471724600220130ustar00rootroot00000000000000 #ifndef BOOST_MPL_PROTECT_HPP_INCLUDED #define BOOST_MPL_PROTECT_HPP_INCLUDED // Copyright Peter Dimov 2001 // 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 namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(T) , int not_le_ = 0 > struct protect : T { #if BOOST_WORKAROUND(__EDG_VERSION__, == 238) typedef mpl::protect type; #else typedef protect type; #endif }; #if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) namespace aux { template< BOOST_MPL_AUX_NTTP_DECL(int, N), typename T > struct arity< protect, N > : arity { }; } // namespace aux #endif BOOST_MPL_AUX_NA_SPEC_MAIN(1, protect) #if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(1, 1, protect) #endif }} #endif // BOOST_MPL_PROTECT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/push_back.hpp000066400000000000000000000024111265471724600222660ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/push_back_fwd.hpp000066400000000000000000000011051265471724600231250ustar00rootroot00000000000000 #ifndef BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED #define BOOST_MPL_PUSH_BACK_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$ namespace boost { namespace mpl { template< typename Tag > struct push_back_impl; template< typename Sequence, typename T > struct push_back; }} #endif // BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/push_front.hpp000066400000000000000000000024251265471724600225230ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/push_front_fwd.hpp000066400000000000000000000011121265471724600233530ustar00rootroot00000000000000 #ifndef BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED #define BOOST_MPL_PUSH_FRONT_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$ namespace boost { namespace mpl { template< typename Tag > struct push_front_impl; template< typename Sequence, typename T > struct push_front; }} #endif // BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/quote.hpp000066400000000000000000000070621265471724600214730ustar00rootroot00000000000000 #if !defined(BOOST_PP_IS_ITERATING) ///// header body #ifndef BOOST_MPL_QUOTE_HPP_INCLUDED #define BOOST_MPL_QUOTE_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$ #if !defined(BOOST_MPL_PREPROCESSING_MODE) # include # include #endif #include #include #if defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \ && !defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) # define BOOST_MPL_CFG_NO_QUOTE_TEMPLATE #endif #if !defined(BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS) \ && defined(BOOST_MPL_CFG_NO_HAS_XXX) # define BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER quote.hpp # include #else # include # include # include # include # include # include #if !defined(BOOST_MPL_CFG_NO_QUOTE_TEMPLATE) namespace boost { namespace mpl { #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename T, bool has_type_ > struct quote_impl // GCC has a problem with metafunction forwarding when T is a // specialization of a template called 'type'. # if BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4)) \ && BOOST_WORKAROUND(__GNUC_MINOR__, BOOST_TESTED_AT(0)) \ && BOOST_WORKAROUND(__GNUC_PATCHLEVEL__, BOOST_TESTED_AT(2)) { typedef typename T::type type; }; # else : T { }; # endif template< typename T > struct quote_impl { typedef T type; }; #else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION template< bool > struct quote_impl { template< typename T > struct result_ : T { }; }; template<> struct quote_impl { template< typename T > struct result_ { typedef T type; }; }; #endif #define BOOST_PP_ITERATION_PARAMS_1 \ (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) #include BOOST_PP_ITERATE() }} #endif // BOOST_MPL_CFG_NO_QUOTE_TEMPLATE #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_QUOTE_HPP_INCLUDED ///// iteration #else #define i_ BOOST_PP_FRAME_ITERATION(1) template< template< BOOST_MPL_PP_PARAMS(i_, typename P) > class F , typename Tag = void_ > struct BOOST_PP_CAT(quote,i_) { template< BOOST_MPL_PP_PARAMS(i_, typename U) > struct apply #if defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) { typedef typename quote_impl< F< BOOST_MPL_PP_PARAMS(i_, U) > , aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value >::type type; }; #elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) : quote_impl< F< BOOST_MPL_PP_PARAMS(i_, U) > , aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value > { }; #else : quote_impl< aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value > ::template result_< F< BOOST_MPL_PP_PARAMS(i_, U) > > { }; #endif }; #undef i_ #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/range_c.hpp000066400000000000000000000021441265471724600217300ustar00rootroot00000000000000 #ifndef BOOST_MPL_RANGE_C_HPP_INCLUDED #define BOOST_MPL_RANGE_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 #include #include #include #include #include #include namespace boost { namespace mpl { template< typename T , T Start , T Finish > struct range_c { typedef aux::half_open_range_tag tag; typedef T value_type; typedef range_c type; typedef integral_c start; typedef integral_c finish; typedef r_iter begin; typedef r_iter end; }; }} #endif // BOOST_MPL_RANGE_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/remove.hpp000066400000000000000000000020111265471724600216200ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/remove_if.hpp000066400000000000000000000035441265471724600223120ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/replace.hpp000066400000000000000000000022211265471724600217410ustar00rootroot00000000000000 #ifndef BOOST_MPL_REPLACE_HPP_INCLUDED #define BOOST_MPL_REPLACE_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2000-2004 // Copyright John R. Bandela 2000-2002 // 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 OldType , typename NewType , typename Inserter > struct replace_impl : replace_if_impl< Sequence, same_as, NewType, Inserter > { }; template< typename Sequence , typename OldType , typename NewType , typename Inserter > struct reverse_replace_impl : reverse_replace_if_impl< Sequence, same_as, NewType, Inserter > { }; } // namespace aux BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, replace) }} #endif // BOOST_MPL_REPLACE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/replace_if.hpp000066400000000000000000000034031265471724600224220ustar00rootroot00000000000000 #ifndef BOOST_MPL_REPLACE_IF_HPP_INCLUDED #define BOOST_MPL_REPLACE_IF_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2000-2004 // Copyright John R. Bandela 2000-2002 // 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 namespace boost { namespace mpl { namespace aux { template< typename Predicate, typename T > struct replace_if_op { template< typename U > struct apply #if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) : if_< typename apply1::type , T , U > { #else { typedef typename if_< typename apply1::type , T , U >::type type; #endif }; }; template< typename Sequence , typename Predicate , typename T , typename Inserter > struct replace_if_impl : transform1_impl< Sequence , protect< aux::replace_if_op > , Inserter > { }; template< typename Sequence , typename Predicate , typename T , typename Inserter > struct reverse_replace_if_impl : reverse_transform1_impl< Sequence , protect< aux::replace_if_op > , Inserter > { }; } // namespace aux BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, replace_if) }} #endif // BOOST_MPL_REPLACE_IF_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/reverse.hpp000066400000000000000000000013671265471724600220130ustar00rootroot00000000000000 #ifndef BOOST_MPL_REVERSE_HPP_INCLUDED #define BOOST_MPL_REVERSE_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 BOOST_MPL_AUX_NA_PARAM(Sequence) , typename BOOST_MPL_AUX_NA_PARAM(Inserter) > struct reverse : reverse_copy< Sequence , Inserter > { }; BOOST_MPL_AUX_NA_SPEC(1, reverse) }} #endif // BOOST_MPL_REVERSE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/reverse_fold.hpp000066400000000000000000000024021265471724600230060ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/reverse_iter_fold.hpp000066400000000000000000000027311265471724600240360ustar00rootroot00000000000000 #ifndef BOOST_MPL_ITER_FOLD_BACKWARD_HPP_INCLUDED #define BOOST_MPL_ITER_FOLD_BACKWARD_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2001-2004 // Copyright Dave 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 #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_iter_fold { typedef typename aux::reverse_iter_fold_impl< ::boost::mpl::O1_size::value , typename begin::type , typename end::type , State , typename lambda::type , typename lambda::type >::state type; BOOST_MPL_AUX_LAMBDA_SUPPORT( 4 , reverse_iter_fold , (Sequence,State,BackwardOp,ForwardOp) ) }; BOOST_MPL_AUX_NA_SPEC(3, reverse_iter_fold) }} #endif // BOOST_MPL_ITER_FOLD_BACKWARD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/same_as.hpp000066400000000000000000000021441265471724600217420ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/sequence_tag.hpp000066400000000000000000000056551265471724600230070ustar00rootroot00000000000000 #ifndef BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED #define BOOST_MPL_SEQUENCE_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$ #include #include #include #include #include #include #include #include namespace boost { namespace mpl { // agurt, 27/nov/02: have to use a simplistic 'sequence_tag' implementation // on MSVC to avoid dreadful "internal structure overflow" error #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) \ || defined(BOOST_MPL_CFG_NO_HAS_XXX) template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) > struct sequence_tag { typedef typename Sequence::tag type; }; #elif BOOST_WORKAROUND(BOOST_MSVC, == 1300) // agurt, 07/feb/03: workaround for what seems to be MSVC 7.0-specific ETI issue namespace aux { template< bool > struct sequence_tag_impl { template< typename Sequence > struct result_ { typedef typename Sequence::tag type; }; }; template<> struct sequence_tag_impl { template< typename Sequence > struct result_ { typedef int type; }; }; } // namespace aux template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) > struct sequence_tag : aux::sequence_tag_impl< !aux::is_msvc_eti_arg::value > ::template result_ { }; #else namespace aux { template< bool has_tag_, bool has_begin_ > struct sequence_tag_impl { // agurt 24/nov/02: MSVC 6.5 gets confused in 'sequence_tag_impl' // specialization below, if we name it 'result_' here template< typename Sequence > struct result2_; }; # define AUX_CLASS_SEQUENCE_TAG_SPEC(has_tag, has_begin, result_type) \ template<> struct sequence_tag_impl \ { \ template< typename Sequence > struct result2_ \ { \ typedef result_type type; \ }; \ }; \ /**/ AUX_CLASS_SEQUENCE_TAG_SPEC(true, true, typename Sequence::tag) AUX_CLASS_SEQUENCE_TAG_SPEC(true, false, typename Sequence::tag) AUX_CLASS_SEQUENCE_TAG_SPEC(false, true, nested_begin_end_tag) AUX_CLASS_SEQUENCE_TAG_SPEC(false, false, non_sequence_tag) # undef AUX_CLASS_SEQUENCE_TAG_SPEC } // namespace aux template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) > struct sequence_tag : aux::sequence_tag_impl< ::boost::mpl::aux::has_tag::value , ::boost::mpl::aux::has_begin::value >::template result2_ { }; #endif // BOOST_MSVC BOOST_MPL_AUX_NA_SPEC(1, sequence_tag) }} #endif // BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/sequence_tag_fwd.hpp000066400000000000000000000011141265471724600236310ustar00rootroot00000000000000 #ifndef BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED #define BOOST_MPL_SEQUENCE_TAG_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$ namespace boost { namespace mpl { struct nested_begin_end_tag; struct non_sequence_tag; template< typename Sequence > struct sequence_tag; }} #endif // BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set.hpp000066400000000000000000000030711265471724600211250ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_HPP_INCLUDED #define BOOST_MPL_SET_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_SET_HEADER \ BOOST_PP_CAT(set, BOOST_MPL_LIMIT_SET_SIZE).hpp \ /**/ #else # define AUX778076_SET_HEADER \ BOOST_PP_CAT(set, BOOST_MPL_LIMIT_SET_SIZE)##.hpp \ /**/ #endif # include BOOST_PP_STRINGIZE(boost/mpl/set/AUX778076_SET_HEADER) # undef AUX778076_SET_HEADER #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER set.hpp # include #else # include # define AUX778076_SEQUENCE_NAME set # define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_SET_SIZE # include #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_SET_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/000077500000000000000000000000001265471724600204135ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/set/aux_/000077500000000000000000000000001265471724600213475ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/set/aux_/at_impl.hpp000066400000000000000000000016411265471724600235070ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED #define BOOST_MPL_SET_AUX_AT_IMPL_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 #include #include #include namespace boost { namespace mpl { template<> struct at_impl< aux::set_tag > { template< typename Set, typename T > struct apply { typedef typename if_< has_key_impl::apply , T , void_ >::type type; }; }; }} #endif // BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/aux_/begin_end_impl.hpp000066400000000000000000000016271265471724600250210ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED #define BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2003-2007 // 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<> struct begin_impl< aux::set_tag > { template< typename Set > struct apply : s_iter_get { }; }; template<> struct end_impl< aux::set_tag > { template< typename Set > struct apply { typedef s_iter< Set,set0<> > type; }; }; }} #endif // BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/aux_/clear_impl.hpp000066400000000000000000000014051265471724600241670ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED #define BOOST_MPL_SET_AUX_CLEAR_IMPL_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 namespace boost { namespace mpl { template<> struct clear_impl< aux::set_tag > { template< typename Set > struct apply { typedef set0<> type; }; }; }} #endif // BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/aux_/empty_impl.hpp000066400000000000000000000013351265471724600242410ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED #define BOOST_MPL_SET_AUX_EMPTY_IMPL_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 #include namespace boost { namespace mpl { template<> struct empty_impl< aux::set_tag > { template< typename Set > struct apply : not_< typename Set::size > { }; }; }} #endif // BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/aux_/erase_impl.hpp000066400000000000000000000016171265471724600242050ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED #define BOOST_MPL_SET_AUX_ERASE_IMPL_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 namespace boost { namespace mpl { template<> struct erase_impl< aux::set_tag > { template< typename Set , typename Pos , typename unused_ > struct apply : erase_key_impl ::apply { }; }; }} #endif // BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/aux_/erase_key_impl.hpp000066400000000000000000000024231265471724600250510ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED #define BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2003-2007 // 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 { template<> struct erase_key_impl< aux::set_tag > { template< typename Set , typename T > struct apply : eval_if< has_key_impl::apply , eval_if< is_same< T,typename Set::item_type_ > , base , identity< s_mask > > , identity > { }; }; }} #endif // BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/aux_/has_key_impl.hpp000066400000000000000000000032511265471724600245250ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED #define BOOST_MPL_SET_AUX_HAS_KEY_IMPL_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 namespace boost { namespace mpl { template<> struct has_key_impl< aux::set_tag > { template< typename Set, typename T > struct apply #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ || BOOST_WORKAROUND(__EDG_VERSION__, <= 245) { BOOST_STATIC_CONSTANT(bool, value = ( sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED( Set , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*, 0) ) ) == sizeof(aux::no_tag) ) ); typedef bool_ type; #else // ISO98 C++ : bool_< ( sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED( Set , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*, 0) ) ) == sizeof(aux::no_tag) ) > { #endif }; }; }} #endif // BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/aux_/include_preprocessed.hpp000066400000000000000000000022451265471724600262640ustar00rootroot00000000000000 // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION // 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$ #include #include #include #include #if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) # define AUX778076_HEADER \ plain/BOOST_MPL_PREPROCESSED_HEADER \ /**/ #else # define AUX778076_HEADER \ BOOST_PP_CAT(plain,/)##BOOST_MPL_PREPROCESSED_HEADER \ /**/ #endif #if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700)) # define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/set/aux_/preprocessed/AUX778076_HEADER) # include AUX778076_INCLUDE_STRING # undef AUX778076_INCLUDE_STRING #else # include BOOST_PP_STRINGIZE(boost/mpl/set/aux_/preprocessed/AUX778076_HEADER) #endif # undef AUX778076_HEADER #undef BOOST_MPL_PREPROCESSED_HEADER KWStyle-master/Utilities/boost/mpl/set/aux_/insert_impl.hpp000066400000000000000000000027571265471724600244200ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED #define BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2003-2007 // 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 namespace boost { namespace mpl { namespace aux { template< typename Set, typename T > struct set_insert_impl : eval_if< has_key_impl::apply , identity , eval_if< is_same< T,typename Set::last_masked_ > , base , identity< s_item > > > { }; } template<> struct insert_impl< aux::set_tag > { template< typename Set , typename PosOrKey , typename KeyOrNA > struct apply : aux::set_insert_impl< Set , typename if_na::type > { }; }; }} #endif // BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/aux_/item.hpp000066400000000000000000000043211265471724600230160ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED #define BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2003-2007 // 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 namespace boost { namespace mpl { template< typename T, typename Base > struct s_item : Base { typedef s_item item_; typedef void_ last_masked_; typedef T item_type_; typedef typename Base::item_ base; typedef typename next< typename Base::size >::type size; typedef typename next< typename Base::order >::type order; #if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) typedef typename aux::weighted_tag::type order_tag_; #else typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value]; #endif BOOST_MPL_AUX_SET_OVERLOAD( order_tag_, ORDER_BY_KEY, s_item, aux::type_wrapper* ); BOOST_MPL_AUX_SET_OVERLOAD( aux::no_tag, IS_MASKED, s_item, aux::type_wrapper* ); }; template< typename T, typename Base > struct s_mask : Base { typedef s_mask item_; typedef T last_masked_; typedef void_ item_type_; typedef typename Base::item_ base; typedef typename prior< typename Base::size >::type size; BOOST_MPL_AUX_SET_OVERLOAD( aux::yes_tag, IS_MASKED, s_mask, aux::type_wrapper* ); }; template< typename T, typename Base > struct s_unmask : Base { typedef s_unmask item_; typedef void_ last_masked_; typedef T item_type_; typedef typename Base::item_ base; typedef typename next< typename Base::size >::type size; BOOST_MPL_AUX_SET_OVERLOAD( aux::no_tag, IS_MASKED, s_unmask, aux::type_wrapper* ); }; }} #endif // BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/aux_/iterator.hpp000066400000000000000000000043531265471724600237160ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED #define BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2003-2007 // 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 { // used by 's_iter_get' template< typename Set, typename Tail > struct s_iter; template< typename Set, typename Tail > struct s_iter_get : eval_if< has_key< Set,typename Tail::item_type_ > , identity< s_iter > , next< s_iter > > { }; template< typename Set, typename Tail > struct s_iter_impl { typedef Tail tail_; typedef forward_iterator_tag category; typedef typename Tail::item_type_ type; #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) typedef typename s_iter_get< Set,typename Tail::base >::type next; #endif }; #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename Set, typename Tail > struct next< s_iter > : s_iter_get< Set,typename Tail::base > { }; template< typename Set > struct next< s_iter > > { typedef s_iter > type; }; template< typename Set, typename Tail > struct s_iter : s_iter_impl { }; template< typename Set > struct s_iter > { typedef forward_iterator_tag category; }; #else template< typename Set > struct s_end_iter { typedef forward_iterator_tag category; typedef s_iter > next; }; template< typename Set, typename Tail > struct s_iter : if_< is_same< Tail,set0<> > , s_end_iter , s_iter_impl >::type { }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION }} #endif // BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/aux_/key_type_impl.hpp000066400000000000000000000013641265471724600247360ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED #define BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_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<> struct key_type_impl< aux::set_tag > { template< typename Set, typename T > struct apply { typedef T type; }; }; }} #endif // BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/aux_/numbered.hpp000066400000000000000000000020721265471724600236620ustar00rootroot00000000000000 // 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 #define i_ BOOST_PP_FRAME_ITERATION(1) # define AUX778076_SET_TAIL(set, i_, T) \ typename BOOST_PP_CAT(set,i_)< \ BOOST_PP_ENUM_PARAMS(i_, T) \ >::item_ \ /**/ #if i_ > 0 template< BOOST_PP_ENUM_PARAMS(i_, typename T) > struct BOOST_PP_CAT(set,i_) : s_item< BOOST_PP_CAT(T,BOOST_PP_DEC(i_)) , AUX778076_SET_TAIL(set,BOOST_PP_DEC(i_),T) > { typedef BOOST_PP_CAT(set,i_) type; }; #endif # undef AUX778076_SET_TAIL #undef i_ #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/set/aux_/numbered_c.hpp000066400000000000000000000022561265471724600241700ustar00rootroot00000000000000 // 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 #define i_ BOOST_PP_FRAME_ITERATION(1) # define AUX778076_SET_C_TAIL(set, i_, T, C) \ BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c)< \ T BOOST_PP_ENUM_TRAILING_PARAMS(i_, C) \ > \ /**/ template< typename T , BOOST_PP_ENUM_PARAMS(i_, T C) > struct BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c) : s_item< integral_c , AUX778076_SET_C_TAIL(set,BOOST_PP_DEC(i_), T, C) > { typedef BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c) type; }; # undef AUX778076_SET_C_TAIL #undef i_ #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/set/aux_/preprocessed/000077500000000000000000000000001265471724600240455ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/set/aux_/preprocessed/plain/000077500000000000000000000000001265471724600251505ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/set/aux_/preprocessed/plain/set10.hpp000066400000000000000000000050221265471724600266140ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/set/set10.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename T0 > struct set1 : s_item< T0 , typename set0< >::item_ > { typedef set1 type; }; template< typename T0, typename T1 > struct set2 : s_item< T1 , typename set1::item_ > { typedef set2 type; }; template< typename T0, typename T1, typename T2 > struct set3 : s_item< T2 , typename set2< T0,T1 >::item_ > { typedef set3 type; }; template< typename T0, typename T1, typename T2, typename T3 > struct set4 : s_item< T3 , typename set3< T0,T1,T2 >::item_ > { typedef set4 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 > struct set5 : s_item< T4 , typename set4< T0,T1,T2,T3 >::item_ > { typedef set5 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct set6 : s_item< T5 , typename set5< T0,T1,T2,T3,T4 >::item_ > { typedef set6 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6 > struct set7 : s_item< T6 , typename set6< T0,T1,T2,T3,T4,T5 >::item_ > { typedef set7 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7 > struct set8 : s_item< T7 , typename set7< T0,T1,T2,T3,T4,T5,T6 >::item_ > { typedef set8 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8 > struct set9 : s_item< T8 , typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::item_ > { typedef set9 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 > struct set10 : s_item< T9 , typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::item_ > { typedef set10 type; }; }} KWStyle-master/Utilities/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp000066400000000000000000000045631265471724600271270ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/set/set10_c.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename T , T C0 > struct set1_c : s_item< integral_c< T,C0 > , set0_c > { typedef set1_c type; }; template< typename T , T C0, T C1 > struct set2_c : s_item< integral_c< T,C1 > , set1_c< T,C0 > > { typedef set2_c type; }; template< typename T , T C0, T C1, T C2 > struct set3_c : s_item< integral_c< T,C2 > , set2_c< T,C0,C1 > > { typedef set3_c type; }; template< typename T , T C0, T C1, T C2, T C3 > struct set4_c : s_item< integral_c< T,C3 > , set3_c< T,C0,C1,C2 > > { typedef set4_c type; }; template< typename T , T C0, T C1, T C2, T C3, T C4 > struct set5_c : s_item< integral_c< T,C4 > , set4_c< T,C0,C1,C2,C3 > > { typedef set5_c type; }; template< typename T , T C0, T C1, T C2, T C3, T C4, T C5 > struct set6_c : s_item< integral_c< T,C5 > , set5_c< T,C0,C1,C2,C3,C4 > > { typedef set6_c type; }; template< typename T , T C0, T C1, T C2, T C3, T C4, T C5, T C6 > struct set7_c : s_item< integral_c< T,C6 > , set6_c< T,C0,C1,C2,C3,C4,C5 > > { typedef set7_c type; }; template< typename T , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7 > struct set8_c : s_item< integral_c< T,C7 > , set7_c< T,C0,C1,C2,C3,C4,C5,C6 > > { typedef set8_c type; }; template< typename T , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8 > struct set9_c : s_item< integral_c< T,C8 > , set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > > { typedef set9_c 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 set10_c : s_item< integral_c< T,C9 > , set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > > { typedef set10_c type; }; }} KWStyle-master/Utilities/boost/mpl/set/aux_/preprocessed/plain/set20.hpp000066400000000000000000000107751265471724600266300ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/set/set20.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 set11 : s_item< T10 , typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::item_ > { typedef set11 type; }; template< 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 set12 : s_item< T11 , typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::item_ > { typedef set12 type; }; template< typename T0, 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 set13 : s_item< T12 , typename set12< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 , T11 >::item_ > { typedef set13 type; }; template< typename T0, typename T1, 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 set14 : s_item< T13 , typename set13< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 , T12 >::item_ > { typedef set14 type; }; template< typename T0, typename T1, typename T2, 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 set15 : s_item< T14 , typename set14< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 , T12, T13 >::item_ > { typedef set15 type; }; template< typename T0, typename T1, typename T2, typename T3, 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 set16 : s_item< T15 , typename set15< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 , T12, T13, T14 >::item_ > { typedef set16 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , 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 set17 : s_item< T16 , typename set16< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 , T12, T13, T14, T15 >::item_ > { typedef set17 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, 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 set18 : s_item< T17 , typename set17< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 , T12, T13, T14, T15, T16 >::item_ > { typedef set18 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, 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 set19 : s_item< T18 , typename set18< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 , T12, T13, T14, T15, T16, T17 >::item_ > { typedef set19 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 , typename T10, typename T11, typename T12, typename T13, typename T14 , typename T15, typename T16, typename T17, typename T18, typename T19 > struct set20 : s_item< T19 , typename set19< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 , T12, T13, T14, T15, T16, T17, T18 >::item_ > { typedef set20 type; }; }} KWStyle-master/Utilities/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp000066400000000000000000000066601265471724600271300ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/set/set20_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 set11_c : s_item< integral_c< T,C10 > , set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > > { typedef set11_c 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 set12_c : s_item< integral_c< T,C11 > , set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > > { typedef set12_c 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 set13_c : s_item< integral_c< T,C12 > , set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > > { typedef set13_c 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 set14_c : s_item< integral_c< T,C13 > , set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > > { typedef set14_c 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 set15_c : s_item< integral_c< T,C14 > , set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 > > { typedef set15_c 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 set16_c : s_item< integral_c< T,C15 > , set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 > > { typedef set16_c 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 set17_c : s_item< integral_c< T,C16 > , set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 > > { typedef set17_c 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 set18_c : s_item< integral_c< T,C17 > , set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 > > { typedef set18_c 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 set19_c : s_item< integral_c< T,C18 > , set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 > > { typedef set19_c 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 set20_c : s_item< integral_c< T,C19 > , set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 > > { typedef set20_c type; }; }} KWStyle-master/Utilities/boost/mpl/set/aux_/preprocessed/plain/set30.hpp000066400000000000000000000150371265471724600266250ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/set/set30.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 set21 : s_item< T20 , typename set20< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 , T12, T13, T14, T15, T16, T17, T18, T19 >::item_ > { typedef set21 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set22 : s_item< T21 , typename set21< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 , T12, T13, T14, T15, T16, T17, T18, T19, T20 >::item_ > { typedef set22 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set23 : s_item< T22 , typename set22< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 >::item_ > { typedef set23 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set24 : s_item< T23 , typename set23< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 >::item_ > { typedef set24 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set25 : s_item< T24 , typename set24< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 >::item_ > { typedef set25 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set26 : s_item< T25 , typename set25< 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 >::item_ > { typedef set26 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set27 : s_item< T26 , typename set26< 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 >::item_ > { typedef set27 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set28 : s_item< T27 , typename set27< 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 >::item_ > { typedef set28 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set29 : s_item< T28 , typename set28< 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 >::item_ > { typedef set29 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set30 : s_item< T29 , typename set29< 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 >::item_ > { typedef set30 type; }; }} KWStyle-master/Utilities/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp000066400000000000000000000110561265471724600271240ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/set/set30_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 set21_c : s_item< integral_c< T,C20 > , set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 > > { typedef set21_c 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 set22_c : s_item< integral_c< T,C21 > , set21_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20 > > { typedef set22_c 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 set23_c : s_item< integral_c< T,C22 > , set22_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21 > > { typedef set23_c 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 set24_c : s_item< integral_c< T,C23 > , set23_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22 > > { typedef set24_c 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 set25_c : s_item< integral_c< T,C24 > , set24_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23 > > { typedef set25_c 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 set26_c : s_item< integral_c< T,C25 > , set25_c< T,C0,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 set26_c 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 set27_c : s_item< integral_c< T,C26 > , set26_c< T,C0,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 set27_c 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 set28_c : s_item< integral_c< T,C27 > , set27_c< T,C0,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 set28_c 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 set29_c : s_item< integral_c< T,C28 > , set28_c< T,C0,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 set29_c 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 set30_c : s_item< integral_c< T,C29 > , set29_c< T,C0,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 set30_c type; }; }} KWStyle-master/Utilities/boost/mpl/set/aux_/preprocessed/plain/set40.hpp000066400000000000000000000210451265471724600266220ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/set/set40.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 set31 : s_item< T30 , typename set30< 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 >::item_ > { typedef set31 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set32 : s_item< T31 , typename set31< 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 >::item_ > { typedef set32 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set33 : s_item< T32 , typename set32< 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 >::item_ > { typedef set33 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set34 : s_item< T33 , typename set33< 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 >::item_ > { typedef set34 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set35 : s_item< T34 , typename set34< 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 >::item_ > { typedef set35 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set36 : s_item< T35 , typename set35< 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 >::item_ > { typedef set36 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set37 : s_item< T36 , typename set36< 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 >::item_ > { typedef set37 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set38 : s_item< T37 , typename set37< 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 >::item_ > { typedef set38 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set39 : s_item< T38 , typename set38< 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 >::item_ > { typedef set39 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set40 : s_item< T39 , typename set39< 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 >::item_ > { typedef set40 type; }; }} KWStyle-master/Utilities/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp000066400000000000000000000132541265471724600271270ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/set/set40_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 set31_c : s_item< integral_c< T,C30 > , set30_c< T,C0,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 set31_c 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 set32_c : s_item< integral_c< T,C31 > , set31_c< T,C0,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 set32_c 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 set33_c : s_item< integral_c< T,C32 > , set32_c< T,C0,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 set33_c 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 set34_c : s_item< integral_c< T,C33 > , set33_c< T,C0,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 set34_c 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 set35_c : s_item< integral_c< T,C34 > , set34_c< T,C0,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 set35_c 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 set36_c : s_item< integral_c< T,C35 > , set35_c< T,C0,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 set36_c 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 set37_c : s_item< integral_c< T,C36 > , set36_c< T,C0,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 set37_c 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 set38_c : s_item< integral_c< T,C37 > , set37_c< T,C0,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 set38_c 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 set39_c : s_item< integral_c< T,C38 > , set38_c< T,C0,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 set39_c 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 set40_c : s_item< integral_c< T,C39 > , set39_c< T,C0,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 set40_c type; }; }} KWStyle-master/Utilities/boost/mpl/set/aux_/preprocessed/plain/set50.hpp000066400000000000000000000251061265471724600266250ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/set/set50.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 set41 : s_item< T40 , typename set40< 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 >::item_ > { typedef set41 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set42 : s_item< T41 , typename set41< 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 >::item_ > { typedef set42 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set43 : s_item< T42 , typename set42< 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 >::item_ > { typedef set43 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set44 : s_item< T43 , typename set43< 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 >::item_ > { typedef set44 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set45 : s_item< T44 , typename set44< 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 >::item_ > { typedef set45 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set46 : s_item< T45 , typename set45< 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 >::item_ > { typedef set46 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set47 : s_item< T46 , typename set46< 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 >::item_ > { typedef set47 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set48 : s_item< T47 , typename set47< 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 >::item_ > { typedef set48 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set49 : s_item< T48 , typename set48< 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 >::item_ > { typedef set49 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 set50 : s_item< T49 , typename set49< 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 >::item_ > { typedef set50 type; }; }} KWStyle-master/Utilities/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp000066400000000000000000000154521265471724600271320ustar00rootroot00000000000000 // 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) // // Preprocessed version of "boost/mpl/set/set50_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 set41_c : s_item< integral_c< T,C40 > , set40_c< T,C0,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 set41_c 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 set42_c : s_item< integral_c< T,C41 > , set41_c< T,C0,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 set42_c 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 set43_c : s_item< integral_c< T,C42 > , set42_c< T,C0,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 set43_c 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 set44_c : s_item< integral_c< T,C43 > , set43_c< T,C0,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 set44_c 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 set45_c : s_item< integral_c< T,C44 > , set44_c< T,C0,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 set45_c 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 set46_c : s_item< integral_c< T,C45 > , set45_c< T,C0,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 set46_c 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 set47_c : s_item< integral_c< T,C46 > , set46_c< T,C0,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 set47_c 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 set48_c : s_item< integral_c< T,C47 > , set47_c< T,C0,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 set48_c 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 set49_c : s_item< integral_c< T,C48 > , set48_c< T,C0,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 set49_c 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 set50_c : s_item< integral_c< T,C49 > , set49_c< T,C0,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 set50_c type; }; }} KWStyle-master/Utilities/boost/mpl/set/aux_/set0.hpp000066400000000000000000000035331265471724600227370ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED #define BOOST_MPL_SET_AUX_SET0_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 namespace boost { namespace mpl { #if defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING) # define BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \ friend R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \ /**/ # define BOOST_MPL_AUX_SET_OVERLOAD(R, f, X, T) \ BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \ /**/ #else # define BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \ static R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \ /**/ # define BOOST_MPL_AUX_SET_OVERLOAD(R, f, X, T) \ BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T); \ using Base::BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f) \ /**/ #endif template< typename Dummy = na > struct set0 { typedef set0<> item_; typedef item_ type; typedef aux::set_tag tag; typedef void_ last_masked_; typedef void_ item_type_; typedef long_<0> size; typedef long_<1> order; BOOST_MPL_AUX_SET0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, set0<>, void const volatile* ); BOOST_MPL_AUX_SET0_OVERLOAD( aux::yes_tag, IS_MASKED, set0<>, void const volatile* ); }; }} #endif // BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/aux_/size_impl.hpp000066400000000000000000000012521265471724600240530ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED #define BOOST_MPL_SET_AUX_SIZE_IMPL_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 namespace boost { namespace mpl { template<> struct size_impl< aux::set_tag > { template< typename Set > struct apply : Set::size { }; }; }} #endif // BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/aux_/tag.hpp000066400000000000000000000010321265471724600226270ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED #define BOOST_MPL_SET_AUX_TAG_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 { namespace aux { struct set_tag; }}} #endif // BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/aux_/value_type_impl.hpp000066400000000000000000000013761265471724600252650ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED #define BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_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<> struct value_type_impl< aux::set_tag > { template< typename Set, typename T > struct apply { typedef T type; }; }; }} #endif // BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/set0.hpp000066400000000000000000000022221265471724600217750ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_SET0_HPP_INCLUDED #define BOOST_MPL_SET_SET0_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 #endif // BOOST_MPL_SET_SET0_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/set0_c.hpp000066400000000000000000000012471265471724600223050ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_SET0_C_HPP_INCLUDED #define BOOST_MPL_SET_SET0_C_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 T > struct set0_c : set0<> { typedef set0_c type; typedef T value_type; }; }} #endif // BOOST_MPL_SET_SET0_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/set10.hpp000066400000000000000000000020661265471724600220640ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_SET10_HPP_INCLUDED #define BOOST_MPL_SET_SET10_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$ #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 set10.hpp # include #else # include namespace boost { namespace mpl { # define BOOST_PP_ITERATION_PARAMS_1 \ (3,(0, 10, )) # include BOOST_PP_ITERATE() }} #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_SET_SET10_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/set10_c.hpp000066400000000000000000000021501265471724600223600ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_SET10_C_HPP_INCLUDED #define BOOST_MPL_SET_SET10_C_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$ #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 set10_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_SET_SET10_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/set20.hpp000066400000000000000000000020701265471724600220600ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_SET20_HPP_INCLUDED #define BOOST_MPL_SET_SET20_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$ #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 set20.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_SET_SET20_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/set20_c.hpp000066400000000000000000000021521265471724600223630ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_SET20_C_HPP_INCLUDED #define BOOST_MPL_SET_SET20_C_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$ #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 set20_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_SET_SET20_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/set30.hpp000066400000000000000000000020701265471724600220610ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_SET30_HPP_INCLUDED #define BOOST_MPL_SET_SET30_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$ #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 set30.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_SET_SET30_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/set30_c.hpp000066400000000000000000000021521265471724600223640ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_SET30_C_HPP_INCLUDED #define BOOST_MPL_SET_SET30_C_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$ #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 set30_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_SET_SET30_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/set40.hpp000066400000000000000000000020701265471724600220620ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_SET40_HPP_INCLUDED #define BOOST_MPL_SET_SET40_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$ #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 set40.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_SET_SET40_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/set40_c.hpp000066400000000000000000000021521265471724600223650ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_SET40_C_HPP_INCLUDED #define BOOST_MPL_SET_SET40_C_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$ #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 set40_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_SET_SET40_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/set50.hpp000066400000000000000000000020701265471724600220630ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_SET50_HPP_INCLUDED #define BOOST_MPL_SET_SET50_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$ #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 set50.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_SET_SET50_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set/set50_c.hpp000066400000000000000000000021521265471724600223660ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_SET50_C_HPP_INCLUDED #define BOOST_MPL_SET_SET50_C_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$ #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 set50_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_SET_SET50_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/set_c.hpp000066400000000000000000000034041265471724600214270ustar00rootroot00000000000000 #ifndef BOOST_MPL_SET_C_HPP_INCLUDED #define BOOST_MPL_SET_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 # include # include # include # include # include #if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) # define AUX778076_SET_C_HEADER \ BOOST_PP_CAT(BOOST_PP_CAT(set,BOOST_MPL_LIMIT_SET_SIZE),_c).hpp \ /**/ #else # define AUX778076_SET_C_HEADER \ BOOST_PP_CAT(BOOST_PP_CAT(set,BOOST_MPL_LIMIT_SET_SIZE),_c)##.hpp \ /**/ #endif # include BOOST_PP_STRINGIZE(boost/mpl/set/AUX778076_SET_C_HEADER) # undef AUX778076_SET_C_HEADER # include #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER set_c.hpp # include #else # include # define AUX778076_SEQUENCE_NAME set_c # define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_SET_SIZE # define AUX778076_SEQUENCE_NAME_N(n) BOOST_PP_CAT(BOOST_PP_CAT(set,n),_c) # define AUX778076_SEQUENCE_INTEGRAL_WRAPPER # include #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_SET_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/shift_left.hpp000066400000000000000000000010601265471724600224550ustar00rootroot00000000000000 #ifndef BOOST_MPL_SHIFT_LEFT_HPP_INCLUDED #define BOOST_MPL_SHIFT_LEFT_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 shift_left #define AUX778076_OP_TOKEN << #include #endif // BOOST_MPL_SHIFT_LEFT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/shift_right.hpp000066400000000000000000000010641265471724600226440ustar00rootroot00000000000000 #ifndef BOOST_MPL_SHIFT_RIGHT_HPP_INCLUDED #define BOOST_MPL_SHIFT_RIGHT_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 shift_right #define AUX778076_OP_TOKEN >> #include #endif // BOOST_MPL_SHIFT_RIGHT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/single_view.hpp000066400000000000000000000014551265471724600226510ustar00rootroot00000000000000 #ifndef BOOST_MPL_SINGLE_VIEW_HPP_INCLUDED #define BOOST_MPL_SINGLE_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 namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(T) > struct single_view : iterator_range< aux::sel_iter , aux::sel_iter > { }; BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, single_view) }} #endif // BOOST_MPL_SINGLE_VIEW_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/size.hpp000066400000000000000000000017601265471724600213070ustar00rootroot00000000000000 #ifndef BOOST_MPL_SIZE_HPP_INCLUDED #define BOOST_MPL_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 #include #include #include #include namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) > struct size : aux::msvc_eti_base< typename size_impl< typename sequence_tag::type > ::template apply< Sequence >::type >::type { BOOST_MPL_AUX_LAMBDA_SUPPORT(1, size, (Sequence)) }; BOOST_MPL_AUX_NA_SPEC(1, size) }} #endif // BOOST_MPL_SIZE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/size_fwd.hpp000066400000000000000000000010401265471724600221360ustar00rootroot00000000000000 #ifndef BOOST_MPL_SIZE_FWD_HPP_INCLUDED #define BOOST_MPL_SIZE_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$ namespace boost { namespace mpl { template< typename Tag > struct size_impl; template< typename Sequence > struct size; }} #endif // BOOST_MPL_SIZE_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/size_t.hpp000066400000000000000000000011511265471724600216240ustar00rootroot00000000000000 #ifndef BOOST_MPL_SIZE_T_HPP_INCLUDED #define BOOST_MPL_SIZE_T_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 std::size_t #define AUX_WRAPPER_NAME size_t #define AUX_WRAPPER_PARAMS(N) std::size_t N #include #endif // BOOST_MPL_SIZE_T_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/size_t_fwd.hpp000066400000000000000000000013231265471724600224650ustar00rootroot00000000000000 #ifndef BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED #define BOOST_MPL_SIZE_T_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 // make sure 'size_t' is placed into 'std' #include BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN template< std::size_t N > struct size_t; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE BOOST_MPL_AUX_ADL_BARRIER_DECL(size_t) #endif // BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/sizeof.hpp000066400000000000000000000013761265471724600216370ustar00rootroot00000000000000 #ifndef BOOST_MPL_SIZEOF_HPP_INCLUDED #define BOOST_MPL_SIZEOF_HPP_INCLUDED // Copyright Aleksey Gurtovoy 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 #include #include namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(T) > struct sizeof_ : mpl::size_t< sizeof(T) > { BOOST_MPL_AUX_LAMBDA_SUPPORT(1,sizeof_,(T)) }; BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, sizeof_) }} #endif // BOOST_MPL_SIZEOF_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/sort.hpp000066400000000000000000000011461265471724600213220ustar00rootroot00000000000000 #ifndef BOOST_MPL_SORT_HPP_INCLUDED #define BOOST_MPL_SORT_HPP_INCLUDED // Copyright Eric Friedman 2002-2003 // 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 namespace boost { namespace mpl { BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, sort) }} #endif // BOOST_MPL_SORT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/stable_partition.hpp000066400000000000000000000032551265471724600237010ustar00rootroot00000000000000 #ifndef BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED #define BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED // Copyright Eric Friedman 2002-2003 // 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 #include #include #include #include namespace boost { namespace mpl { namespace aux { template < typename Sequence , typename Pred , typename In , typename In2 , typename In1 = typename if_na::type > struct stable_partition_impl : fold< Sequence , pair< typename In1::state, typename In2::state > , protect< partition_op< Pred , typename In1::operation , typename In2::operation > > > { }; template < typename Sequence , typename Pred , typename In , typename In2 , typename In1 = typename if_na::type > struct reverse_stable_partition_impl : reverse_fold< Sequence , pair< typename In1::state, typename In2::state > , protect< partition_op< Pred , typename In1::operation , typename In2::operation > > > { }; } // namespace aux BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, stable_partition) }} #endif // BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/string.hpp000066400000000000000000000577541265471724600216610ustar00rootroot00000000000000 #ifndef BOOST_MPL_STRING_HPP_INCLUDED #define BOOST_MPL_STRING_HPP_INCLUDED // Copyright Eric Niebler 2009 // // Distributed under the Boost Software License, Version 1.0. // (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: string.hpp 49239 2009-04-01 09:10:26Z eric_niebler $ // $Date: 2009-04-01 02:10:26 -0700 (Wed, 1 Apr 2009) $ // $Revision: 49239 $ // // Thanks to: // Dmitry Goncharov for porting this to the Sun compiler #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 // for bidirectional_iterator_tag #include namespace boost { namespace mpl { #define BOOST_MPL_STRING_MAX_PARAMS \ BOOST_PP_DIV(BOOST_PP_ADD(BOOST_MPL_LIMIT_STRING_SIZE, 3), 4) // Low-level bit-twiddling is done by macros. Any implementation-defined behavior of // multi-character literals should be localized to these macros. #define BOOST_MPL_MULTICHAR_LENGTH(c) \ (std::size_t)((c0xffffff)+(c>0xffff)+(c>0xff)+1)) #if defined(BOOST_ENDIAN_LITTLE_BYTE) && defined(__SUNPRO_CC) #define BOOST_MPL_MULTICHAR_AT(c,i) \ (char)(0xff&((unsigned)(c)>>(8*(std::size_t)(i)))) #define BOOST_MPL_MULTICHAR_PUSH_BACK(c,i) \ ((((unsigned char)(i))<<(BOOST_MPL_MULTICHAR_LENGTH(c)*8))|(unsigned)(c)) #define BOOST_MPL_MULTICHAR_PUSH_FRONT(c,i) \ (((unsigned)(c)<<8)|(unsigned char)(i)) #define BOOST_MPL_MULTICHAR_POP_BACK(c) \ (((1<<((BOOST_MPL_MULTICHAR_LENGTH(c)-1)*8))-1)&(unsigned)(c)) #define BOOST_MPL_MULTICHAR_POP_FRONT(c) \ ((unsigned)(c)>>8) #else #define BOOST_MPL_MULTICHAR_AT(c,i) \ (char)(0xff&((unsigned)(c)>>(8*(BOOST_MPL_MULTICHAR_LENGTH(c)-(std::size_t)(i)-1)))) #define BOOST_MPL_MULTICHAR_PUSH_BACK(c,i) \ (((unsigned)(c)<<8)|(unsigned char)(i)) #define BOOST_MPL_MULTICHAR_PUSH_FRONT(c,i) \ ((((unsigned char)(i))<<(BOOST_MPL_MULTICHAR_LENGTH(c)*8))|(unsigned)(c)) #define BOOST_MPL_MULTICHAR_POP_BACK(c) \ ((unsigned)(c)>>8) #define BOOST_MPL_MULTICHAR_POP_FRONT(c) \ (((1<<((BOOST_MPL_MULTICHAR_LENGTH(c)-1)*8))-1)&(unsigned)(c)) #endif struct string_tag; struct string_iterator_tag; template struct string; template struct string_iterator; template struct sequence_tag; template struct size_impl; template<> struct size_impl { template struct apply; #define M0(z, n, data) \ + BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C,n)) #define M1(z, n, data) \ template \ struct apply > \ : mpl::size_t<(0 BOOST_PP_REPEAT_ ## z(n, M0, ~))> \ {}; BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(BOOST_MPL_STRING_MAX_PARAMS), M1, ~) #undef M0 #undef M1 }; template<> struct size_impl::apply > : mpl::size_t<0> {}; template struct begin_impl; template<> struct begin_impl { template struct apply { typedef mpl::string_iterator type; }; }; template struct end_impl; template<> struct end_impl { template struct apply; #define M0(z,n,data) \ template \ struct apply > \ { \ typedef mpl::string_iterator, n, 0> type; \ }; BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(BOOST_MPL_STRING_MAX_PARAMS), M0, ~) #undef M0 }; template<> struct end_impl::apply > { typedef mpl::string_iterator, 0, 0> type; }; template struct push_back_impl; template<> struct push_back_impl { template struct apply { BOOST_MPL_ASSERT_MSG( (BOOST_MPL_LIMIT_STRING_SIZE != mpl::size::type::value) , PUSH_BACK_FAILED_MPL_STRING_IS_FULL , (Sequence) ); // If the above assertion didn't fire, then the string is sparse. // Repack the string and retry the push_back typedef typename mpl::push_back< typename mpl::copy< Sequence , mpl::back_inserter > >::type , Value >::type type; }; template struct apply, Value, false> { typedef mpl::string<(char)Value::value> type; }; #define M0(z,n,data) \ template \ struct apply, Value, false> \ { \ typedef \ mpl::string< \ BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_DEC(n), C) \ BOOST_PP_COMMA_IF(BOOST_PP_DEC(n)) \ ((unsigned)BOOST_PP_CAT(C,BOOST_PP_DEC(n))>0xffffff) \ ?BOOST_PP_CAT(C,BOOST_PP_DEC(n)) \ :BOOST_MPL_MULTICHAR_PUSH_BACK(BOOST_PP_CAT(C,BOOST_PP_DEC(n)), Value::value) \ , ((unsigned)BOOST_PP_CAT(C,BOOST_PP_DEC(n))>0xffffff) \ ?(char)Value::value \ :0 \ > \ type; \ }; BOOST_PP_REPEAT_FROM_TO(1, BOOST_MPL_STRING_MAX_PARAMS, M0, ~) #undef M0 template struct apply, Value, false> { typedef mpl::string< BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(BOOST_MPL_STRING_MAX_PARAMS), C) , BOOST_MPL_MULTICHAR_PUSH_BACK(BOOST_PP_CAT(C,BOOST_PP_DEC(BOOST_MPL_STRING_MAX_PARAMS)), Value::value) > type; }; }; template struct has_push_back_impl; template<> struct has_push_back_impl { template struct apply : mpl::true_ {}; }; template struct pop_back_impl; template<> struct pop_back_impl { template struct apply; #define M0(z,n,data) \ template \ struct apply > \ { \ BOOST_MPL_ASSERT_MSG((C0 != 0), POP_BACK_FAILED_MPL_STRING_IS_EMPTY, (mpl::string<>)); \ typedef \ mpl::string< \ BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_DEC(n), C) \ BOOST_PP_COMMA_IF(BOOST_PP_DEC(n)) \ BOOST_MPL_MULTICHAR_POP_BACK(BOOST_PP_CAT(C,BOOST_PP_DEC(n))) \ > \ type; \ }; BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(BOOST_MPL_STRING_MAX_PARAMS), M0, ~) #undef M0 }; template struct has_pop_back_impl; template<> struct has_pop_back_impl { template struct apply : mpl::true_ {}; }; template struct push_front_impl; template<> struct push_front_impl { template struct apply { BOOST_MPL_ASSERT_MSG( (BOOST_MPL_LIMIT_STRING_SIZE != mpl::size::type::value) , PUSH_FRONT_FAILED_MPL_STRING_IS_FULL , (Sequence) ); // If the above assertion didn't fire, then the string is sparse. // Repack the string and retry the push_front. typedef typename mpl::push_front< typename mpl::reverse_copy< Sequence , mpl::front_inserter > >::type , Value >::type type; }; #if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)) template struct apply, Value, false> { typedef mpl::string<(char)Value::value> type; }; #endif #define M0(z,n,data) \ template \ struct apply, Value, true> \ { \ typedef \ mpl::string< \ (char)Value::value \ BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, C) \ > \ type; \ }; BOOST_PP_REPEAT_FROM_TO(1, BOOST_MPL_STRING_MAX_PARAMS, M0, ~) #undef M0 template struct apply, Value, false> { typedef mpl::string< BOOST_MPL_MULTICHAR_PUSH_FRONT(C0, Value::value) , BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C) > type0; #if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)) typedef typename mpl::if_< mpl::empty > , mpl::string<(char)Value::value> , type0 >::type type; #else typedef type0 type; #endif }; }; template struct has_push_front_impl; template<> struct has_push_front_impl { template struct apply : mpl::true_ {}; }; template struct pop_front_impl; template<> struct pop_front_impl { template struct apply; #define M0(z,n,data) \ template \ struct apply, true> \ { \ BOOST_MPL_ASSERT_MSG((C0 != 0), POP_FRONT_FAILED_MPL_STRING_IS_EMPTY, (mpl::string<>)); \ typedef \ mpl::string \ type; \ }; BOOST_PP_REPEAT_FROM_TO(1, BOOST_MPL_STRING_MAX_PARAMS, M0, ~) #undef M0 template struct apply, false> { typedef mpl::string< BOOST_MPL_MULTICHAR_POP_FRONT(C0) , BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C) > type; }; }; template struct has_pop_front_impl; template<> struct has_pop_front_impl { template struct apply : mpl::true_ {}; }; template struct insert_range_impl; template<> struct insert_range_impl { template struct apply : mpl::copy< mpl::joint_view< mpl::iterator_range< mpl::string_iterator , Pos > , mpl::joint_view< Range , mpl::iterator_range< Pos , typename mpl::end::type > > > , mpl::back_inserter > > {}; }; template struct insert_impl; template<> struct insert_impl { template struct apply : mpl::insert_range > {}; }; template struct erase_impl; template<> struct erase_impl { template struct apply : mpl::copy< mpl::joint_view< mpl::iterator_range< mpl::string_iterator , First > , mpl::iterator_range< typename mpl::if_na::type>::type , typename mpl::end::type > > , mpl::back_inserter > > {}; }; template struct clear_impl; template<> struct clear_impl { template struct apply { typedef mpl::string<> type; }; }; #define M0(z, n, data) \ template \ struct string_iterator, n, J> \ { \ enum { eomc_ = (BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C, n)) == J + 1) }; \ typedef mpl::string string; \ typedef std::bidirectional_iterator_tag category; \ typedef \ mpl::string_iterator \ next; \ typedef \ mpl::string_iterator \ prior; \ typedef mpl::char_ type; \ }; \ template \ struct string_iterator, n, 0> \ { \ enum { eomc_ = (BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C, n)) == 1) }; \ typedef mpl::string string; \ typedef std::bidirectional_iterator_tag category; \ typedef \ mpl::string_iterator \ next; \ typedef \ mpl::string_iterator< \ string \ , n - 1 \ , BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C, BOOST_PP_DEC(n))) - 1 \ > \ prior; \ typedef mpl::char_ type; \ }; BOOST_PP_REPEAT(BOOST_MPL_STRING_MAX_PARAMS, M0, ~) #undef M0 template struct string { /// INTERNAL ONLY enum { front_ = C0 , back_ = BOOST_PP_CAT(C, BOOST_PP_DEC(BOOST_MPL_STRING_MAX_PARAMS)) }; typedef char value_type; typedef string type; typedef string_tag tag; }; namespace aux_ { template struct next_unless : mpl::next {}; template struct next_unless { typedef End type; }; template struct deref_unless : mpl::deref {}; template struct deref_unless { typedef mpl::char_<'\0'> type; }; } template struct c_str { typedef typename mpl::end::type iend; typedef typename mpl::begin::type i0; #define M0(z, n, data) \ typedef \ typename mpl::aux_::next_unless::type \ BOOST_PP_CAT(i, BOOST_PP_INC(n)); BOOST_PP_REPEAT(BOOST_MPL_LIMIT_STRING_SIZE, M0, ~) #undef M0 typedef c_str type; static typename Sequence::value_type const value[BOOST_MPL_LIMIT_STRING_SIZE+1]; }; template typename Sequence::value_type const c_str::value[BOOST_MPL_LIMIT_STRING_SIZE+1] = { #define M0(z, n, data) \ mpl::aux_::deref_unless::type::value, BOOST_PP_REPEAT(BOOST_MPL_LIMIT_STRING_SIZE, M0, ~) #undef M0 '\0' }; }} // namespace boost #endif // BOOST_MPL_STRING_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/switch.hpp000066400000000000000000000022431265471724600216330ustar00rootroot00000000000000 #ifndef BOOST_MPL_SWITCH_HPP_INCLUDED #define BOOST_MPL_SWITCH_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 #include #include #include #include #include namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(Body) , typename BOOST_MPL_AUX_NA_PARAM(T) > struct switch_ { typedef typename find_if< Body , apply1< lambda< first<_1> >, T > >::type iter_; typedef typename deref::type pair_; typedef typename lambda< typename second::type >::type f_; typedef typename apply1::type type; BOOST_MPL_AUX_LAMBDA_SUPPORT(2,switch_,(Body,T)) }; BOOST_MPL_AUX_NA_SPEC(2, switch_) }} #endif // BOOST_MPL_SWITCH_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/tag.hpp000066400000000000000000000017771265471724600211200ustar00rootroot00000000000000 #ifndef BOOST_MPL_TAG_HPP_INCLUDED #define BOOST_MPL_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 #include #include namespace boost { namespace mpl { namespace aux { template< typename T > struct tag_impl { typedef typename T::tag type; }; } template< typename T, typename Default = void_ > struct tag #if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) : if_< aux::has_tag , aux::tag_impl , Default >::type { #else { typedef typename eval_if< aux::has_tag , aux::tag_impl , Default >::type type; #endif }; }} #endif // BOOST_MPL_TAG_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/times.hpp000066400000000000000000000010031265471724600214440ustar00rootroot00000000000000 #ifndef BOOST_MPL_TIMES_HPP_INCLUDED #define BOOST_MPL_TIMES_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 times #define AUX778076_OP_TOKEN * #include #endif // BOOST_MPL_TIMES_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/transform.hpp000066400000000000000000000101521265471724600223430ustar00rootroot00000000000000 #ifndef BOOST_MPL_TRANSFORM_HPP_INCLUDED #define BOOST_MPL_TRANSFORM_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 #include #include #include namespace boost { namespace mpl { namespace aux { template< typename Seq , typename Op , typename In > struct transform1_impl : fold< Seq , typename In::state , bind2< typename lambda< typename In::operation >::type , _1 , bind1< typename lambda::type, _2> > > { }; template< typename Seq , typename Op , typename In > struct reverse_transform1_impl : reverse_fold< Seq , typename In::state , bind2< typename lambda< typename In::operation >::type , _1 , bind1< typename lambda::type, _2> > > { }; template< typename Seq1 , typename Seq2 , typename Op , typename In > struct transform2_impl : fold< pair_view , typename In::state , bind2< typename lambda< typename In::operation >::type , _1 , bind2< typename lambda::type , bind1,_2> , bind1,_2> > > > { }; template< typename Seq1 , typename Seq2 , typename Op , typename In > struct reverse_transform2_impl : reverse_fold< pair_view , typename In::state , bind2< typename lambda< typename In::operation >::type , _1 , bind2< typename lambda< Op >::type , bind1,_2> , bind1,_2> > > > { }; } // namespace aux BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, transform1) BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, transform2) #define AUX778076_TRANSFORM_DEF(name) \ template< \ typename BOOST_MPL_AUX_NA_PARAM(Seq1) \ , typename BOOST_MPL_AUX_NA_PARAM(Seq2OrOperation) \ , typename BOOST_MPL_AUX_NA_PARAM(OperationOrInserter) \ , typename BOOST_MPL_AUX_NA_PARAM(Inserter) \ > \ struct name \ { \ typedef typename eval_if< \ or_< \ is_na \ , is_lambda_expression< Seq2OrOperation > \ , not_< is_sequence > \ > \ , name##1 \ , name##2 \ >::type type; \ }; \ BOOST_MPL_AUX_NA_SPEC(4, name) \ /**/ AUX778076_TRANSFORM_DEF(transform) AUX778076_TRANSFORM_DEF(reverse_transform) #undef AUX778076_TRANSFORM_DEF }} #endif // BOOST_MPL_TRANSFORM_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/transform_view.hpp000066400000000000000000000021441265471724600233770ustar00rootroot00000000000000 #ifndef BOOST_MPL_TRANSFORM_VIEW_HPP_INCLUDED #define BOOST_MPL_TRANSFORM_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 namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) , typename BOOST_MPL_AUX_NA_PARAM(F) > struct transform_view { private: typedef typename lambda::type f_; typedef typename begin::type first_; typedef typename end::type last_; public: struct tag; typedef transform_view type; typedef aux::transform_iter< first_,last_,f_ > begin; typedef aux::transform_iter< last_,last_,f_ > end; }; BOOST_MPL_AUX_NA_SPEC(2, transform_view) }} #endif // BOOST_MPL_TRANSFORM_VIEW_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/unique.hpp000066400000000000000000000040051265471724600216360ustar00rootroot00000000000000 #ifndef BOOST_MPL_UNIQUE_HPP_INCLUDED #define BOOST_MPL_UNIQUE_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2000-2004 // Copyright John R. Bandela 2000-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 #include #include #include #include #include #include namespace boost { namespace mpl { namespace aux { template< typename Predicate, typename Operation > struct unique_op { template< typename Pair, typename T > struct apply { typedef typename Pair::first seq_; typedef typename Pair::second prior_; typedef typename eval_if< and_< is_not_na, apply2 > , identity , apply2 >::type new_seq_; typedef pair type; }; }; template< typename Sequence , typename Predicate , typename Inserter > struct unique_impl : first< typename fold< Sequence , pair< typename Inserter::state,na > , protect< aux::unique_op > >::type > { }; template< typename Sequence , typename Predicate , typename Inserter > struct reverse_unique_impl : first< typename reverse_fold< Sequence , pair< typename Inserter::state,na > , protect< aux::unique_op > >::type > { }; } // namespace aux BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, unique) }} #endif // BOOST_MPL_UNIQUE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/unpack_args.hpp000066400000000000000000000067531265471724600226410ustar00rootroot00000000000000 #if !defined(BOOST_PP_IS_ITERATING) ///// header body #ifndef BOOST_MPL_UNPACK_ARGS_HPP_INCLUDED #define BOOST_MPL_UNPACK_ARGS_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$ #if !defined(BOOST_MPL_PREPROCESSING_MODE) # include # include # include # include # include #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER unpack_args.hpp # include #else # include # include # include # include # include # include namespace boost { namespace mpl { // local macros, #undef-ined at the end of the header # define AUX778076_UNPACK(unused, i, Args) \ , typename at_c::type \ /**/ # define AUX778076_UNPACKED_ARGS(n, Args) \ BOOST_MPL_PP_REPEAT(n, AUX778076_UNPACK, Args) \ /**/ namespace aux { #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< int size, typename F, typename Args > struct unpack_args_impl; #else template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl { template< typename F, typename Args > struct apply; }; #endif #define BOOST_PP_ITERATION_PARAMS_1 \ (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) #include BOOST_PP_ITERATE() } template< typename F > struct unpack_args { template< typename Args > struct apply #if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) # if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) : aux::unpack_args_impl< size::value,F,Args > # else : aux::unpack_args_impl< size::value > ::template apply< F,Args > # endif { #else // BOOST_MPL_CFG_NO_NESTED_FORWARDING { typedef typename aux::unpack_args_impl< size::value , F , Args >::type type; #endif }; }; BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) # undef AUX778076_UNPACK # undef AUX778076_UNPACKED_ARGS }} #endif // BOOST_MPL_CFG_USE_PREPROCESSED_HEADERS #endif // BOOST_MPL_UNPACK_ARGS_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) #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename F, typename Args > struct unpack_args_impl : BOOST_PP_CAT(apply,i_)< F AUX778076_UNPACKED_ARGS(i_, Args) > { }; #else template<> struct unpack_args_impl { template< typename F, typename Args > struct apply : BOOST_PP_CAT(apply,i_)< F AUX778076_UNPACKED_ARGS(i_, Args) > { }; }; #endif # undef i_ #endif // BOOST_PP_ITERATION_DEPTH() #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/upper_bound.hpp000066400000000000000000000067431265471724600226650ustar00rootroot00000000000000 #ifndef BOOST_MPL_UPPER_BOUND_HPP_INCLUDED #define BOOST_MPL_UPPER_BOUND_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 #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) # define BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL #endif #if !defined(BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL) # include # include # include # include # include # include # include # include # include # include # include #else # include # include #endif #include namespace boost { namespace mpl { #if defined(BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL) // agurt 23/oct/02: has a wrong complexity etc., but at least it works; // feel free to contribute a better implementation! template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) , typename BOOST_MPL_AUX_NA_PARAM(T) , typename Predicate = less<> , typename pred_ = typename lambda::type > struct upper_bound : find_if< Sequence, bind2 > { }; #else namespace aux { template< typename Distance , typename Predicate , typename T , typename DeferredIterator > struct upper_bound_step_impl; template< typename Distance , typename Predicate , typename T , typename DeferredIterator > struct upper_bound_step { typedef typename eval_if< Distance , upper_bound_step_impl , DeferredIterator >::type type; }; template< typename Distance , typename Predicate , typename T , typename DeferredIterator > struct upper_bound_step_impl { typedef typename divides< Distance, long_<2> >::type offset_; typedef typename DeferredIterator::type iter_; typedef typename advance< iter_,offset_ >::type middle_; typedef typename apply2< Predicate , T , typename deref::type >::type cond_; typedef typename prior< minus< Distance, offset_ > >::type step_; typedef upper_bound_step< offset_,Predicate,T,DeferredIterator > step_forward_; typedef upper_bound_step< step_,Predicate,T,next > step_backward_; typedef typename eval_if< cond_ , step_forward_ , step_backward_ >::type type; }; } // namespace aux template< typename BOOST_MPL_AUX_NA_PARAM(Sequence) , typename BOOST_MPL_AUX_NA_PARAM(T) , typename Predicate = less<> > struct upper_bound { private: typedef typename lambda::type pred_; typedef typename size::type size_; public: typedef typename aux::upper_bound_step< size_,pred_,T,begin >::type type; }; #endif // BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL BOOST_MPL_AUX_NA_SPEC(2, upper_bound) }} #endif // BOOST_MPL_UPPER_BOUND_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/value_type.hpp000066400000000000000000000020741265471724600225110ustar00rootroot00000000000000 #ifndef BOOST_MPL_VALUE_TYPE_HPP_INCLUDED #define BOOST_MPL_VALUE_TYPE_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 namespace boost { namespace mpl { template< typename BOOST_MPL_AUX_NA_PARAM(AssociativeSequence) , typename BOOST_MPL_AUX_NA_PARAM(T) > struct value_type : apply_wrap2< value_type_impl< typename sequence_tag::type > , AssociativeSequence, T > { BOOST_MPL_AUX_LAMBDA_SUPPORT(2,value_type,(AssociativeSequence,T)) }; BOOST_MPL_AUX_NA_SPEC(2, value_type) }} #endif // BOOST_MPL_VALUE_TYPE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/value_type_fwd.hpp000066400000000000000000000011731265471724600233500ustar00rootroot00000000000000 #ifndef BOOST_MPL_VALUE_TYPE_FWD_HPP_INCLUDED #define BOOST_MPL_VALUE_TYPE_FWD_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 Tag > struct value_type_impl; template< typename AssociativeSequence, typename T > struct value_type; }} #endif // BOOST_MPL_VALUE_TYPE_FWD_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector.hpp000066400000000000000000000031541265471724600216360ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_HPP_INCLUDED #define BOOST_MPL_VECTOR_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_VECTOR_HEADER \ BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE).hpp \ /**/ #else # define AUX778076_VECTOR_HEADER \ BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE)##.hpp \ /**/ #endif # include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX778076_VECTOR_HEADER) # undef AUX778076_VECTOR_HEADER #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER vector.hpp # include #else # include # define AUX778076_SEQUENCE_NAME vector # define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_VECTOR_SIZE # include #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_VECTOR_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/000077500000000000000000000000001265471724600211225ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/vector/aux_/000077500000000000000000000000001265471724600220565ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/vector/aux_/O1_size.hpp000066400000000000000000000022751265471724600241060ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED #define BOOST_MPL_VECTOR_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 #include #include #include #include namespace boost { namespace mpl { #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) template<> struct O1_size_impl< aux::vector_tag > { template< typename Vector > struct apply : Vector::size { }; }; #else #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< long N > struct O1_size_impl< aux::vector_tag > { template< typename Vector > struct apply : mpl::long_ { }; }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES }} #endif // BOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/aux_/at.hpp000066400000000000000000000050021265471724600231700ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED #define BOOST_MPL_VECTOR_AUX_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 #include #include namespace boost { namespace mpl { #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) template< typename Vector, long n_ > struct v_at_impl { typedef long_< (Vector::lower_bound_::value + n_) > index_; typedef __typeof__( Vector::item_(index_()) ) type; }; template< typename Vector, long n_ > struct v_at : aux::wrapped_type< typename v_at_impl::type > { }; template<> struct at_impl< aux::vector_tag > { template< typename Vector, typename N > struct apply : v_at< Vector , BOOST_MPL_AUX_VALUE_WKND(N)::value > { }; }; #else # if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) template< typename Vector, BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct v_at; template< BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct at_impl< aux::vector_tag > { template< typename Vector, typename N > struct apply #if !defined(__BORLANDC__) : v_at< Vector , BOOST_MPL_AUX_VALUE_WKND(N)::value > { #else { typedef typename v_at< Vector , BOOST_MPL_AUX_VALUE_WKND(N)::value >::type type; #endif }; }; # else namespace aux { template< BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct v_at_impl { template< typename V > struct result_; }; // to work around ETI, etc. template<> struct v_at_impl<-1> { template< typename V > struct result_ { typedef void_ type; }; }; } // namespace aux template< typename T, BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct v_at : aux::v_at_impl::template result_ { }; # endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES }} #endif // BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/aux_/back.hpp000066400000000000000000000024441265471724600234730ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED #define BOOST_MPL_VECTOR_AUX_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 #include namespace boost { namespace mpl { #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) template<> struct back_impl< aux::vector_tag > { template< typename Vector > struct apply : v_at< Vector , prior::type::value > { }; }; #else #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< long n_ > struct back_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES }} #endif // BOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/aux_/begin_end.hpp000066400000000000000000000021031265471724600244750ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED #define BOOST_MPL_VECTOR_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 #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) # include # include # include namespace boost { namespace mpl { template<> struct begin_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef v_iter type; }; }; template<> struct end_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef v_iter type; }; }; }} #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES #endif // BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/aux_/clear.hpp000066400000000000000000000022621265471724600236570ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED #define BOOST_MPL_VECTOR_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 #include #include namespace boost { namespace mpl { #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) template<> struct clear_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef vector0<> type; }; }; #else #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< long N > struct clear_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef vector0<> type; }; }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES }} #endif // BOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/aux_/empty.hpp000066400000000000000000000026311265471724600237270ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED #define BOOST_MPL_VECTOR_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 #include #include #include namespace boost { namespace mpl { #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) template<> struct empty_impl< aux::vector_tag > { template< typename Vector > struct apply : is_same< typename Vector::lower_bound_ , typename Vector::upper_bound_ > { }; }; #else template<> struct empty_impl< aux::vector_tag<0> > { template< typename Vector > struct apply : true_ { }; }; #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< long N > struct empty_impl< aux::vector_tag > { template< typename Vector > struct apply : false_ { }; }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES }} #endif // BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/aux_/front.hpp000066400000000000000000000023671265471724600237270ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED #define BOOST_MPL_VECTOR_AUX_FRONT_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 namespace boost { namespace mpl { #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) template<> struct front_impl< aux::vector_tag > { template< typename Vector > struct apply : v_at { }; }; #else #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct front_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES }} #endif // BOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/aux_/include_preprocessed.hpp000066400000000000000000000031701265471724600267710ustar00rootroot00000000000000 // 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 #include #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) # define AUX778076_INCLUDE_DIR typeof_based #elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) # define AUX778076_INCLUDE_DIR no_ctps #else # define AUX778076_INCLUDE_DIR plain #endif #if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) # define AUX778076_HEADER \ AUX778076_INCLUDE_DIR/BOOST_MPL_PREPROCESSED_HEADER \ /**/ #else # define AUX778076_HEADER \ BOOST_PP_CAT(AUX778076_INCLUDE_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \ /**/ #endif #if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700)) # define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/vector/aux_/preprocessed/AUX778076_HEADER) # include AUX778076_INCLUDE_STRING # undef AUX778076_INCLUDE_STRING #else # include BOOST_PP_STRINGIZE(boost/mpl/vector/aux_/preprocessed/AUX778076_HEADER) #endif # undef AUX778076_HEADER # undef AUX778076_INCLUDE_DIR #undef BOOST_MPL_PREPROCESSED_HEADER KWStyle-master/Utilities/boost/mpl/vector/aux_/item.hpp000066400000000000000000000046351265471724600235350ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED #define BOOST_MPL_VECTOR_AUX_ITEM_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 { #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) template< typename T , typename Base , int at_front = 0 > struct v_item : Base { typedef typename Base::upper_bound_ index_; typedef typename next::type upper_bound_; typedef typename next::type size; typedef Base base; typedef v_item type; // agurt 10/sep/04: MWCW <= 9.3 workaround here and below; the compiler // breaks if using declaration comes _before_ the new overload static aux::type_wrapper item_(index_); using Base::item_; }; template< typename T , typename Base > struct v_item : Base { typedef typename prior::type index_; typedef index_ lower_bound_; typedef typename next::type size; typedef Base base; typedef v_item type; static aux::type_wrapper item_(index_); using Base::item_; }; // "erasure" item template< typename Base , int at_front > struct v_mask : Base { typedef typename prior::type index_; typedef index_ upper_bound_; typedef typename prior::type size; typedef Base base; typedef v_mask type; static aux::type_wrapper item_(index_); using Base::item_; }; template< typename Base > struct v_mask : Base { typedef typename Base::lower_bound_ index_; typedef typename next::type lower_bound_; typedef typename prior::type size; typedef Base base; typedef v_mask type; static aux::type_wrapper item_(index_); using Base::item_; }; #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES }} #endif // BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/aux_/iterator.hpp000066400000000000000000000056331265471724600244270ustar00rootroot00000000000000 #ifndef BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED #define BOOST_MPL_AUX_VECTOR_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 #include #include #include #include #include namespace boost { namespace mpl { template< typename Vector , BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct v_iter { typedef aux::v_iter_tag tag; typedef random_access_iterator_tag category; typedef typename v_at::type type; typedef Vector vector_; typedef mpl::long_ pos; #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) enum { next_ = n_ + 1 , prior_ = n_ - 1 , pos_ = n_ }; typedef v_iter next; typedef v_iter prior; #endif }; #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< typename Vector , BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct next< v_iter > { typedef v_iter type; }; template< typename Vector , BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct prior< v_iter > { typedef v_iter type; }; template< typename Vector , BOOST_MPL_AUX_NTTP_DECL(long, n_) , typename Distance > struct advance< v_iter,Distance> { typedef v_iter< Vector , (n_ + BOOST_MPL_AUX_NESTED_VALUE_WKND(long, Distance)) > type; }; template< typename Vector , BOOST_MPL_AUX_NTTP_DECL(long, n_) , BOOST_MPL_AUX_NTTP_DECL(long, m_) > struct distance< v_iter, v_iter > : mpl::long_<(m_ - n_)> { }; #else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION template<> struct advance_impl { template< typename Iterator, typename N > struct apply { enum { pos_ = Iterator::pos_, n_ = N::value }; typedef v_iter< typename Iterator::vector_ , (pos_ + n_) > type; }; }; template<> struct distance_impl { template< typename Iter1, typename Iter2 > struct apply { enum { pos1_ = Iter1::pos_, pos2_ = Iter2::pos_ }; typedef long_<( pos2_ - pos1_ )> type; BOOST_STATIC_CONSTANT(long, value = ( pos2_ - pos1_ )); }; }; #endif }} #endif // BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/aux_/numbered.hpp000066400000000000000000000112571265471724600243760ustar00rootroot00000000000000 // 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 #define i_ BOOST_PP_FRAME_ITERATION(1) #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) # define AUX778076_VECTOR_TAIL(vector, i_, T) \ BOOST_PP_CAT(vector,i_)< \ BOOST_PP_ENUM_PARAMS(i_, T) \ > \ /**/ #if i_ > 0 template< BOOST_PP_ENUM_PARAMS(i_, typename T) > struct BOOST_PP_CAT(vector,i_) : v_item< BOOST_PP_CAT(T,BOOST_PP_DEC(i_)) , AUX778076_VECTOR_TAIL(vector,BOOST_PP_DEC(i_),T) > { typedef BOOST_PP_CAT(vector,i_) type; }; #endif # undef AUX778076_VECTOR_TAIL #else // "brute force" implementation # if i_ > 0 template< BOOST_PP_ENUM_PARAMS(i_, typename T) > struct BOOST_PP_CAT(vector,i_) { typedef aux::vector_tag tag; typedef BOOST_PP_CAT(vector,i_) type; # define AUX778076_VECTOR_ITEM(unused, i_, unused2) \ typedef BOOST_PP_CAT(T,i_) BOOST_PP_CAT(item,i_); \ /**/ BOOST_PP_REPEAT(i_, AUX778076_VECTOR_ITEM, unused) # undef AUX778076_VECTOR_ITEM typedef void_ BOOST_PP_CAT(item,i_); typedef BOOST_PP_CAT(T,BOOST_PP_DEC(i_)) back; // Borland forces us to use 'type' here (instead of the class name) typedef v_iter begin; typedef v_iter end; }; template<> struct push_front_impl< aux::vector_tag > { template< typename Vector, typename T > struct apply { typedef BOOST_PP_CAT(vector,i_)< T BOOST_PP_COMMA_IF(BOOST_PP_DEC(i_)) BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(i_), typename Vector::item) > type; }; }; template<> struct pop_front_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef BOOST_PP_CAT(vector,BOOST_PP_DEC(i_))< BOOST_PP_ENUM_SHIFTED_PARAMS(i_, typename Vector::item) > type; }; }; template<> struct push_back_impl< aux::vector_tag > { template< typename Vector, typename T > struct apply { typedef BOOST_PP_CAT(vector,i_)< BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(i_), typename Vector::item) BOOST_PP_COMMA_IF(BOOST_PP_DEC(i_)) T > type; }; }; template<> struct pop_back_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef BOOST_PP_CAT(vector,BOOST_PP_DEC(i_))< BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(i_), typename Vector::item) > type; }; }; # endif // i_ > 0 # if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) template< typename V > struct v_at { typedef typename V::BOOST_PP_CAT(item,i_) type; }; # else namespace aux { template<> struct v_at_impl { template< typename V_ > struct result_ { typedef typename V_::BOOST_PP_CAT(item,i_) type; }; }; } template<> struct at_impl< aux::vector_tag > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; #if i_ > 0 template<> struct front_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag > { template< typename Vector > struct apply : false_ { }; }; #endif template<> struct size_impl< aux::vector_tag > { template< typename Vector > struct apply : long_ { }; }; template<> struct O1_size_impl< aux::vector_tag > : size_impl< aux::vector_tag > { }; template<> struct clear_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef vector0<> type; }; }; # endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES #undef i_ #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/vector/aux_/numbered_c.hpp000066400000000000000000000036251265471724600247000ustar00rootroot00000000000000 // 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 #define i_ BOOST_PP_FRAME_ITERATION(1) #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) # define AUX778076_VECTOR_TAIL(vector, i_, C) \ BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) \ /**/ #if i_ > 0 template< typename T , BOOST_PP_ENUM_PARAMS(i_, T C) > struct BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) : v_item< integral_c , AUX778076_VECTOR_TAIL(vector,BOOST_PP_DEC(i_),C) > { typedef BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) type; typedef T value_type; }; #endif # undef AUX778076_VECTOR_TAIL #else // "brute force" implementation # define AUX778076_VECTOR_C_PARAM_FUNC(unused, i_, param) \ BOOST_PP_COMMA_IF(i_) \ integral_c \ /**/ template< typename T , BOOST_PP_ENUM_PARAMS(i_, T C) > struct BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) : BOOST_PP_CAT(vector,i_)< BOOST_PP_REPEAT(i_,AUX778076_VECTOR_C_PARAM_FUNC,C) > { typedef BOOST_PP_CAT(BOOST_PP_CAT(vector,i_),_c) type; typedef T value_type; }; # undef AUX778076_VECTOR_C_PARAM_FUNC #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES #undef i_ #endif // BOOST_PP_IS_ITERATING KWStyle-master/Utilities/boost/mpl/vector/aux_/pop_back.hpp000066400000000000000000000016241265471724600243500ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED #define BOOST_MPL_VECTOR_AUX_POP_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 #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) # include # include namespace boost { namespace mpl { template<> struct pop_back_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef v_mask type; }; }; }} #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES #endif // BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/aux_/pop_front.hpp000066400000000000000000000016311265471724600245760ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED #define BOOST_MPL_VECTOR_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 #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) # include # include namespace boost { namespace mpl { template<> struct pop_front_impl< aux::vector_tag > { template< typename Vector > struct apply { typedef v_mask type; }; }; }} #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES #endif // BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/000077500000000000000000000000001265471724600245545ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/no_ctps/000077500000000000000000000000001265471724600262215ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp000066400000000000000000000736551265471724600304150ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector10.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { namespace aux { template<> struct v_at_impl<0> { template< typename V_ > struct result_ { typedef typename V_::item0 type; }; }; } template<> struct at_impl< aux::vector_tag<0> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct size_impl< aux::vector_tag<0> > { template< typename Vector > struct apply : long_<0> { }; }; template<> struct O1_size_impl< aux::vector_tag<0> > : size_impl< aux::vector_tag<0> > { }; template<> struct clear_impl< aux::vector_tag<0> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0 > struct vector1 { typedef aux::vector_tag<1> tag; typedef vector1 type; typedef T0 item0; typedef void_ item1; typedef T0 back; typedef v_iter< type,0 > begin; typedef v_iter< type,1 > end; }; template<> struct push_front_impl< aux::vector_tag<0> > { template< typename Vector, typename T > struct apply { typedef vector1< T > type; }; }; template<> struct pop_front_impl< aux::vector_tag<1> > { template< typename Vector > struct apply { typedef vector0< > type; }; }; template<> struct push_back_impl< aux::vector_tag<0> > { template< typename Vector, typename T > struct apply { typedef vector1< T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<1> > { template< typename Vector > struct apply { typedef vector0< > type; }; }; namespace aux { template<> struct v_at_impl<1> { template< typename V_ > struct result_ { typedef typename V_::item1 type; }; }; } template<> struct at_impl< aux::vector_tag<1> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<1> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<1> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<1> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<1> > { template< typename Vector > struct apply : long_<1> { }; }; template<> struct O1_size_impl< aux::vector_tag<1> > : size_impl< aux::vector_tag<1> > { }; template<> struct clear_impl< aux::vector_tag<1> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1 > struct vector2 { typedef aux::vector_tag<2> tag; typedef vector2 type; typedef T0 item0; typedef T1 item1; typedef void_ item2; typedef T1 back; typedef v_iter< type,0 > begin; typedef v_iter< type,2 > end; }; template<> struct push_front_impl< aux::vector_tag<1> > { template< typename Vector, typename T > struct apply { typedef vector2< T , typename Vector::item0 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<2> > { template< typename Vector > struct apply { typedef vector1< typename Vector::item1 > type; }; }; template<> struct push_back_impl< aux::vector_tag<1> > { template< typename Vector, typename T > struct apply { typedef vector2< typename Vector::item0 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<2> > { template< typename Vector > struct apply { typedef vector1< typename Vector::item0 > type; }; }; namespace aux { template<> struct v_at_impl<2> { template< typename V_ > struct result_ { typedef typename V_::item2 type; }; }; } template<> struct at_impl< aux::vector_tag<2> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<2> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<2> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<2> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<2> > { template< typename Vector > struct apply : long_<2> { }; }; template<> struct O1_size_impl< aux::vector_tag<2> > : size_impl< aux::vector_tag<2> > { }; template<> struct clear_impl< aux::vector_tag<2> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2 > struct vector3 { typedef aux::vector_tag<3> tag; typedef vector3 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef void_ item3; typedef T2 back; typedef v_iter< type,0 > begin; typedef v_iter< type,3 > end; }; template<> struct push_front_impl< aux::vector_tag<2> > { template< typename Vector, typename T > struct apply { typedef vector3< T , typename Vector::item0, typename Vector::item1 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<3> > { template< typename Vector > struct apply { typedef vector2< typename Vector::item1, typename Vector::item2 > type; }; }; template<> struct push_back_impl< aux::vector_tag<2> > { template< typename Vector, typename T > struct apply { typedef vector3< typename Vector::item0, typename Vector::item1 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<3> > { template< typename Vector > struct apply { typedef vector2< typename Vector::item0, typename Vector::item1 > type; }; }; namespace aux { template<> struct v_at_impl<3> { template< typename V_ > struct result_ { typedef typename V_::item3 type; }; }; } template<> struct at_impl< aux::vector_tag<3> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<3> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<3> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<3> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<3> > { template< typename Vector > struct apply : long_<3> { }; }; template<> struct O1_size_impl< aux::vector_tag<3> > : size_impl< aux::vector_tag<3> > { }; template<> struct clear_impl< aux::vector_tag<3> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3 > struct vector4 { typedef aux::vector_tag<4> tag; typedef vector4 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef void_ item4; typedef T3 back; typedef v_iter< type,0 > begin; typedef v_iter< type,4 > end; }; template<> struct push_front_impl< aux::vector_tag<3> > { template< typename Vector, typename T > struct apply { typedef vector4< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<4> > { template< typename Vector > struct apply { typedef vector3< typename Vector::item1, typename Vector::item2 , typename Vector::item3 > type; }; }; template<> struct push_back_impl< aux::vector_tag<3> > { template< typename Vector, typename T > struct apply { typedef vector4< typename Vector::item0, typename Vector::item1 , typename Vector::item2 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<4> > { template< typename Vector > struct apply { typedef vector3< typename Vector::item0, typename Vector::item1 , typename Vector::item2 > type; }; }; namespace aux { template<> struct v_at_impl<4> { template< typename V_ > struct result_ { typedef typename V_::item4 type; }; }; } template<> struct at_impl< aux::vector_tag<4> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<4> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<4> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<4> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<4> > { template< typename Vector > struct apply : long_<4> { }; }; template<> struct O1_size_impl< aux::vector_tag<4> > : size_impl< aux::vector_tag<4> > { }; template<> struct clear_impl< aux::vector_tag<4> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 > struct vector5 { typedef aux::vector_tag<5> tag; typedef vector5 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef void_ item5; typedef T4 back; typedef v_iter< type,0 > begin; typedef v_iter< type,5 > end; }; template<> struct push_front_impl< aux::vector_tag<4> > { template< typename Vector, typename T > struct apply { typedef vector5< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<5> > { template< typename Vector > struct apply { typedef vector4< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 > type; }; }; template<> struct push_back_impl< aux::vector_tag<4> > { template< typename Vector, typename T > struct apply { typedef vector5< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<5> > { template< typename Vector > struct apply { typedef vector4< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 > type; }; }; namespace aux { template<> struct v_at_impl<5> { template< typename V_ > struct result_ { typedef typename V_::item5 type; }; }; } template<> struct at_impl< aux::vector_tag<5> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<5> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<5> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<5> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<5> > { template< typename Vector > struct apply : long_<5> { }; }; template<> struct O1_size_impl< aux::vector_tag<5> > : size_impl< aux::vector_tag<5> > { }; template<> struct clear_impl< aux::vector_tag<5> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct vector6 { typedef aux::vector_tag<6> tag; typedef vector6 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef void_ item6; typedef T5 back; typedef v_iter< type,0 > begin; typedef v_iter< type,6 > end; }; template<> struct push_front_impl< aux::vector_tag<5> > { template< typename Vector, typename T > struct apply { typedef vector6< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<6> > { template< typename Vector > struct apply { typedef vector5< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5 > type; }; }; template<> struct push_back_impl< aux::vector_tag<5> > { template< typename Vector, typename T > struct apply { typedef vector6< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<6> > { template< typename Vector > struct apply { typedef vector5< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4 > type; }; }; namespace aux { template<> struct v_at_impl<6> { template< typename V_ > struct result_ { typedef typename V_::item6 type; }; }; } template<> struct at_impl< aux::vector_tag<6> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<6> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<6> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<6> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<6> > { template< typename Vector > struct apply : long_<6> { }; }; template<> struct O1_size_impl< aux::vector_tag<6> > : size_impl< aux::vector_tag<6> > { }; template<> struct clear_impl< aux::vector_tag<6> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6 > struct vector7 { typedef aux::vector_tag<7> tag; typedef vector7 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef void_ item7; typedef T6 back; typedef v_iter< type,0 > begin; typedef v_iter< type,7 > end; }; template<> struct push_front_impl< aux::vector_tag<6> > { template< typename Vector, typename T > struct apply { typedef vector7< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<7> > { template< typename Vector > struct apply { typedef vector6< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 > type; }; }; template<> struct push_back_impl< aux::vector_tag<6> > { template< typename Vector, typename T > struct apply { typedef vector7< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<7> > { template< typename Vector > struct apply { typedef vector6< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 > type; }; }; namespace aux { template<> struct v_at_impl<7> { template< typename V_ > struct result_ { typedef typename V_::item7 type; }; }; } template<> struct at_impl< aux::vector_tag<7> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<7> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<7> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<7> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<7> > { template< typename Vector > struct apply : long_<7> { }; }; template<> struct O1_size_impl< aux::vector_tag<7> > : size_impl< aux::vector_tag<7> > { }; template<> struct clear_impl< aux::vector_tag<7> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7 > struct vector8 { typedef aux::vector_tag<8> tag; typedef vector8 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef void_ item8; typedef T7 back; typedef v_iter< type,0 > begin; typedef v_iter< type,8 > end; }; template<> struct push_front_impl< aux::vector_tag<7> > { template< typename Vector, typename T > struct apply { typedef vector8< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<8> > { template< typename Vector > struct apply { typedef vector7< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7 > type; }; }; template<> struct push_back_impl< aux::vector_tag<7> > { template< typename Vector, typename T > struct apply { typedef vector8< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<8> > { template< typename Vector > struct apply { typedef vector7< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6 > type; }; }; namespace aux { template<> struct v_at_impl<8> { template< typename V_ > struct result_ { typedef typename V_::item8 type; }; }; } template<> struct at_impl< aux::vector_tag<8> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<8> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<8> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<8> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<8> > { template< typename Vector > struct apply : long_<8> { }; }; template<> struct O1_size_impl< aux::vector_tag<8> > : size_impl< aux::vector_tag<8> > { }; template<> struct clear_impl< aux::vector_tag<8> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8 > struct vector9 { typedef aux::vector_tag<9> tag; typedef vector9 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef void_ item9; typedef T8 back; typedef v_iter< type,0 > begin; typedef v_iter< type,9 > end; }; template<> struct push_front_impl< aux::vector_tag<8> > { template< typename Vector, typename T > struct apply { typedef vector9< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<9> > { template< typename Vector > struct apply { typedef vector8< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 > type; }; }; template<> struct push_back_impl< aux::vector_tag<8> > { template< typename Vector, typename T > struct apply { typedef vector9< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<9> > { template< typename Vector > struct apply { typedef vector8< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 > type; }; }; namespace aux { template<> struct v_at_impl<9> { template< typename V_ > struct result_ { typedef typename V_::item9 type; }; }; } template<> struct at_impl< aux::vector_tag<9> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<9> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<9> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<9> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<9> > { template< typename Vector > struct apply : long_<9> { }; }; template<> struct O1_size_impl< aux::vector_tag<9> > : size_impl< aux::vector_tag<9> > { }; template<> struct clear_impl< aux::vector_tag<9> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 > struct vector10 { typedef aux::vector_tag<10> tag; typedef vector10 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef void_ item10; typedef T9 back; typedef v_iter< type,0 > begin; typedef v_iter< type,10 > end; }; template<> struct push_front_impl< aux::vector_tag<9> > { template< typename Vector, typename T > struct apply { typedef vector10< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<10> > { template< typename Vector > struct apply { typedef vector9< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9 > type; }; }; template<> struct push_back_impl< aux::vector_tag<9> > { template< typename Vector, typename T > struct apply { typedef vector10< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<10> > { template< typename Vector > struct apply { typedef vector9< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8 > type; }; }; namespace aux { template<> struct v_at_impl<10> { template< typename V_ > struct result_ { typedef typename V_::item10 type; }; }; } template<> struct at_impl< aux::vector_tag<10> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<10> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<10> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<10> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<10> > { template< typename Vector > struct apply : long_<10> { }; }; template<> struct O1_size_impl< aux::vector_tag<10> > : size_impl< aux::vector_tag<10> > { }; template<> struct clear_impl< aux::vector_tag<10> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp000066400000000000000000000063021265471724600307000ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector10_c.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename T , T C0 > struct vector1_c : vector1< integral_c< T,C0 > > { typedef vector1_c type; typedef T value_type; }; template< typename T , T C0, T C1 > struct vector2_c : vector2< integral_c< T,C0 >, integral_c< T,C1 > > { typedef vector2_c type; typedef T value_type; }; template< typename T , T C0, T C1, T C2 > struct vector3_c : vector3< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > > { typedef vector3_c type; typedef T value_type; }; template< typename T , T C0, T C1, T C2, T C3 > struct vector4_c : vector4< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >, integral_c > { typedef vector4_c type; typedef T value_type; }; template< typename T , T C0, T C1, T C2, T C3, T C4 > struct vector5_c : vector5< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 > > { typedef vector5_c type; typedef T value_type; }; template< typename T , T C0, T C1, T C2, T C3, T C4, T C5 > struct vector6_c : vector6< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 > > { typedef vector6_c type; typedef T value_type; }; template< typename T , T C0, T C1, T C2, T C3, T C4, T C5, T C6 > struct vector7_c : vector7< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c > { typedef vector7_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 vector8_c : vector8< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 > > { typedef vector8_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 vector9_c : vector9< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 > > { typedef vector9_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 vector10_c : vector10< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > > { typedef vector10_c type; typedef T value_type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp000066400000000000000000001322451265471724600304050ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector20.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 vector11 { typedef aux::vector_tag<11> tag; typedef vector11 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef void_ item11; typedef T10 back; typedef v_iter< type,0 > begin; typedef v_iter< type,11 > end; }; template<> struct push_front_impl< aux::vector_tag<10> > { template< typename Vector, typename T > struct apply { typedef vector11< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<11> > { template< typename Vector > struct apply { typedef vector10< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 > type; }; }; template<> struct push_back_impl< aux::vector_tag<10> > { template< typename Vector, typename T > struct apply { typedef vector11< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<11> > { template< typename Vector > struct apply { typedef vector10< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 > type; }; }; namespace aux { template<> struct v_at_impl<11> { template< typename V_ > struct result_ { typedef typename V_::item11 type; }; }; } template<> struct at_impl< aux::vector_tag<11> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<11> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<11> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<11> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<11> > { template< typename Vector > struct apply : long_<11> { }; }; template<> struct O1_size_impl< aux::vector_tag<11> > : size_impl< aux::vector_tag<11> > { }; template<> struct clear_impl< aux::vector_tag<11> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< 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 vector12 { typedef aux::vector_tag<12> tag; typedef vector12 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef void_ item12; typedef T11 back; typedef v_iter< type,0 > begin; typedef v_iter< type,12 > end; }; template<> struct push_front_impl< aux::vector_tag<11> > { template< typename Vector, typename T > struct apply { typedef vector12< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<12> > { template< typename Vector > struct apply { typedef vector11< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11 > type; }; }; template<> struct push_back_impl< aux::vector_tag<11> > { template< typename Vector, typename T > struct apply { typedef vector12< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<12> > { template< typename Vector > struct apply { typedef vector11< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10 > type; }; }; namespace aux { template<> struct v_at_impl<12> { template< typename V_ > struct result_ { typedef typename V_::item12 type; }; }; } template<> struct at_impl< aux::vector_tag<12> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<12> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<12> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<12> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<12> > { template< typename Vector > struct apply : long_<12> { }; }; template<> struct O1_size_impl< aux::vector_tag<12> > : size_impl< aux::vector_tag<12> > { }; template<> struct clear_impl< aux::vector_tag<12> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, 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 vector13 { typedef aux::vector_tag<13> tag; typedef vector13 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef void_ item13; typedef T12 back; typedef v_iter< type,0 > begin; typedef v_iter< type,13 > end; }; template<> struct push_front_impl< aux::vector_tag<12> > { template< typename Vector, typename T > struct apply { typedef vector13< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<13> > { template< typename Vector > struct apply { typedef vector12< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 > type; }; }; template<> struct push_back_impl< aux::vector_tag<12> > { template< typename Vector, typename T > struct apply { typedef vector13< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<13> > { template< typename Vector > struct apply { typedef vector12< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 > type; }; }; namespace aux { template<> struct v_at_impl<13> { template< typename V_ > struct result_ { typedef typename V_::item13 type; }; }; } template<> struct at_impl< aux::vector_tag<13> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<13> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<13> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<13> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<13> > { template< typename Vector > struct apply : long_<13> { }; }; template<> struct O1_size_impl< aux::vector_tag<13> > : size_impl< aux::vector_tag<13> > { }; template<> struct clear_impl< aux::vector_tag<13> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, 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 vector14 { typedef aux::vector_tag<14> tag; typedef vector14 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef void_ item14; typedef T13 back; typedef v_iter< type,0 > begin; typedef v_iter< type,14 > end; }; template<> struct push_front_impl< aux::vector_tag<13> > { template< typename Vector, typename T > struct apply { typedef vector14< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<14> > { template< typename Vector > struct apply { typedef vector13< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13 > type; }; }; template<> struct push_back_impl< aux::vector_tag<13> > { template< typename Vector, typename T > struct apply { typedef vector14< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<14> > { template< typename Vector > struct apply { typedef vector13< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12 > type; }; }; namespace aux { template<> struct v_at_impl<14> { template< typename V_ > struct result_ { typedef typename V_::item14 type; }; }; } template<> struct at_impl< aux::vector_tag<14> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<14> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<14> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<14> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<14> > { template< typename Vector > struct apply : long_<14> { }; }; template<> struct O1_size_impl< aux::vector_tag<14> > : size_impl< aux::vector_tag<14> > { }; template<> struct clear_impl< aux::vector_tag<14> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, 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 vector15 { typedef aux::vector_tag<15> tag; typedef vector15 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef void_ item15; typedef T14 back; typedef v_iter< type,0 > begin; typedef v_iter< type,15 > end; }; template<> struct push_front_impl< aux::vector_tag<14> > { template< typename Vector, typename T > struct apply { typedef vector15< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<15> > { template< typename Vector > struct apply { typedef vector14< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 > type; }; }; template<> struct push_back_impl< aux::vector_tag<14> > { template< typename Vector, typename T > struct apply { typedef vector15< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<15> > { template< typename Vector > struct apply { typedef vector14< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 > type; }; }; namespace aux { template<> struct v_at_impl<15> { template< typename V_ > struct result_ { typedef typename V_::item15 type; }; }; } template<> struct at_impl< aux::vector_tag<15> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<15> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<15> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<15> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<15> > { template< typename Vector > struct apply : long_<15> { }; }; template<> struct O1_size_impl< aux::vector_tag<15> > : size_impl< aux::vector_tag<15> > { }; template<> struct clear_impl< aux::vector_tag<15> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, 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 vector16 { typedef aux::vector_tag<16> tag; typedef vector16 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef void_ item16; typedef T15 back; typedef v_iter< type,0 > begin; typedef v_iter< type,16 > end; }; template<> struct push_front_impl< aux::vector_tag<15> > { template< typename Vector, typename T > struct apply { typedef vector16< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<16> > { template< typename Vector > struct apply { typedef vector15< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15 > type; }; }; template<> struct push_back_impl< aux::vector_tag<15> > { template< typename Vector, typename T > struct apply { typedef vector16< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<16> > { template< typename Vector > struct apply { typedef vector15< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14 > type; }; }; namespace aux { template<> struct v_at_impl<16> { template< typename V_ > struct result_ { typedef typename V_::item16 type; }; }; } template<> struct at_impl< aux::vector_tag<16> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<16> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<16> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<16> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<16> > { template< typename Vector > struct apply : long_<16> { }; }; template<> struct O1_size_impl< aux::vector_tag<16> > : size_impl< aux::vector_tag<16> > { }; template<> struct clear_impl< aux::vector_tag<16> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , 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 vector17 { typedef aux::vector_tag<17> tag; typedef vector17 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef void_ item17; typedef T16 back; typedef v_iter< type,0 > begin; typedef v_iter< type,17 > end; }; template<> struct push_front_impl< aux::vector_tag<16> > { template< typename Vector, typename T > struct apply { typedef vector17< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<17> > { template< typename Vector > struct apply { typedef vector16< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 > type; }; }; template<> struct push_back_impl< aux::vector_tag<16> > { template< typename Vector, typename T > struct apply { typedef vector17< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<17> > { template< typename Vector > struct apply { typedef vector16< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 > type; }; }; namespace aux { template<> struct v_at_impl<17> { template< typename V_ > struct result_ { typedef typename V_::item17 type; }; }; } template<> struct at_impl< aux::vector_tag<17> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<17> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<17> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<17> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<17> > { template< typename Vector > struct apply : long_<17> { }; }; template<> struct O1_size_impl< aux::vector_tag<17> > : size_impl< aux::vector_tag<17> > { }; template<> struct clear_impl< aux::vector_tag<17> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, 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 vector18 { typedef aux::vector_tag<18> tag; typedef vector18 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef void_ item18; typedef T17 back; typedef v_iter< type,0 > begin; typedef v_iter< type,18 > end; }; template<> struct push_front_impl< aux::vector_tag<17> > { template< typename Vector, typename T > struct apply { typedef vector18< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<18> > { template< typename Vector > struct apply { typedef vector17< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17 > type; }; }; template<> struct push_back_impl< aux::vector_tag<17> > { template< typename Vector, typename T > struct apply { typedef vector18< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<18> > { template< typename Vector > struct apply { typedef vector17< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16 > type; }; }; namespace aux { template<> struct v_at_impl<18> { template< typename V_ > struct result_ { typedef typename V_::item18 type; }; }; } template<> struct at_impl< aux::vector_tag<18> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<18> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<18> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<18> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<18> > { template< typename Vector > struct apply : long_<18> { }; }; template<> struct O1_size_impl< aux::vector_tag<18> > : size_impl< aux::vector_tag<18> > { }; template<> struct clear_impl< aux::vector_tag<18> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, 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 vector19 { typedef aux::vector_tag<19> tag; typedef vector19 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef void_ item19; typedef T18 back; typedef v_iter< type,0 > begin; typedef v_iter< type,19 > end; }; template<> struct push_front_impl< aux::vector_tag<18> > { template< typename Vector, typename T > struct apply { typedef vector19< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<19> > { template< typename Vector > struct apply { typedef vector18< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 > type; }; }; template<> struct push_back_impl< aux::vector_tag<18> > { template< typename Vector, typename T > struct apply { typedef vector19< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<19> > { template< typename Vector > struct apply { typedef vector18< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 > type; }; }; namespace aux { template<> struct v_at_impl<19> { template< typename V_ > struct result_ { typedef typename V_::item19 type; }; }; } template<> struct at_impl< aux::vector_tag<19> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<19> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<19> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<19> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<19> > { template< typename Vector > struct apply : long_<19> { }; }; template<> struct O1_size_impl< aux::vector_tag<19> > : size_impl< aux::vector_tag<19> > { }; template<> struct clear_impl< aux::vector_tag<19> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 , typename T10, typename T11, typename T12, typename T13, typename T14 , typename T15, typename T16, typename T17, typename T18, typename T19 > struct vector20 { typedef aux::vector_tag<20> tag; typedef vector20 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef void_ item20; typedef T19 back; typedef v_iter< type,0 > begin; typedef v_iter< type,20 > end; }; template<> struct push_front_impl< aux::vector_tag<19> > { template< typename Vector, typename T > struct apply { typedef vector20< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<20> > { template< typename Vector > struct apply { typedef vector19< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19 > type; }; }; template<> struct push_back_impl< aux::vector_tag<19> > { template< typename Vector, typename T > struct apply { typedef vector20< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<20> > { template< typename Vector > struct apply { typedef vector19< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18 > type; }; }; namespace aux { template<> struct v_at_impl<20> { template< typename V_ > struct result_ { typedef typename V_::item20 type; }; }; } template<> struct at_impl< aux::vector_tag<20> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<20> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<20> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<20> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<20> > { template< typename Vector > struct apply : long_<20> { }; }; template<> struct O1_size_impl< aux::vector_tag<20> > : size_impl< aux::vector_tag<20> > { }; template<> struct clear_impl< aux::vector_tag<20> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp000066400000000000000000000143311265471724600307020ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector20_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 vector11_c : vector11< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >, integral_c > { typedef vector11_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 vector12_c : vector12< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 > > { typedef vector12_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 vector13_c : vector13< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > > { typedef vector13_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 vector14_c : vector14< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >, integral_c > { typedef vector14_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 vector15_c : vector15< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 > > { typedef vector15_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 vector16_c : vector16< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > > { typedef vector16_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 vector17_c : vector17< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >, integral_c > { typedef vector17_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 vector18_c : vector18< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 > > { typedef vector18_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 vector19_c : vector19< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > > { typedef vector19_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 vector20_c : vector20< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >, integral_c > { typedef vector20_c type; typedef T value_type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp000066400000000000000000001724311265471724600304070ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector30.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 vector21 { typedef aux::vector_tag<21> tag; typedef vector21 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef void_ item21; typedef T20 back; typedef v_iter< type,0 > begin; typedef v_iter< type,21 > end; }; template<> struct push_front_impl< aux::vector_tag<20> > { template< typename Vector, typename T > struct apply { typedef vector21< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<21> > { template< typename Vector > struct apply { typedef vector20< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 > type; }; }; template<> struct push_back_impl< aux::vector_tag<20> > { template< typename Vector, typename T > struct apply { typedef vector21< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<21> > { template< typename Vector > struct apply { typedef vector20< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 > type; }; }; namespace aux { template<> struct v_at_impl<21> { template< typename V_ > struct result_ { typedef typename V_::item21 type; }; }; } template<> struct at_impl< aux::vector_tag<21> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<21> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<21> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<21> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<21> > { template< typename Vector > struct apply : long_<21> { }; }; template<> struct O1_size_impl< aux::vector_tag<21> > : size_impl< aux::vector_tag<21> > { }; template<> struct clear_impl< aux::vector_tag<21> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector22 { typedef aux::vector_tag<22> tag; typedef vector22 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef void_ item22; typedef T21 back; typedef v_iter< type,0 > begin; typedef v_iter< type,22 > end; }; template<> struct push_front_impl< aux::vector_tag<21> > { template< typename Vector, typename T > struct apply { typedef vector22< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<22> > { template< typename Vector > struct apply { typedef vector21< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21 > type; }; }; template<> struct push_back_impl< aux::vector_tag<21> > { template< typename Vector, typename T > struct apply { typedef vector22< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<22> > { template< typename Vector > struct apply { typedef vector21< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20 > type; }; }; namespace aux { template<> struct v_at_impl<22> { template< typename V_ > struct result_ { typedef typename V_::item22 type; }; }; } template<> struct at_impl< aux::vector_tag<22> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<22> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<22> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<22> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<22> > { template< typename Vector > struct apply : long_<22> { }; }; template<> struct O1_size_impl< aux::vector_tag<22> > : size_impl< aux::vector_tag<22> > { }; template<> struct clear_impl< aux::vector_tag<22> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector23 { typedef aux::vector_tag<23> tag; typedef vector23 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef void_ item23; typedef T22 back; typedef v_iter< type,0 > begin; typedef v_iter< type,23 > end; }; template<> struct push_front_impl< aux::vector_tag<22> > { template< typename Vector, typename T > struct apply { typedef vector23< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<23> > { template< typename Vector > struct apply { typedef vector22< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 > type; }; }; template<> struct push_back_impl< aux::vector_tag<22> > { template< typename Vector, typename T > struct apply { typedef vector23< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<23> > { template< typename Vector > struct apply { typedef vector22< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 > type; }; }; namespace aux { template<> struct v_at_impl<23> { template< typename V_ > struct result_ { typedef typename V_::item23 type; }; }; } template<> struct at_impl< aux::vector_tag<23> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<23> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<23> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<23> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<23> > { template< typename Vector > struct apply : long_<23> { }; }; template<> struct O1_size_impl< aux::vector_tag<23> > : size_impl< aux::vector_tag<23> > { }; template<> struct clear_impl< aux::vector_tag<23> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector24 { typedef aux::vector_tag<24> tag; typedef vector24 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef void_ item24; typedef T23 back; typedef v_iter< type,0 > begin; typedef v_iter< type,24 > end; }; template<> struct push_front_impl< aux::vector_tag<23> > { template< typename Vector, typename T > struct apply { typedef vector24< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<24> > { template< typename Vector > struct apply { typedef vector23< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23 > type; }; }; template<> struct push_back_impl< aux::vector_tag<23> > { template< typename Vector, typename T > struct apply { typedef vector24< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<24> > { template< typename Vector > struct apply { typedef vector23< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22 > type; }; }; namespace aux { template<> struct v_at_impl<24> { template< typename V_ > struct result_ { typedef typename V_::item24 type; }; }; } template<> struct at_impl< aux::vector_tag<24> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<24> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<24> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<24> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<24> > { template< typename Vector > struct apply : long_<24> { }; }; template<> struct O1_size_impl< aux::vector_tag<24> > : size_impl< aux::vector_tag<24> > { }; template<> struct clear_impl< aux::vector_tag<24> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector25 { typedef aux::vector_tag<25> tag; typedef vector25 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef void_ item25; typedef T24 back; typedef v_iter< type,0 > begin; typedef v_iter< type,25 > end; }; template<> struct push_front_impl< aux::vector_tag<24> > { template< typename Vector, typename T > struct apply { typedef vector25< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<25> > { template< typename Vector > struct apply { typedef vector24< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 > type; }; }; template<> struct push_back_impl< aux::vector_tag<24> > { template< typename Vector, typename T > struct apply { typedef vector25< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<25> > { template< typename Vector > struct apply { typedef vector24< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 > type; }; }; namespace aux { template<> struct v_at_impl<25> { template< typename V_ > struct result_ { typedef typename V_::item25 type; }; }; } template<> struct at_impl< aux::vector_tag<25> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<25> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<25> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<25> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<25> > { template< typename Vector > struct apply : long_<25> { }; }; template<> struct O1_size_impl< aux::vector_tag<25> > : size_impl< aux::vector_tag<25> > { }; template<> struct clear_impl< aux::vector_tag<25> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector26 { typedef aux::vector_tag<26> tag; typedef vector26 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef void_ item26; typedef T25 back; typedef v_iter< type,0 > begin; typedef v_iter< type,26 > end; }; template<> struct push_front_impl< aux::vector_tag<25> > { template< typename Vector, typename T > struct apply { typedef vector26< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<26> > { template< typename Vector > struct apply { typedef vector25< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25 > type; }; }; template<> struct push_back_impl< aux::vector_tag<25> > { template< typename Vector, typename T > struct apply { typedef vector26< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<26> > { template< typename Vector > struct apply { typedef vector25< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24 > type; }; }; namespace aux { template<> struct v_at_impl<26> { template< typename V_ > struct result_ { typedef typename V_::item26 type; }; }; } template<> struct at_impl< aux::vector_tag<26> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<26> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<26> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<26> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<26> > { template< typename Vector > struct apply : long_<26> { }; }; template<> struct O1_size_impl< aux::vector_tag<26> > : size_impl< aux::vector_tag<26> > { }; template<> struct clear_impl< aux::vector_tag<26> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector27 { typedef aux::vector_tag<27> tag; typedef vector27 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef void_ item27; typedef T26 back; typedef v_iter< type,0 > begin; typedef v_iter< type,27 > end; }; template<> struct push_front_impl< aux::vector_tag<26> > { template< typename Vector, typename T > struct apply { typedef vector27< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<27> > { template< typename Vector > struct apply { typedef vector26< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 > type; }; }; template<> struct push_back_impl< aux::vector_tag<26> > { template< typename Vector, typename T > struct apply { typedef vector27< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<27> > { template< typename Vector > struct apply { typedef vector26< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 > type; }; }; namespace aux { template<> struct v_at_impl<27> { template< typename V_ > struct result_ { typedef typename V_::item27 type; }; }; } template<> struct at_impl< aux::vector_tag<27> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<27> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<27> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<27> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<27> > { template< typename Vector > struct apply : long_<27> { }; }; template<> struct O1_size_impl< aux::vector_tag<27> > : size_impl< aux::vector_tag<27> > { }; template<> struct clear_impl< aux::vector_tag<27> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector28 { typedef aux::vector_tag<28> tag; typedef vector28 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef void_ item28; typedef T27 back; typedef v_iter< type,0 > begin; typedef v_iter< type,28 > end; }; template<> struct push_front_impl< aux::vector_tag<27> > { template< typename Vector, typename T > struct apply { typedef vector28< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<28> > { template< typename Vector > struct apply { typedef vector27< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27 > type; }; }; template<> struct push_back_impl< aux::vector_tag<27> > { template< typename Vector, typename T > struct apply { typedef vector28< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<28> > { template< typename Vector > struct apply { typedef vector27< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26 > type; }; }; namespace aux { template<> struct v_at_impl<28> { template< typename V_ > struct result_ { typedef typename V_::item28 type; }; }; } template<> struct at_impl< aux::vector_tag<28> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<28> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<28> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<28> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<28> > { template< typename Vector > struct apply : long_<28> { }; }; template<> struct O1_size_impl< aux::vector_tag<28> > : size_impl< aux::vector_tag<28> > { }; template<> struct clear_impl< aux::vector_tag<28> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector29 { typedef aux::vector_tag<29> tag; typedef vector29 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef void_ item29; typedef T28 back; typedef v_iter< type,0 > begin; typedef v_iter< type,29 > end; }; template<> struct push_front_impl< aux::vector_tag<28> > { template< typename Vector, typename T > struct apply { typedef vector29< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<29> > { template< typename Vector > struct apply { typedef vector28< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 > type; }; }; template<> struct push_back_impl< aux::vector_tag<28> > { template< typename Vector, typename T > struct apply { typedef vector29< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<29> > { template< typename Vector > struct apply { typedef vector28< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 > type; }; }; namespace aux { template<> struct v_at_impl<29> { template< typename V_ > struct result_ { typedef typename V_::item29 type; }; }; } template<> struct at_impl< aux::vector_tag<29> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<29> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<29> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<29> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<29> > { template< typename Vector > struct apply : long_<29> { }; }; template<> struct O1_size_impl< aux::vector_tag<29> > : size_impl< aux::vector_tag<29> > { }; template<> struct clear_impl< aux::vector_tag<29> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector30 { typedef aux::vector_tag<30> tag; typedef vector30 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef void_ item30; typedef T29 back; typedef v_iter< type,0 > begin; typedef v_iter< type,30 > end; }; template<> struct push_front_impl< aux::vector_tag<29> > { template< typename Vector, typename T > struct apply { typedef vector30< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<30> > { template< typename Vector > struct apply { typedef vector29< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29 > type; }; }; template<> struct push_back_impl< aux::vector_tag<29> > { template< typename Vector, typename T > struct apply { typedef vector30< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<30> > { template< typename Vector > struct apply { typedef vector29< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28 > type; }; }; namespace aux { template<> struct v_at_impl<30> { template< typename V_ > struct result_ { typedef typename V_::item30 type; }; }; } template<> struct at_impl< aux::vector_tag<30> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<30> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<30> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<30> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<30> > { template< typename Vector > struct apply : long_<30> { }; }; template<> struct O1_size_impl< aux::vector_tag<30> > : size_impl< aux::vector_tag<30> > { }; template<> struct clear_impl< aux::vector_tag<30> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp000066400000000000000000000224451265471724600307100ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector30_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 vector21_c : vector21< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 > > { typedef vector21_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 vector22_c : vector22< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > > { typedef vector22_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 vector23_c : vector23< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >, integral_c > { typedef vector23_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 vector24_c : vector24< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 > > { typedef vector24_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 vector25_c : vector25< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > > { typedef vector25_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 vector26_c : vector26< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >, integral_c > { typedef vector26_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 vector27_c : vector27< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 > > { typedef vector27_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 vector28_c : vector28< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > > { typedef vector28_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 vector29_c : vector29< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >, integral_c > { typedef vector29_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 vector30_c : vector30< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 > > { typedef vector30_c type; typedef T value_type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp000066400000000000000000002326151265471724600304110ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector40.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 vector31 { typedef aux::vector_tag<31> tag; typedef vector31 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef void_ item31; typedef T30 back; typedef v_iter< type,0 > begin; typedef v_iter< type,31 > end; }; template<> struct push_front_impl< aux::vector_tag<30> > { template< typename Vector, typename T > struct apply { typedef vector31< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<31> > { template< typename Vector > struct apply { typedef vector30< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 > type; }; }; template<> struct push_back_impl< aux::vector_tag<30> > { template< typename Vector, typename T > struct apply { typedef vector31< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<31> > { template< typename Vector > struct apply { typedef vector30< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 > type; }; }; namespace aux { template<> struct v_at_impl<31> { template< typename V_ > struct result_ { typedef typename V_::item31 type; }; }; } template<> struct at_impl< aux::vector_tag<31> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<31> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<31> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<31> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<31> > { template< typename Vector > struct apply : long_<31> { }; }; template<> struct O1_size_impl< aux::vector_tag<31> > : size_impl< aux::vector_tag<31> > { }; template<> struct clear_impl< aux::vector_tag<31> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector32 { typedef aux::vector_tag<32> tag; typedef vector32 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef void_ item32; typedef T31 back; typedef v_iter< type,0 > begin; typedef v_iter< type,32 > end; }; template<> struct push_front_impl< aux::vector_tag<31> > { template< typename Vector, typename T > struct apply { typedef vector32< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<32> > { template< typename Vector > struct apply { typedef vector31< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31 > type; }; }; template<> struct push_back_impl< aux::vector_tag<31> > { template< typename Vector, typename T > struct apply { typedef vector32< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<32> > { template< typename Vector > struct apply { typedef vector31< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30 > type; }; }; namespace aux { template<> struct v_at_impl<32> { template< typename V_ > struct result_ { typedef typename V_::item32 type; }; }; } template<> struct at_impl< aux::vector_tag<32> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<32> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<32> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<32> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<32> > { template< typename Vector > struct apply : long_<32> { }; }; template<> struct O1_size_impl< aux::vector_tag<32> > : size_impl< aux::vector_tag<32> > { }; template<> struct clear_impl< aux::vector_tag<32> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector33 { typedef aux::vector_tag<33> tag; typedef vector33 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef void_ item33; typedef T32 back; typedef v_iter< type,0 > begin; typedef v_iter< type,33 > end; }; template<> struct push_front_impl< aux::vector_tag<32> > { template< typename Vector, typename T > struct apply { typedef vector33< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<33> > { template< typename Vector > struct apply { typedef vector32< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 > type; }; }; template<> struct push_back_impl< aux::vector_tag<32> > { template< typename Vector, typename T > struct apply { typedef vector33< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<33> > { template< typename Vector > struct apply { typedef vector32< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 > type; }; }; namespace aux { template<> struct v_at_impl<33> { template< typename V_ > struct result_ { typedef typename V_::item33 type; }; }; } template<> struct at_impl< aux::vector_tag<33> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<33> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<33> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<33> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<33> > { template< typename Vector > struct apply : long_<33> { }; }; template<> struct O1_size_impl< aux::vector_tag<33> > : size_impl< aux::vector_tag<33> > { }; template<> struct clear_impl< aux::vector_tag<33> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector34 { typedef aux::vector_tag<34> tag; typedef vector34 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef void_ item34; typedef T33 back; typedef v_iter< type,0 > begin; typedef v_iter< type,34 > end; }; template<> struct push_front_impl< aux::vector_tag<33> > { template< typename Vector, typename T > struct apply { typedef vector34< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<34> > { template< typename Vector > struct apply { typedef vector33< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33 > type; }; }; template<> struct push_back_impl< aux::vector_tag<33> > { template< typename Vector, typename T > struct apply { typedef vector34< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<34> > { template< typename Vector > struct apply { typedef vector33< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32 > type; }; }; namespace aux { template<> struct v_at_impl<34> { template< typename V_ > struct result_ { typedef typename V_::item34 type; }; }; } template<> struct at_impl< aux::vector_tag<34> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<34> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<34> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<34> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<34> > { template< typename Vector > struct apply : long_<34> { }; }; template<> struct O1_size_impl< aux::vector_tag<34> > : size_impl< aux::vector_tag<34> > { }; template<> struct clear_impl< aux::vector_tag<34> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector35 { typedef aux::vector_tag<35> tag; typedef vector35 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef void_ item35; typedef T34 back; typedef v_iter< type,0 > begin; typedef v_iter< type,35 > end; }; template<> struct push_front_impl< aux::vector_tag<34> > { template< typename Vector, typename T > struct apply { typedef vector35< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<35> > { template< typename Vector > struct apply { typedef vector34< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 > type; }; }; template<> struct push_back_impl< aux::vector_tag<34> > { template< typename Vector, typename T > struct apply { typedef vector35< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<35> > { template< typename Vector > struct apply { typedef vector34< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 > type; }; }; namespace aux { template<> struct v_at_impl<35> { template< typename V_ > struct result_ { typedef typename V_::item35 type; }; }; } template<> struct at_impl< aux::vector_tag<35> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<35> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<35> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<35> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<35> > { template< typename Vector > struct apply : long_<35> { }; }; template<> struct O1_size_impl< aux::vector_tag<35> > : size_impl< aux::vector_tag<35> > { }; template<> struct clear_impl< aux::vector_tag<35> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector36 { typedef aux::vector_tag<36> tag; typedef vector36 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef void_ item36; typedef T35 back; typedef v_iter< type,0 > begin; typedef v_iter< type,36 > end; }; template<> struct push_front_impl< aux::vector_tag<35> > { template< typename Vector, typename T > struct apply { typedef vector36< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<36> > { template< typename Vector > struct apply { typedef vector35< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35 > type; }; }; template<> struct push_back_impl< aux::vector_tag<35> > { template< typename Vector, typename T > struct apply { typedef vector36< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<36> > { template< typename Vector > struct apply { typedef vector35< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34 > type; }; }; namespace aux { template<> struct v_at_impl<36> { template< typename V_ > struct result_ { typedef typename V_::item36 type; }; }; } template<> struct at_impl< aux::vector_tag<36> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<36> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<36> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<36> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<36> > { template< typename Vector > struct apply : long_<36> { }; }; template<> struct O1_size_impl< aux::vector_tag<36> > : size_impl< aux::vector_tag<36> > { }; template<> struct clear_impl< aux::vector_tag<36> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector37 { typedef aux::vector_tag<37> tag; typedef vector37 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef void_ item37; typedef T36 back; typedef v_iter< type,0 > begin; typedef v_iter< type,37 > end; }; template<> struct push_front_impl< aux::vector_tag<36> > { template< typename Vector, typename T > struct apply { typedef vector37< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<37> > { template< typename Vector > struct apply { typedef vector36< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 > type; }; }; template<> struct push_back_impl< aux::vector_tag<36> > { template< typename Vector, typename T > struct apply { typedef vector37< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<37> > { template< typename Vector > struct apply { typedef vector36< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 > type; }; }; namespace aux { template<> struct v_at_impl<37> { template< typename V_ > struct result_ { typedef typename V_::item37 type; }; }; } template<> struct at_impl< aux::vector_tag<37> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<37> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<37> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<37> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<37> > { template< typename Vector > struct apply : long_<37> { }; }; template<> struct O1_size_impl< aux::vector_tag<37> > : size_impl< aux::vector_tag<37> > { }; template<> struct clear_impl< aux::vector_tag<37> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector38 { typedef aux::vector_tag<38> tag; typedef vector38 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef void_ item38; typedef T37 back; typedef v_iter< type,0 > begin; typedef v_iter< type,38 > end; }; template<> struct push_front_impl< aux::vector_tag<37> > { template< typename Vector, typename T > struct apply { typedef vector38< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<38> > { template< typename Vector > struct apply { typedef vector37< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37 > type; }; }; template<> struct push_back_impl< aux::vector_tag<37> > { template< typename Vector, typename T > struct apply { typedef vector38< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<38> > { template< typename Vector > struct apply { typedef vector37< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36 > type; }; }; namespace aux { template<> struct v_at_impl<38> { template< typename V_ > struct result_ { typedef typename V_::item38 type; }; }; } template<> struct at_impl< aux::vector_tag<38> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<38> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<38> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<38> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<38> > { template< typename Vector > struct apply : long_<38> { }; }; template<> struct O1_size_impl< aux::vector_tag<38> > : size_impl< aux::vector_tag<38> > { }; template<> struct clear_impl< aux::vector_tag<38> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector39 { typedef aux::vector_tag<39> tag; typedef vector39 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef void_ item39; typedef T38 back; typedef v_iter< type,0 > begin; typedef v_iter< type,39 > end; }; template<> struct push_front_impl< aux::vector_tag<38> > { template< typename Vector, typename T > struct apply { typedef vector39< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<39> > { template< typename Vector > struct apply { typedef vector38< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 > type; }; }; template<> struct push_back_impl< aux::vector_tag<38> > { template< typename Vector, typename T > struct apply { typedef vector39< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<39> > { template< typename Vector > struct apply { typedef vector38< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 > type; }; }; namespace aux { template<> struct v_at_impl<39> { template< typename V_ > struct result_ { typedef typename V_::item39 type; }; }; } template<> struct at_impl< aux::vector_tag<39> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<39> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<39> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<39> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<39> > { template< typename Vector > struct apply : long_<39> { }; }; template<> struct O1_size_impl< aux::vector_tag<39> > : size_impl< aux::vector_tag<39> > { }; template<> struct clear_impl< aux::vector_tag<39> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector40 { typedef aux::vector_tag<40> tag; typedef vector40 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef void_ item40; typedef T39 back; typedef v_iter< type,0 > begin; typedef v_iter< type,40 > end; }; template<> struct push_front_impl< aux::vector_tag<39> > { template< typename Vector, typename T > struct apply { typedef vector40< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<40> > { template< typename Vector > struct apply { typedef vector39< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39 > type; }; }; template<> struct push_back_impl< aux::vector_tag<39> > { template< typename Vector, typename T > struct apply { typedef vector40< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<40> > { template< typename Vector > struct apply { typedef vector39< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38 > type; }; }; namespace aux { template<> struct v_at_impl<40> { template< typename V_ > struct result_ { typedef typename V_::item40 type; }; }; } template<> struct at_impl< aux::vector_tag<40> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<40> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<40> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<40> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<40> > { template< typename Vector > struct apply : long_<40> { }; }; template<> struct O1_size_impl< aux::vector_tag<40> > : size_impl< aux::vector_tag<40> > { }; template<> struct clear_impl< aux::vector_tag<40> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp000066400000000000000000000305601265471724600307060ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector40_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 vector31_c : vector31< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > > { typedef vector31_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 vector32_c : vector32< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >, integral_c > { typedef vector32_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 vector33_c : vector33< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 > > { typedef vector33_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 vector34_c : vector34< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > > { typedef vector34_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 vector35_c : vector35< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >, integral_c > { typedef vector35_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 vector36_c : vector36< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 > > { typedef vector36_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 vector37_c : vector37< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > > { typedef vector37_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 vector38_c : vector38< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >, integral_c > { typedef vector38_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 vector39_c : vector39< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 > > { typedef vector39_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 vector40_c : vector40< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > > { typedef vector40_c type; typedef T value_type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp000066400000000000000000002730011265471724600304040ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector50.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 vector41 { typedef aux::vector_tag<41> tag; typedef vector41 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef void_ item41; typedef T40 back; typedef v_iter< type,0 > begin; typedef v_iter< type,41 > end; }; template<> struct push_front_impl< aux::vector_tag<40> > { template< typename Vector, typename T > struct apply { typedef vector41< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<41> > { template< typename Vector > struct apply { typedef vector40< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 > type; }; }; template<> struct push_back_impl< aux::vector_tag<40> > { template< typename Vector, typename T > struct apply { typedef vector41< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<41> > { template< typename Vector > struct apply { typedef vector40< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 > type; }; }; namespace aux { template<> struct v_at_impl<41> { template< typename V_ > struct result_ { typedef typename V_::item41 type; }; }; } template<> struct at_impl< aux::vector_tag<41> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<41> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<41> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<41> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<41> > { template< typename Vector > struct apply : long_<41> { }; }; template<> struct O1_size_impl< aux::vector_tag<41> > : size_impl< aux::vector_tag<41> > { }; template<> struct clear_impl< aux::vector_tag<41> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector42 { typedef aux::vector_tag<42> tag; typedef vector42 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef void_ item42; typedef T41 back; typedef v_iter< type,0 > begin; typedef v_iter< type,42 > end; }; template<> struct push_front_impl< aux::vector_tag<41> > { template< typename Vector, typename T > struct apply { typedef vector42< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<42> > { template< typename Vector > struct apply { typedef vector41< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41 > type; }; }; template<> struct push_back_impl< aux::vector_tag<41> > { template< typename Vector, typename T > struct apply { typedef vector42< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<42> > { template< typename Vector > struct apply { typedef vector41< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40 > type; }; }; namespace aux { template<> struct v_at_impl<42> { template< typename V_ > struct result_ { typedef typename V_::item42 type; }; }; } template<> struct at_impl< aux::vector_tag<42> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<42> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<42> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<42> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<42> > { template< typename Vector > struct apply : long_<42> { }; }; template<> struct O1_size_impl< aux::vector_tag<42> > : size_impl< aux::vector_tag<42> > { }; template<> struct clear_impl< aux::vector_tag<42> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector43 { typedef aux::vector_tag<43> tag; typedef vector43 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef T42 item42; typedef void_ item43; typedef T42 back; typedef v_iter< type,0 > begin; typedef v_iter< type,43 > end; }; template<> struct push_front_impl< aux::vector_tag<42> > { template< typename Vector, typename T > struct apply { typedef vector43< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<43> > { template< typename Vector > struct apply { typedef vector42< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41, typename Vector::item42 > type; }; }; template<> struct push_back_impl< aux::vector_tag<42> > { template< typename Vector, typename T > struct apply { typedef vector43< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<43> > { template< typename Vector > struct apply { typedef vector42< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 > type; }; }; namespace aux { template<> struct v_at_impl<43> { template< typename V_ > struct result_ { typedef typename V_::item43 type; }; }; } template<> struct at_impl< aux::vector_tag<43> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<43> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<43> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<43> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<43> > { template< typename Vector > struct apply : long_<43> { }; }; template<> struct O1_size_impl< aux::vector_tag<43> > : size_impl< aux::vector_tag<43> > { }; template<> struct clear_impl< aux::vector_tag<43> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector44 { typedef aux::vector_tag<44> tag; typedef vector44 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef T42 item42; typedef T43 item43; typedef void_ item44; typedef T43 back; typedef v_iter< type,0 > begin; typedef v_iter< type,44 > end; }; template<> struct push_front_impl< aux::vector_tag<43> > { template< typename Vector, typename T > struct apply { typedef vector44< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<44> > { template< typename Vector > struct apply { typedef vector43< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41, typename Vector::item42 , typename Vector::item43 > type; }; }; template<> struct push_back_impl< aux::vector_tag<43> > { template< typename Vector, typename T > struct apply { typedef vector44< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<44> > { template< typename Vector > struct apply { typedef vector43< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42 > type; }; }; namespace aux { template<> struct v_at_impl<44> { template< typename V_ > struct result_ { typedef typename V_::item44 type; }; }; } template<> struct at_impl< aux::vector_tag<44> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<44> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<44> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<44> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<44> > { template< typename Vector > struct apply : long_<44> { }; }; template<> struct O1_size_impl< aux::vector_tag<44> > : size_impl< aux::vector_tag<44> > { }; template<> struct clear_impl< aux::vector_tag<44> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector45 { typedef aux::vector_tag<45> tag; typedef vector45 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef T42 item42; typedef T43 item43; typedef T44 item44; typedef void_ item45; typedef T44 back; typedef v_iter< type,0 > begin; typedef v_iter< type,45 > end; }; template<> struct push_front_impl< aux::vector_tag<44> > { template< typename Vector, typename T > struct apply { typedef vector45< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<45> > { template< typename Vector > struct apply { typedef vector44< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41, typename Vector::item42 , typename Vector::item43, typename Vector::item44 > type; }; }; template<> struct push_back_impl< aux::vector_tag<44> > { template< typename Vector, typename T > struct apply { typedef vector45< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<45> > { template< typename Vector > struct apply { typedef vector44< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 > type; }; }; namespace aux { template<> struct v_at_impl<45> { template< typename V_ > struct result_ { typedef typename V_::item45 type; }; }; } template<> struct at_impl< aux::vector_tag<45> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<45> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<45> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<45> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<45> > { template< typename Vector > struct apply : long_<45> { }; }; template<> struct O1_size_impl< aux::vector_tag<45> > : size_impl< aux::vector_tag<45> > { }; template<> struct clear_impl< aux::vector_tag<45> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector46 { typedef aux::vector_tag<46> tag; typedef vector46 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef T42 item42; typedef T43 item43; typedef T44 item44; typedef T45 item45; typedef void_ item46; typedef T45 back; typedef v_iter< type,0 > begin; typedef v_iter< type,46 > end; }; template<> struct push_front_impl< aux::vector_tag<45> > { template< typename Vector, typename T > struct apply { typedef vector46< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<46> > { template< typename Vector > struct apply { typedef vector45< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41, typename Vector::item42 , typename Vector::item43, typename Vector::item44 , typename Vector::item45 > type; }; }; template<> struct push_back_impl< aux::vector_tag<45> > { template< typename Vector, typename T > struct apply { typedef vector46< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<46> > { template< typename Vector > struct apply { typedef vector45< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44 > type; }; }; namespace aux { template<> struct v_at_impl<46> { template< typename V_ > struct result_ { typedef typename V_::item46 type; }; }; } template<> struct at_impl< aux::vector_tag<46> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<46> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<46> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<46> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<46> > { template< typename Vector > struct apply : long_<46> { }; }; template<> struct O1_size_impl< aux::vector_tag<46> > : size_impl< aux::vector_tag<46> > { }; template<> struct clear_impl< aux::vector_tag<46> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector47 { typedef aux::vector_tag<47> tag; typedef vector47 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef T42 item42; typedef T43 item43; typedef T44 item44; typedef T45 item45; typedef T46 item46; typedef void_ item47; typedef T46 back; typedef v_iter< type,0 > begin; typedef v_iter< type,47 > end; }; template<> struct push_front_impl< aux::vector_tag<46> > { template< typename Vector, typename T > struct apply { typedef vector47< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<47> > { template< typename Vector > struct apply { typedef vector46< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41, typename Vector::item42 , typename Vector::item43, typename Vector::item44 , typename Vector::item45, typename Vector::item46 > type; }; }; template<> struct push_back_impl< aux::vector_tag<46> > { template< typename Vector, typename T > struct apply { typedef vector47< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<47> > { template< typename Vector > struct apply { typedef vector46< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 > type; }; }; namespace aux { template<> struct v_at_impl<47> { template< typename V_ > struct result_ { typedef typename V_::item47 type; }; }; } template<> struct at_impl< aux::vector_tag<47> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<47> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<47> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<47> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<47> > { template< typename Vector > struct apply : long_<47> { }; }; template<> struct O1_size_impl< aux::vector_tag<47> > : size_impl< aux::vector_tag<47> > { }; template<> struct clear_impl< aux::vector_tag<47> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector48 { typedef aux::vector_tag<48> tag; typedef vector48 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef T42 item42; typedef T43 item43; typedef T44 item44; typedef T45 item45; typedef T46 item46; typedef T47 item47; typedef void_ item48; typedef T47 back; typedef v_iter< type,0 > begin; typedef v_iter< type,48 > end; }; template<> struct push_front_impl< aux::vector_tag<47> > { template< typename Vector, typename T > struct apply { typedef vector48< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<48> > { template< typename Vector > struct apply { typedef vector47< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41, typename Vector::item42 , typename Vector::item43, typename Vector::item44 , typename Vector::item45, typename Vector::item46 , typename Vector::item47 > type; }; }; template<> struct push_back_impl< aux::vector_tag<47> > { template< typename Vector, typename T > struct apply { typedef vector48< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<48> > { template< typename Vector > struct apply { typedef vector47< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46 > type; }; }; namespace aux { template<> struct v_at_impl<48> { template< typename V_ > struct result_ { typedef typename V_::item48 type; }; }; } template<> struct at_impl< aux::vector_tag<48> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<48> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<48> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<48> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<48> > { template< typename Vector > struct apply : long_<48> { }; }; template<> struct O1_size_impl< aux::vector_tag<48> > : size_impl< aux::vector_tag<48> > { }; template<> struct clear_impl< aux::vector_tag<48> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector49 { typedef aux::vector_tag<49> tag; typedef vector49 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef T42 item42; typedef T43 item43; typedef T44 item44; typedef T45 item45; typedef T46 item46; typedef T47 item47; typedef T48 item48; typedef void_ item49; typedef T48 back; typedef v_iter< type,0 > begin; typedef v_iter< type,49 > end; }; template<> struct push_front_impl< aux::vector_tag<48> > { template< typename Vector, typename T > struct apply { typedef vector49< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46, typename Vector::item47 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<49> > { template< typename Vector > struct apply { typedef vector48< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41, typename Vector::item42 , typename Vector::item43, typename Vector::item44 , typename Vector::item45, typename Vector::item46 , typename Vector::item47, typename Vector::item48 > type; }; }; template<> struct push_back_impl< aux::vector_tag<48> > { template< typename Vector, typename T > struct apply { typedef vector49< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46, typename Vector::item47 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<49> > { template< typename Vector > struct apply { typedef vector48< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46, typename Vector::item47 > type; }; }; namespace aux { template<> struct v_at_impl<49> { template< typename V_ > struct result_ { typedef typename V_::item49 type; }; }; } template<> struct at_impl< aux::vector_tag<49> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<49> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<49> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<49> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<49> > { template< typename Vector > struct apply : long_<49> { }; }; template<> struct O1_size_impl< aux::vector_tag<49> > : size_impl< aux::vector_tag<49> > { }; template<> struct clear_impl< aux::vector_tag<49> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector50 { typedef aux::vector_tag<50> tag; typedef vector50 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef T42 item42; typedef T43 item43; typedef T44 item44; typedef T45 item45; typedef T46 item46; typedef T47 item47; typedef T48 item48; typedef T49 item49; typedef void_ item50; typedef T49 back; typedef v_iter< type,0 > begin; typedef v_iter< type,50 > end; }; template<> struct push_front_impl< aux::vector_tag<49> > { template< typename Vector, typename T > struct apply { typedef vector50< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46, typename Vector::item47 , typename Vector::item48 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<50> > { template< typename Vector > struct apply { typedef vector49< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41, typename Vector::item42 , typename Vector::item43, typename Vector::item44 , typename Vector::item45, typename Vector::item46 , typename Vector::item47, typename Vector::item48 , typename Vector::item49 > type; }; }; template<> struct push_back_impl< aux::vector_tag<49> > { template< typename Vector, typename T > struct apply { typedef vector50< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46, typename Vector::item47 , typename Vector::item48 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<50> > { template< typename Vector > struct apply { typedef vector49< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46, typename Vector::item47 , typename Vector::item48 > type; }; }; namespace aux { template<> struct v_at_impl<50> { template< typename V_ > struct result_ { typedef typename V_::item50 type; }; }; } template<> struct at_impl< aux::vector_tag<50> > { template< typename V_, typename N > struct apply { typedef typename aux::v_at_impl ::template result_::type type; }; }; template<> struct front_impl< aux::vector_tag<50> > { template< typename Vector > struct apply { typedef typename Vector::item0 type; }; }; template<> struct back_impl< aux::vector_tag<50> > { template< typename Vector > struct apply { typedef typename Vector::back type; }; }; template<> struct empty_impl< aux::vector_tag<50> > { template< typename Vector > struct apply : false_ { }; }; template<> struct size_impl< aux::vector_tag<50> > { template< typename Vector > struct apply : long_<50> { }; }; template<> struct O1_size_impl< aux::vector_tag<50> > : size_impl< aux::vector_tag<50> > { }; template<> struct clear_impl< aux::vector_tag<50> > { template< typename Vector > struct apply { typedef vector0<> type; }; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp000066400000000000000000000367031265471724600307140ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector50_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 vector41_c : vector41< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >, integral_c > { typedef vector41_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 vector42_c : vector42< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 > > { typedef vector42_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 vector43_c : vector43< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > > { typedef vector43_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 vector44_c : vector44< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >, integral_c > { typedef vector44_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 vector45_c : vector45< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > , integral_c< T,C43 >, integral_c< T,C44 > > { typedef vector45_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 vector46_c : vector46< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 > > { typedef vector46_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 vector47_c : vector47< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >, integral_c > { typedef vector47_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 vector48_c : vector48< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 > , integral_c< T,C46 >, integral_c< T,C47 > > { typedef vector48_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 vector49_c : vector49< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 > , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 > > { typedef vector49_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 vector50_c : vector50< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 > , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 >, integral_c > { typedef vector50_c type; typedef T value_type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/plain/000077500000000000000000000000001265471724600256575ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp000066400000000000000000000441651265471724600300450ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector10.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename V > struct v_at< V,0 > { typedef typename V::item0 type; }; template< typename T0 > struct vector1 { typedef aux::vector_tag<1> tag; typedef vector1 type; typedef T0 item0; typedef void_ item1; typedef T0 back; typedef v_iter< type,0 > begin; typedef v_iter< type,1 > end; }; template<> struct push_front_impl< aux::vector_tag<0> > { template< typename Vector, typename T > struct apply { typedef vector1< T > type; }; }; template<> struct pop_front_impl< aux::vector_tag<1> > { template< typename Vector > struct apply { typedef vector0< > type; }; }; template<> struct push_back_impl< aux::vector_tag<0> > { template< typename Vector, typename T > struct apply { typedef vector1< T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<1> > { template< typename Vector > struct apply { typedef vector0< > type; }; }; template< typename V > struct v_at< V,1 > { typedef typename V::item1 type; }; template< typename T0, typename T1 > struct vector2 { typedef aux::vector_tag<2> tag; typedef vector2 type; typedef T0 item0; typedef T1 item1; typedef void_ item2; typedef T1 back; typedef v_iter< type,0 > begin; typedef v_iter< type,2 > end; }; template<> struct push_front_impl< aux::vector_tag<1> > { template< typename Vector, typename T > struct apply { typedef vector2< T , typename Vector::item0 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<2> > { template< typename Vector > struct apply { typedef vector1< typename Vector::item1 > type; }; }; template<> struct push_back_impl< aux::vector_tag<1> > { template< typename Vector, typename T > struct apply { typedef vector2< typename Vector::item0 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<2> > { template< typename Vector > struct apply { typedef vector1< typename Vector::item0 > type; }; }; template< typename V > struct v_at< V,2 > { typedef typename V::item2 type; }; template< typename T0, typename T1, typename T2 > struct vector3 { typedef aux::vector_tag<3> tag; typedef vector3 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef void_ item3; typedef T2 back; typedef v_iter< type,0 > begin; typedef v_iter< type,3 > end; }; template<> struct push_front_impl< aux::vector_tag<2> > { template< typename Vector, typename T > struct apply { typedef vector3< T , typename Vector::item0, typename Vector::item1 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<3> > { template< typename Vector > struct apply { typedef vector2< typename Vector::item1, typename Vector::item2 > type; }; }; template<> struct push_back_impl< aux::vector_tag<2> > { template< typename Vector, typename T > struct apply { typedef vector3< typename Vector::item0, typename Vector::item1 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<3> > { template< typename Vector > struct apply { typedef vector2< typename Vector::item0, typename Vector::item1 > type; }; }; template< typename V > struct v_at< V,3 > { typedef typename V::item3 type; }; template< typename T0, typename T1, typename T2, typename T3 > struct vector4 { typedef aux::vector_tag<4> tag; typedef vector4 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef void_ item4; typedef T3 back; typedef v_iter< type,0 > begin; typedef v_iter< type,4 > end; }; template<> struct push_front_impl< aux::vector_tag<3> > { template< typename Vector, typename T > struct apply { typedef vector4< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<4> > { template< typename Vector > struct apply { typedef vector3< typename Vector::item1, typename Vector::item2 , typename Vector::item3 > type; }; }; template<> struct push_back_impl< aux::vector_tag<3> > { template< typename Vector, typename T > struct apply { typedef vector4< typename Vector::item0, typename Vector::item1 , typename Vector::item2 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<4> > { template< typename Vector > struct apply { typedef vector3< typename Vector::item0, typename Vector::item1 , typename Vector::item2 > type; }; }; template< typename V > struct v_at< V,4 > { typedef typename V::item4 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 > struct vector5 { typedef aux::vector_tag<5> tag; typedef vector5 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef void_ item5; typedef T4 back; typedef v_iter< type,0 > begin; typedef v_iter< type,5 > end; }; template<> struct push_front_impl< aux::vector_tag<4> > { template< typename Vector, typename T > struct apply { typedef vector5< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<5> > { template< typename Vector > struct apply { typedef vector4< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 > type; }; }; template<> struct push_back_impl< aux::vector_tag<4> > { template< typename Vector, typename T > struct apply { typedef vector5< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<5> > { template< typename Vector > struct apply { typedef vector4< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 > type; }; }; template< typename V > struct v_at< V,5 > { typedef typename V::item5 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct vector6 { typedef aux::vector_tag<6> tag; typedef vector6 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef void_ item6; typedef T5 back; typedef v_iter< type,0 > begin; typedef v_iter< type,6 > end; }; template<> struct push_front_impl< aux::vector_tag<5> > { template< typename Vector, typename T > struct apply { typedef vector6< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<6> > { template< typename Vector > struct apply { typedef vector5< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5 > type; }; }; template<> struct push_back_impl< aux::vector_tag<5> > { template< typename Vector, typename T > struct apply { typedef vector6< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<6> > { template< typename Vector > struct apply { typedef vector5< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4 > type; }; }; template< typename V > struct v_at< V,6 > { typedef typename V::item6 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6 > struct vector7 { typedef aux::vector_tag<7> tag; typedef vector7 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef void_ item7; typedef T6 back; typedef v_iter< type,0 > begin; typedef v_iter< type,7 > end; }; template<> struct push_front_impl< aux::vector_tag<6> > { template< typename Vector, typename T > struct apply { typedef vector7< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<7> > { template< typename Vector > struct apply { typedef vector6< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 > type; }; }; template<> struct push_back_impl< aux::vector_tag<6> > { template< typename Vector, typename T > struct apply { typedef vector7< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<7> > { template< typename Vector > struct apply { typedef vector6< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 > type; }; }; template< typename V > struct v_at< V,7 > { typedef typename V::item7 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7 > struct vector8 { typedef aux::vector_tag<8> tag; typedef vector8 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef void_ item8; typedef T7 back; typedef v_iter< type,0 > begin; typedef v_iter< type,8 > end; }; template<> struct push_front_impl< aux::vector_tag<7> > { template< typename Vector, typename T > struct apply { typedef vector8< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<8> > { template< typename Vector > struct apply { typedef vector7< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7 > type; }; }; template<> struct push_back_impl< aux::vector_tag<7> > { template< typename Vector, typename T > struct apply { typedef vector8< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<8> > { template< typename Vector > struct apply { typedef vector7< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6 > type; }; }; template< typename V > struct v_at< V,8 > { typedef typename V::item8 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8 > struct vector9 { typedef aux::vector_tag<9> tag; typedef vector9 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef void_ item9; typedef T8 back; typedef v_iter< type,0 > begin; typedef v_iter< type,9 > end; }; template<> struct push_front_impl< aux::vector_tag<8> > { template< typename Vector, typename T > struct apply { typedef vector9< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<9> > { template< typename Vector > struct apply { typedef vector8< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 > type; }; }; template<> struct push_back_impl< aux::vector_tag<8> > { template< typename Vector, typename T > struct apply { typedef vector9< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<9> > { template< typename Vector > struct apply { typedef vector8< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 > type; }; }; template< typename V > struct v_at< V,9 > { typedef typename V::item9 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 > struct vector10 { typedef aux::vector_tag<10> tag; typedef vector10 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef void_ item10; typedef T9 back; typedef v_iter< type,0 > begin; typedef v_iter< type,10 > end; }; template<> struct push_front_impl< aux::vector_tag<9> > { template< typename Vector, typename T > struct apply { typedef vector10< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<10> > { template< typename Vector > struct apply { typedef vector9< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9 > type; }; }; template<> struct push_back_impl< aux::vector_tag<9> > { template< typename Vector, typename T > struct apply { typedef vector10< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<10> > { template< typename Vector > struct apply { typedef vector9< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8 > type; }; }; template< typename V > struct v_at< V,10 > { typedef typename V::item10 type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp000066400000000000000000000063021265471724600303360ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector10_c.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename T , T C0 > struct vector1_c : vector1< integral_c< T,C0 > > { typedef vector1_c type; typedef T value_type; }; template< typename T , T C0, T C1 > struct vector2_c : vector2< integral_c< T,C0 >, integral_c< T,C1 > > { typedef vector2_c type; typedef T value_type; }; template< typename T , T C0, T C1, T C2 > struct vector3_c : vector3< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > > { typedef vector3_c type; typedef T value_type; }; template< typename T , T C0, T C1, T C2, T C3 > struct vector4_c : vector4< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 >, integral_c > { typedef vector4_c type; typedef T value_type; }; template< typename T , T C0, T C1, T C2, T C3, T C4 > struct vector5_c : vector5< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 > > { typedef vector5_c type; typedef T value_type; }; template< typename T , T C0, T C1, T C2, T C3, T C4, T C5 > struct vector6_c : vector6< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 > > { typedef vector6_c type; typedef T value_type; }; template< typename T , T C0, T C1, T C2, T C3, T C4, T C5, T C6 > struct vector7_c : vector7< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c > { typedef vector7_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 vector8_c : vector8< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 > > { typedef vector8_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 vector9_c : vector9< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 > > { typedef vector9_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 vector10_c : vector10< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > > { typedef vector10_c type; typedef T value_type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp000066400000000000000000001037151265471724600300430ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector20.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 vector11 { typedef aux::vector_tag<11> tag; typedef vector11 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef void_ item11; typedef T10 back; typedef v_iter< type,0 > begin; typedef v_iter< type,11 > end; }; template<> struct push_front_impl< aux::vector_tag<10> > { template< typename Vector, typename T > struct apply { typedef vector11< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<11> > { template< typename Vector > struct apply { typedef vector10< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 > type; }; }; template<> struct push_back_impl< aux::vector_tag<10> > { template< typename Vector, typename T > struct apply { typedef vector11< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<11> > { template< typename Vector > struct apply { typedef vector10< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 > type; }; }; template< typename V > struct v_at< V,11 > { typedef typename V::item11 type; }; template< 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 vector12 { typedef aux::vector_tag<12> tag; typedef vector12 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef void_ item12; typedef T11 back; typedef v_iter< type,0 > begin; typedef v_iter< type,12 > end; }; template<> struct push_front_impl< aux::vector_tag<11> > { template< typename Vector, typename T > struct apply { typedef vector12< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<12> > { template< typename Vector > struct apply { typedef vector11< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11 > type; }; }; template<> struct push_back_impl< aux::vector_tag<11> > { template< typename Vector, typename T > struct apply { typedef vector12< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<12> > { template< typename Vector > struct apply { typedef vector11< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10 > type; }; }; template< typename V > struct v_at< V,12 > { typedef typename V::item12 type; }; template< typename T0, 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 vector13 { typedef aux::vector_tag<13> tag; typedef vector13 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef void_ item13; typedef T12 back; typedef v_iter< type,0 > begin; typedef v_iter< type,13 > end; }; template<> struct push_front_impl< aux::vector_tag<12> > { template< typename Vector, typename T > struct apply { typedef vector13< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<13> > { template< typename Vector > struct apply { typedef vector12< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 > type; }; }; template<> struct push_back_impl< aux::vector_tag<12> > { template< typename Vector, typename T > struct apply { typedef vector13< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<13> > { template< typename Vector > struct apply { typedef vector12< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 > type; }; }; template< typename V > struct v_at< V,13 > { typedef typename V::item13 type; }; template< typename T0, typename T1, 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 vector14 { typedef aux::vector_tag<14> tag; typedef vector14 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef void_ item14; typedef T13 back; typedef v_iter< type,0 > begin; typedef v_iter< type,14 > end; }; template<> struct push_front_impl< aux::vector_tag<13> > { template< typename Vector, typename T > struct apply { typedef vector14< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<14> > { template< typename Vector > struct apply { typedef vector13< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13 > type; }; }; template<> struct push_back_impl< aux::vector_tag<13> > { template< typename Vector, typename T > struct apply { typedef vector14< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<14> > { template< typename Vector > struct apply { typedef vector13< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12 > type; }; }; template< typename V > struct v_at< V,14 > { typedef typename V::item14 type; }; template< typename T0, typename T1, typename T2, 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 vector15 { typedef aux::vector_tag<15> tag; typedef vector15 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef void_ item15; typedef T14 back; typedef v_iter< type,0 > begin; typedef v_iter< type,15 > end; }; template<> struct push_front_impl< aux::vector_tag<14> > { template< typename Vector, typename T > struct apply { typedef vector15< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<15> > { template< typename Vector > struct apply { typedef vector14< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 > type; }; }; template<> struct push_back_impl< aux::vector_tag<14> > { template< typename Vector, typename T > struct apply { typedef vector15< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<15> > { template< typename Vector > struct apply { typedef vector14< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 > type; }; }; template< typename V > struct v_at< V,15 > { typedef typename V::item15 type; }; template< typename T0, typename T1, typename T2, typename T3, 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 vector16 { typedef aux::vector_tag<16> tag; typedef vector16 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef void_ item16; typedef T15 back; typedef v_iter< type,0 > begin; typedef v_iter< type,16 > end; }; template<> struct push_front_impl< aux::vector_tag<15> > { template< typename Vector, typename T > struct apply { typedef vector16< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<16> > { template< typename Vector > struct apply { typedef vector15< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15 > type; }; }; template<> struct push_back_impl< aux::vector_tag<15> > { template< typename Vector, typename T > struct apply { typedef vector16< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<16> > { template< typename Vector > struct apply { typedef vector15< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14 > type; }; }; template< typename V > struct v_at< V,16 > { typedef typename V::item16 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , 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 vector17 { typedef aux::vector_tag<17> tag; typedef vector17 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef void_ item17; typedef T16 back; typedef v_iter< type,0 > begin; typedef v_iter< type,17 > end; }; template<> struct push_front_impl< aux::vector_tag<16> > { template< typename Vector, typename T > struct apply { typedef vector17< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<17> > { template< typename Vector > struct apply { typedef vector16< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 > type; }; }; template<> struct push_back_impl< aux::vector_tag<16> > { template< typename Vector, typename T > struct apply { typedef vector17< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<17> > { template< typename Vector > struct apply { typedef vector16< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 > type; }; }; template< typename V > struct v_at< V,17 > { typedef typename V::item17 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, 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 vector18 { typedef aux::vector_tag<18> tag; typedef vector18 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef void_ item18; typedef T17 back; typedef v_iter< type,0 > begin; typedef v_iter< type,18 > end; }; template<> struct push_front_impl< aux::vector_tag<17> > { template< typename Vector, typename T > struct apply { typedef vector18< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<18> > { template< typename Vector > struct apply { typedef vector17< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17 > type; }; }; template<> struct push_back_impl< aux::vector_tag<17> > { template< typename Vector, typename T > struct apply { typedef vector18< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<18> > { template< typename Vector > struct apply { typedef vector17< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16 > type; }; }; template< typename V > struct v_at< V,18 > { typedef typename V::item18 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, 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 vector19 { typedef aux::vector_tag<19> tag; typedef vector19 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef void_ item19; typedef T18 back; typedef v_iter< type,0 > begin; typedef v_iter< type,19 > end; }; template<> struct push_front_impl< aux::vector_tag<18> > { template< typename Vector, typename T > struct apply { typedef vector19< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<19> > { template< typename Vector > struct apply { typedef vector18< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 > type; }; }; template<> struct push_back_impl< aux::vector_tag<18> > { template< typename Vector, typename T > struct apply { typedef vector19< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<19> > { template< typename Vector > struct apply { typedef vector18< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 > type; }; }; template< typename V > struct v_at< V,19 > { typedef typename V::item19 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 , typename T10, typename T11, typename T12, typename T13, typename T14 , typename T15, typename T16, typename T17, typename T18, typename T19 > struct vector20 { typedef aux::vector_tag<20> tag; typedef vector20 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef void_ item20; typedef T19 back; typedef v_iter< type,0 > begin; typedef v_iter< type,20 > end; }; template<> struct push_front_impl< aux::vector_tag<19> > { template< typename Vector, typename T > struct apply { typedef vector20< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<20> > { template< typename Vector > struct apply { typedef vector19< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19 > type; }; }; template<> struct push_back_impl< aux::vector_tag<19> > { template< typename Vector, typename T > struct apply { typedef vector20< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<20> > { template< typename Vector > struct apply { typedef vector19< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18 > type; }; }; template< typename V > struct v_at< V,20 > { typedef typename V::item20 type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp000066400000000000000000000143311265471724600303400ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector20_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 vector11_c : vector11< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 >, integral_c > { typedef vector11_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 vector12_c : vector12< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 > > { typedef vector12_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 vector13_c : vector13< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > > { typedef vector13_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 vector14_c : vector14< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 >, integral_c > { typedef vector14_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 vector15_c : vector15< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 > > { typedef vector15_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 vector16_c : vector16< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > > { typedef vector16_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 vector17_c : vector17< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 >, integral_c > { typedef vector17_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 vector18_c : vector18< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 > > { typedef vector18_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 vector19_c : vector19< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > > { typedef vector19_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 vector20_c : vector20< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 >, integral_c > { typedef vector20_c type; typedef T value_type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp000066400000000000000000001441011265471724600300360ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector30.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 vector21 { typedef aux::vector_tag<21> tag; typedef vector21 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef void_ item21; typedef T20 back; typedef v_iter< type,0 > begin; typedef v_iter< type,21 > end; }; template<> struct push_front_impl< aux::vector_tag<20> > { template< typename Vector, typename T > struct apply { typedef vector21< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<21> > { template< typename Vector > struct apply { typedef vector20< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 > type; }; }; template<> struct push_back_impl< aux::vector_tag<20> > { template< typename Vector, typename T > struct apply { typedef vector21< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<21> > { template< typename Vector > struct apply { typedef vector20< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 > type; }; }; template< typename V > struct v_at< V,21 > { typedef typename V::item21 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector22 { typedef aux::vector_tag<22> tag; typedef vector22 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef void_ item22; typedef T21 back; typedef v_iter< type,0 > begin; typedef v_iter< type,22 > end; }; template<> struct push_front_impl< aux::vector_tag<21> > { template< typename Vector, typename T > struct apply { typedef vector22< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<22> > { template< typename Vector > struct apply { typedef vector21< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21 > type; }; }; template<> struct push_back_impl< aux::vector_tag<21> > { template< typename Vector, typename T > struct apply { typedef vector22< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<22> > { template< typename Vector > struct apply { typedef vector21< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20 > type; }; }; template< typename V > struct v_at< V,22 > { typedef typename V::item22 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector23 { typedef aux::vector_tag<23> tag; typedef vector23 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef void_ item23; typedef T22 back; typedef v_iter< type,0 > begin; typedef v_iter< type,23 > end; }; template<> struct push_front_impl< aux::vector_tag<22> > { template< typename Vector, typename T > struct apply { typedef vector23< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<23> > { template< typename Vector > struct apply { typedef vector22< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 > type; }; }; template<> struct push_back_impl< aux::vector_tag<22> > { template< typename Vector, typename T > struct apply { typedef vector23< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<23> > { template< typename Vector > struct apply { typedef vector22< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 > type; }; }; template< typename V > struct v_at< V,23 > { typedef typename V::item23 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector24 { typedef aux::vector_tag<24> tag; typedef vector24 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef void_ item24; typedef T23 back; typedef v_iter< type,0 > begin; typedef v_iter< type,24 > end; }; template<> struct push_front_impl< aux::vector_tag<23> > { template< typename Vector, typename T > struct apply { typedef vector24< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<24> > { template< typename Vector > struct apply { typedef vector23< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23 > type; }; }; template<> struct push_back_impl< aux::vector_tag<23> > { template< typename Vector, typename T > struct apply { typedef vector24< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<24> > { template< typename Vector > struct apply { typedef vector23< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22 > type; }; }; template< typename V > struct v_at< V,24 > { typedef typename V::item24 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector25 { typedef aux::vector_tag<25> tag; typedef vector25 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef void_ item25; typedef T24 back; typedef v_iter< type,0 > begin; typedef v_iter< type,25 > end; }; template<> struct push_front_impl< aux::vector_tag<24> > { template< typename Vector, typename T > struct apply { typedef vector25< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<25> > { template< typename Vector > struct apply { typedef vector24< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 > type; }; }; template<> struct push_back_impl< aux::vector_tag<24> > { template< typename Vector, typename T > struct apply { typedef vector25< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<25> > { template< typename Vector > struct apply { typedef vector24< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 > type; }; }; template< typename V > struct v_at< V,25 > { typedef typename V::item25 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector26 { typedef aux::vector_tag<26> tag; typedef vector26 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef void_ item26; typedef T25 back; typedef v_iter< type,0 > begin; typedef v_iter< type,26 > end; }; template<> struct push_front_impl< aux::vector_tag<25> > { template< typename Vector, typename T > struct apply { typedef vector26< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<26> > { template< typename Vector > struct apply { typedef vector25< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25 > type; }; }; template<> struct push_back_impl< aux::vector_tag<25> > { template< typename Vector, typename T > struct apply { typedef vector26< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<26> > { template< typename Vector > struct apply { typedef vector25< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24 > type; }; }; template< typename V > struct v_at< V,26 > { typedef typename V::item26 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector27 { typedef aux::vector_tag<27> tag; typedef vector27 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef void_ item27; typedef T26 back; typedef v_iter< type,0 > begin; typedef v_iter< type,27 > end; }; template<> struct push_front_impl< aux::vector_tag<26> > { template< typename Vector, typename T > struct apply { typedef vector27< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<27> > { template< typename Vector > struct apply { typedef vector26< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 > type; }; }; template<> struct push_back_impl< aux::vector_tag<26> > { template< typename Vector, typename T > struct apply { typedef vector27< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<27> > { template< typename Vector > struct apply { typedef vector26< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 > type; }; }; template< typename V > struct v_at< V,27 > { typedef typename V::item27 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector28 { typedef aux::vector_tag<28> tag; typedef vector28 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef void_ item28; typedef T27 back; typedef v_iter< type,0 > begin; typedef v_iter< type,28 > end; }; template<> struct push_front_impl< aux::vector_tag<27> > { template< typename Vector, typename T > struct apply { typedef vector28< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<28> > { template< typename Vector > struct apply { typedef vector27< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27 > type; }; }; template<> struct push_back_impl< aux::vector_tag<27> > { template< typename Vector, typename T > struct apply { typedef vector28< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<28> > { template< typename Vector > struct apply { typedef vector27< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26 > type; }; }; template< typename V > struct v_at< V,28 > { typedef typename V::item28 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector29 { typedef aux::vector_tag<29> tag; typedef vector29 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef void_ item29; typedef T28 back; typedef v_iter< type,0 > begin; typedef v_iter< type,29 > end; }; template<> struct push_front_impl< aux::vector_tag<28> > { template< typename Vector, typename T > struct apply { typedef vector29< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<29> > { template< typename Vector > struct apply { typedef vector28< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 > type; }; }; template<> struct push_back_impl< aux::vector_tag<28> > { template< typename Vector, typename T > struct apply { typedef vector29< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<29> > { template< typename Vector > struct apply { typedef vector28< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 > type; }; }; template< typename V > struct v_at< V,29 > { typedef typename V::item29 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector30 { typedef aux::vector_tag<30> tag; typedef vector30 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef void_ item30; typedef T29 back; typedef v_iter< type,0 > begin; typedef v_iter< type,30 > end; }; template<> struct push_front_impl< aux::vector_tag<29> > { template< typename Vector, typename T > struct apply { typedef vector30< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<30> > { template< typename Vector > struct apply { typedef vector29< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29 > type; }; }; template<> struct push_back_impl< aux::vector_tag<29> > { template< typename Vector, typename T > struct apply { typedef vector30< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<30> > { template< typename Vector > struct apply { typedef vector29< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28 > type; }; }; template< typename V > struct v_at< V,30 > { typedef typename V::item30 type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp000066400000000000000000000224451265471724600303460ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector30_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 vector21_c : vector21< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 > > { typedef vector21_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 vector22_c : vector22< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > > { typedef vector22_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 vector23_c : vector23< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 >, integral_c > { typedef vector23_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 vector24_c : vector24< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 > > { typedef vector24_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 vector25_c : vector25< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > > { typedef vector25_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 vector26_c : vector26< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 >, integral_c > { typedef vector26_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 vector27_c : vector27< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 > > { typedef vector27_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 vector28_c : vector28< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > > { typedef vector28_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 vector29_c : vector29< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 >, integral_c > { typedef vector29_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 vector30_c : vector30< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 > > { typedef vector30_c type; typedef T value_type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp000066400000000000000000002042651265471724600300470ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector40.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 vector31 { typedef aux::vector_tag<31> tag; typedef vector31 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef void_ item31; typedef T30 back; typedef v_iter< type,0 > begin; typedef v_iter< type,31 > end; }; template<> struct push_front_impl< aux::vector_tag<30> > { template< typename Vector, typename T > struct apply { typedef vector31< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<31> > { template< typename Vector > struct apply { typedef vector30< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 > type; }; }; template<> struct push_back_impl< aux::vector_tag<30> > { template< typename Vector, typename T > struct apply { typedef vector31< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<31> > { template< typename Vector > struct apply { typedef vector30< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 > type; }; }; template< typename V > struct v_at< V,31 > { typedef typename V::item31 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector32 { typedef aux::vector_tag<32> tag; typedef vector32 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef void_ item32; typedef T31 back; typedef v_iter< type,0 > begin; typedef v_iter< type,32 > end; }; template<> struct push_front_impl< aux::vector_tag<31> > { template< typename Vector, typename T > struct apply { typedef vector32< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<32> > { template< typename Vector > struct apply { typedef vector31< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31 > type; }; }; template<> struct push_back_impl< aux::vector_tag<31> > { template< typename Vector, typename T > struct apply { typedef vector32< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<32> > { template< typename Vector > struct apply { typedef vector31< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30 > type; }; }; template< typename V > struct v_at< V,32 > { typedef typename V::item32 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector33 { typedef aux::vector_tag<33> tag; typedef vector33 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef void_ item33; typedef T32 back; typedef v_iter< type,0 > begin; typedef v_iter< type,33 > end; }; template<> struct push_front_impl< aux::vector_tag<32> > { template< typename Vector, typename T > struct apply { typedef vector33< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<33> > { template< typename Vector > struct apply { typedef vector32< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 > type; }; }; template<> struct push_back_impl< aux::vector_tag<32> > { template< typename Vector, typename T > struct apply { typedef vector33< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<33> > { template< typename Vector > struct apply { typedef vector32< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 > type; }; }; template< typename V > struct v_at< V,33 > { typedef typename V::item33 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector34 { typedef aux::vector_tag<34> tag; typedef vector34 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef void_ item34; typedef T33 back; typedef v_iter< type,0 > begin; typedef v_iter< type,34 > end; }; template<> struct push_front_impl< aux::vector_tag<33> > { template< typename Vector, typename T > struct apply { typedef vector34< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<34> > { template< typename Vector > struct apply { typedef vector33< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33 > type; }; }; template<> struct push_back_impl< aux::vector_tag<33> > { template< typename Vector, typename T > struct apply { typedef vector34< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<34> > { template< typename Vector > struct apply { typedef vector33< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32 > type; }; }; template< typename V > struct v_at< V,34 > { typedef typename V::item34 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector35 { typedef aux::vector_tag<35> tag; typedef vector35 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef void_ item35; typedef T34 back; typedef v_iter< type,0 > begin; typedef v_iter< type,35 > end; }; template<> struct push_front_impl< aux::vector_tag<34> > { template< typename Vector, typename T > struct apply { typedef vector35< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<35> > { template< typename Vector > struct apply { typedef vector34< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 > type; }; }; template<> struct push_back_impl< aux::vector_tag<34> > { template< typename Vector, typename T > struct apply { typedef vector35< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<35> > { template< typename Vector > struct apply { typedef vector34< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 > type; }; }; template< typename V > struct v_at< V,35 > { typedef typename V::item35 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector36 { typedef aux::vector_tag<36> tag; typedef vector36 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef void_ item36; typedef T35 back; typedef v_iter< type,0 > begin; typedef v_iter< type,36 > end; }; template<> struct push_front_impl< aux::vector_tag<35> > { template< typename Vector, typename T > struct apply { typedef vector36< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<36> > { template< typename Vector > struct apply { typedef vector35< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35 > type; }; }; template<> struct push_back_impl< aux::vector_tag<35> > { template< typename Vector, typename T > struct apply { typedef vector36< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<36> > { template< typename Vector > struct apply { typedef vector35< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34 > type; }; }; template< typename V > struct v_at< V,36 > { typedef typename V::item36 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector37 { typedef aux::vector_tag<37> tag; typedef vector37 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef void_ item37; typedef T36 back; typedef v_iter< type,0 > begin; typedef v_iter< type,37 > end; }; template<> struct push_front_impl< aux::vector_tag<36> > { template< typename Vector, typename T > struct apply { typedef vector37< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<37> > { template< typename Vector > struct apply { typedef vector36< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 > type; }; }; template<> struct push_back_impl< aux::vector_tag<36> > { template< typename Vector, typename T > struct apply { typedef vector37< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<37> > { template< typename Vector > struct apply { typedef vector36< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 > type; }; }; template< typename V > struct v_at< V,37 > { typedef typename V::item37 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector38 { typedef aux::vector_tag<38> tag; typedef vector38 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef void_ item38; typedef T37 back; typedef v_iter< type,0 > begin; typedef v_iter< type,38 > end; }; template<> struct push_front_impl< aux::vector_tag<37> > { template< typename Vector, typename T > struct apply { typedef vector38< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<38> > { template< typename Vector > struct apply { typedef vector37< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37 > type; }; }; template<> struct push_back_impl< aux::vector_tag<37> > { template< typename Vector, typename T > struct apply { typedef vector38< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<38> > { template< typename Vector > struct apply { typedef vector37< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36 > type; }; }; template< typename V > struct v_at< V,38 > { typedef typename V::item38 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector39 { typedef aux::vector_tag<39> tag; typedef vector39 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef void_ item39; typedef T38 back; typedef v_iter< type,0 > begin; typedef v_iter< type,39 > end; }; template<> struct push_front_impl< aux::vector_tag<38> > { template< typename Vector, typename T > struct apply { typedef vector39< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<39> > { template< typename Vector > struct apply { typedef vector38< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 > type; }; }; template<> struct push_back_impl< aux::vector_tag<38> > { template< typename Vector, typename T > struct apply { typedef vector39< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<39> > { template< typename Vector > struct apply { typedef vector38< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 > type; }; }; template< typename V > struct v_at< V,39 > { typedef typename V::item39 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector40 { typedef aux::vector_tag<40> tag; typedef vector40 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef void_ item40; typedef T39 back; typedef v_iter< type,0 > begin; typedef v_iter< type,40 > end; }; template<> struct push_front_impl< aux::vector_tag<39> > { template< typename Vector, typename T > struct apply { typedef vector40< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<40> > { template< typename Vector > struct apply { typedef vector39< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39 > type; }; }; template<> struct push_back_impl< aux::vector_tag<39> > { template< typename Vector, typename T > struct apply { typedef vector40< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<40> > { template< typename Vector > struct apply { typedef vector39< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38 > type; }; }; template< typename V > struct v_at< V,40 > { typedef typename V::item40 type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp000066400000000000000000000305601265471724600303440ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector40_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 vector31_c : vector31< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > > { typedef vector31_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 vector32_c : vector32< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 >, integral_c > { typedef vector32_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 vector33_c : vector33< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 > > { typedef vector33_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 vector34_c : vector34< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > > { typedef vector34_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 vector35_c : vector35< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 >, integral_c > { typedef vector35_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 vector36_c : vector36< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 > > { typedef vector36_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 vector37_c : vector37< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > > { typedef vector37_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 vector38_c : vector38< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 >, integral_c > { typedef vector38_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 vector39_c : vector39< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 > > { typedef vector39_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 vector40_c : vector40< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > > { typedef vector40_c type; typedef T value_type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp000066400000000000000000002444511265471724600300510ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector50.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 vector41 { typedef aux::vector_tag<41> tag; typedef vector41 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef void_ item41; typedef T40 back; typedef v_iter< type,0 > begin; typedef v_iter< type,41 > end; }; template<> struct push_front_impl< aux::vector_tag<40> > { template< typename Vector, typename T > struct apply { typedef vector41< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<41> > { template< typename Vector > struct apply { typedef vector40< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 > type; }; }; template<> struct push_back_impl< aux::vector_tag<40> > { template< typename Vector, typename T > struct apply { typedef vector41< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<41> > { template< typename Vector > struct apply { typedef vector40< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 > type; }; }; template< typename V > struct v_at< V,41 > { typedef typename V::item41 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector42 { typedef aux::vector_tag<42> tag; typedef vector42 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef void_ item42; typedef T41 back; typedef v_iter< type,0 > begin; typedef v_iter< type,42 > end; }; template<> struct push_front_impl< aux::vector_tag<41> > { template< typename Vector, typename T > struct apply { typedef vector42< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<42> > { template< typename Vector > struct apply { typedef vector41< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41 > type; }; }; template<> struct push_back_impl< aux::vector_tag<41> > { template< typename Vector, typename T > struct apply { typedef vector42< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<42> > { template< typename Vector > struct apply { typedef vector41< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40 > type; }; }; template< typename V > struct v_at< V,42 > { typedef typename V::item42 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector43 { typedef aux::vector_tag<43> tag; typedef vector43 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef T42 item42; typedef void_ item43; typedef T42 back; typedef v_iter< type,0 > begin; typedef v_iter< type,43 > end; }; template<> struct push_front_impl< aux::vector_tag<42> > { template< typename Vector, typename T > struct apply { typedef vector43< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<43> > { template< typename Vector > struct apply { typedef vector42< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41, typename Vector::item42 > type; }; }; template<> struct push_back_impl< aux::vector_tag<42> > { template< typename Vector, typename T > struct apply { typedef vector43< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<43> > { template< typename Vector > struct apply { typedef vector42< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 > type; }; }; template< typename V > struct v_at< V,43 > { typedef typename V::item43 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector44 { typedef aux::vector_tag<44> tag; typedef vector44 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef T42 item42; typedef T43 item43; typedef void_ item44; typedef T43 back; typedef v_iter< type,0 > begin; typedef v_iter< type,44 > end; }; template<> struct push_front_impl< aux::vector_tag<43> > { template< typename Vector, typename T > struct apply { typedef vector44< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<44> > { template< typename Vector > struct apply { typedef vector43< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41, typename Vector::item42 , typename Vector::item43 > type; }; }; template<> struct push_back_impl< aux::vector_tag<43> > { template< typename Vector, typename T > struct apply { typedef vector44< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<44> > { template< typename Vector > struct apply { typedef vector43< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42 > type; }; }; template< typename V > struct v_at< V,44 > { typedef typename V::item44 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector45 { typedef aux::vector_tag<45> tag; typedef vector45 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef T42 item42; typedef T43 item43; typedef T44 item44; typedef void_ item45; typedef T44 back; typedef v_iter< type,0 > begin; typedef v_iter< type,45 > end; }; template<> struct push_front_impl< aux::vector_tag<44> > { template< typename Vector, typename T > struct apply { typedef vector45< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<45> > { template< typename Vector > struct apply { typedef vector44< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41, typename Vector::item42 , typename Vector::item43, typename Vector::item44 > type; }; }; template<> struct push_back_impl< aux::vector_tag<44> > { template< typename Vector, typename T > struct apply { typedef vector45< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<45> > { template< typename Vector > struct apply { typedef vector44< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 > type; }; }; template< typename V > struct v_at< V,45 > { typedef typename V::item45 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector46 { typedef aux::vector_tag<46> tag; typedef vector46 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef T42 item42; typedef T43 item43; typedef T44 item44; typedef T45 item45; typedef void_ item46; typedef T45 back; typedef v_iter< type,0 > begin; typedef v_iter< type,46 > end; }; template<> struct push_front_impl< aux::vector_tag<45> > { template< typename Vector, typename T > struct apply { typedef vector46< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<46> > { template< typename Vector > struct apply { typedef vector45< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41, typename Vector::item42 , typename Vector::item43, typename Vector::item44 , typename Vector::item45 > type; }; }; template<> struct push_back_impl< aux::vector_tag<45> > { template< typename Vector, typename T > struct apply { typedef vector46< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<46> > { template< typename Vector > struct apply { typedef vector45< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44 > type; }; }; template< typename V > struct v_at< V,46 > { typedef typename V::item46 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector47 { typedef aux::vector_tag<47> tag; typedef vector47 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef T42 item42; typedef T43 item43; typedef T44 item44; typedef T45 item45; typedef T46 item46; typedef void_ item47; typedef T46 back; typedef v_iter< type,0 > begin; typedef v_iter< type,47 > end; }; template<> struct push_front_impl< aux::vector_tag<46> > { template< typename Vector, typename T > struct apply { typedef vector47< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<47> > { template< typename Vector > struct apply { typedef vector46< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41, typename Vector::item42 , typename Vector::item43, typename Vector::item44 , typename Vector::item45, typename Vector::item46 > type; }; }; template<> struct push_back_impl< aux::vector_tag<46> > { template< typename Vector, typename T > struct apply { typedef vector47< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<47> > { template< typename Vector > struct apply { typedef vector46< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 > type; }; }; template< typename V > struct v_at< V,47 > { typedef typename V::item47 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector48 { typedef aux::vector_tag<48> tag; typedef vector48 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef T42 item42; typedef T43 item43; typedef T44 item44; typedef T45 item45; typedef T46 item46; typedef T47 item47; typedef void_ item48; typedef T47 back; typedef v_iter< type,0 > begin; typedef v_iter< type,48 > end; }; template<> struct push_front_impl< aux::vector_tag<47> > { template< typename Vector, typename T > struct apply { typedef vector48< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<48> > { template< typename Vector > struct apply { typedef vector47< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41, typename Vector::item42 , typename Vector::item43, typename Vector::item44 , typename Vector::item45, typename Vector::item46 , typename Vector::item47 > type; }; }; template<> struct push_back_impl< aux::vector_tag<47> > { template< typename Vector, typename T > struct apply { typedef vector48< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<48> > { template< typename Vector > struct apply { typedef vector47< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46 > type; }; }; template< typename V > struct v_at< V,48 > { typedef typename V::item48 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector49 { typedef aux::vector_tag<49> tag; typedef vector49 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef T42 item42; typedef T43 item43; typedef T44 item44; typedef T45 item45; typedef T46 item46; typedef T47 item47; typedef T48 item48; typedef void_ item49; typedef T48 back; typedef v_iter< type,0 > begin; typedef v_iter< type,49 > end; }; template<> struct push_front_impl< aux::vector_tag<48> > { template< typename Vector, typename T > struct apply { typedef vector49< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46, typename Vector::item47 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<49> > { template< typename Vector > struct apply { typedef vector48< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41, typename Vector::item42 , typename Vector::item43, typename Vector::item44 , typename Vector::item45, typename Vector::item46 , typename Vector::item47, typename Vector::item48 > type; }; }; template<> struct push_back_impl< aux::vector_tag<48> > { template< typename Vector, typename T > struct apply { typedef vector49< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46, typename Vector::item47 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<49> > { template< typename Vector > struct apply { typedef vector48< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46, typename Vector::item47 > type; }; }; template< typename V > struct v_at< V,49 > { typedef typename V::item49 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector50 { typedef aux::vector_tag<50> tag; typedef vector50 type; typedef T0 item0; typedef T1 item1; typedef T2 item2; typedef T3 item3; typedef T4 item4; typedef T5 item5; typedef T6 item6; typedef T7 item7; typedef T8 item8; typedef T9 item9; typedef T10 item10; typedef T11 item11; typedef T12 item12; typedef T13 item13; typedef T14 item14; typedef T15 item15; typedef T16 item16; typedef T17 item17; typedef T18 item18; typedef T19 item19; typedef T20 item20; typedef T21 item21; typedef T22 item22; typedef T23 item23; typedef T24 item24; typedef T25 item25; typedef T26 item26; typedef T27 item27; typedef T28 item28; typedef T29 item29; typedef T30 item30; typedef T31 item31; typedef T32 item32; typedef T33 item33; typedef T34 item34; typedef T35 item35; typedef T36 item36; typedef T37 item37; typedef T38 item38; typedef T39 item39; typedef T40 item40; typedef T41 item41; typedef T42 item42; typedef T43 item43; typedef T44 item44; typedef T45 item45; typedef T46 item46; typedef T47 item47; typedef T48 item48; typedef T49 item49; typedef void_ item50; typedef T49 back; typedef v_iter< type,0 > begin; typedef v_iter< type,50 > end; }; template<> struct push_front_impl< aux::vector_tag<49> > { template< typename Vector, typename T > struct apply { typedef vector50< T , typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46, typename Vector::item47 , typename Vector::item48 > type; }; }; template<> struct pop_front_impl< aux::vector_tag<50> > { template< typename Vector > struct apply { typedef vector49< typename Vector::item1, typename Vector::item2 , typename Vector::item3, typename Vector::item4 , typename Vector::item5, typename Vector::item6 , typename Vector::item7, typename Vector::item8 , typename Vector::item9, typename Vector::item10 , typename Vector::item11, typename Vector::item12 , typename Vector::item13, typename Vector::item14 , typename Vector::item15, typename Vector::item16 , typename Vector::item17, typename Vector::item18 , typename Vector::item19, typename Vector::item20 , typename Vector::item21, typename Vector::item22 , typename Vector::item23, typename Vector::item24 , typename Vector::item25, typename Vector::item26 , typename Vector::item27, typename Vector::item28 , typename Vector::item29, typename Vector::item30 , typename Vector::item31, typename Vector::item32 , typename Vector::item33, typename Vector::item34 , typename Vector::item35, typename Vector::item36 , typename Vector::item37, typename Vector::item38 , typename Vector::item39, typename Vector::item40 , typename Vector::item41, typename Vector::item42 , typename Vector::item43, typename Vector::item44 , typename Vector::item45, typename Vector::item46 , typename Vector::item47, typename Vector::item48 , typename Vector::item49 > type; }; }; template<> struct push_back_impl< aux::vector_tag<49> > { template< typename Vector, typename T > struct apply { typedef vector50< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46, typename Vector::item47 , typename Vector::item48 , T > type; }; }; template<> struct pop_back_impl< aux::vector_tag<50> > { template< typename Vector > struct apply { typedef vector49< typename Vector::item0, typename Vector::item1 , typename Vector::item2, typename Vector::item3 , typename Vector::item4, typename Vector::item5 , typename Vector::item6, typename Vector::item7 , typename Vector::item8, typename Vector::item9 , typename Vector::item10, typename Vector::item11 , typename Vector::item12, typename Vector::item13 , typename Vector::item14, typename Vector::item15 , typename Vector::item16, typename Vector::item17 , typename Vector::item18, typename Vector::item19 , typename Vector::item20, typename Vector::item21 , typename Vector::item22, typename Vector::item23 , typename Vector::item24, typename Vector::item25 , typename Vector::item26, typename Vector::item27 , typename Vector::item28, typename Vector::item29 , typename Vector::item30, typename Vector::item31 , typename Vector::item32, typename Vector::item33 , typename Vector::item34, typename Vector::item35 , typename Vector::item36, typename Vector::item37 , typename Vector::item38, typename Vector::item39 , typename Vector::item40, typename Vector::item41 , typename Vector::item42, typename Vector::item43 , typename Vector::item44, typename Vector::item45 , typename Vector::item46, typename Vector::item47 , typename Vector::item48 > type; }; }; template< typename V > struct v_at< V,50 > { typedef typename V::item50 type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp000066400000000000000000000367031265471724600303520ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector50_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 vector41_c : vector41< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 >, integral_c > { typedef vector41_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 vector42_c : vector42< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 > > { typedef vector42_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 vector43_c : vector43< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > > { typedef vector43_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 vector44_c : vector44< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 >, integral_c > { typedef vector44_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 vector45_c : vector45< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > , integral_c< T,C43 >, integral_c< T,C44 > > { typedef vector45_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 vector46_c : vector46< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 > > { typedef vector46_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 vector47_c : vector47< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 >, integral_c > { typedef vector47_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 vector48_c : vector48< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 > , integral_c< T,C46 >, integral_c< T,C47 > > { typedef vector48_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 vector49_c : vector49< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 > , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 > > { typedef vector49_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 vector50_c : vector50< integral_c< T,C0 >, integral_c< T,C1 >, integral_c< T,C2 > , integral_c< T,C3 >, integral_c< T,C4 >, integral_c< T,C5 >, integral_c< T,C6 > , integral_c< T,C7 >, integral_c< T,C8 >, integral_c< T,C9 > , integral_c< T,C10 >, integral_c< T,C11 >, integral_c< T,C12 > , integral_c< T,C13 >, integral_c< T,C14 >, integral_c< T,C15 > , integral_c< T,C16 >, integral_c< T,C17 >, integral_c< T,C18 > , integral_c< T,C19 >, integral_c< T,C20 >, integral_c< T,C21 > , integral_c< T,C22 >, integral_c< T,C23 >, integral_c< T,C24 > , integral_c< T,C25 >, integral_c< T,C26 >, integral_c< T,C27 > , integral_c< T,C28 >, integral_c< T,C29 >, integral_c< T,C30 > , integral_c< T,C31 >, integral_c< T,C32 >, integral_c< T,C33 > , integral_c< T,C34 >, integral_c< T,C35 >, integral_c< T,C36 > , integral_c< T,C37 >, integral_c< T,C38 >, integral_c< T,C39 > , integral_c< T,C40 >, integral_c< T,C41 >, integral_c< T,C42 > , integral_c< T,C43 >, integral_c< T,C44 >, integral_c< T,C45 > , integral_c< T,C46 >, integral_c< T,C47 >, integral_c< T,C48 >, integral_c > { typedef vector50_c type; typedef T value_type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/typeof_based/000077500000000000000000000000001265471724600272205ustar00rootroot00000000000000KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp000066400000000000000000000046541265471724600314050ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector10.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename T0 > struct vector1 : v_item< T0 , vector0< > > { typedef vector1 type; }; template< typename T0, typename T1 > struct vector2 : v_item< T1 , vector1 > { typedef vector2 type; }; template< typename T0, typename T1, typename T2 > struct vector3 : v_item< T2 , vector2< T0,T1 > > { typedef vector3 type; }; template< typename T0, typename T1, typename T2, typename T3 > struct vector4 : v_item< T3 , vector3< T0,T1,T2 > > { typedef vector4 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 > struct vector5 : v_item< T4 , vector4< T0,T1,T2,T3 > > { typedef vector5 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5 > struct vector6 : v_item< T5 , vector5< T0,T1,T2,T3,T4 > > { typedef vector6 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6 > struct vector7 : v_item< T6 , vector6< T0,T1,T2,T3,T4,T5 > > { typedef vector7 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7 > struct vector8 : v_item< T7 , vector7< T0,T1,T2,T3,T4,T5,T6 > > { typedef vector8 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8 > struct vector9 : v_item< T8 , vector8< T0,T1,T2,T3,T4,T5,T6,T7 > > { typedef vector9 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 > struct vector10 : v_item< T9 , vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > > { typedef vector10 type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp000066400000000000000000000052611265471724600317020ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector10_c.hpp" header // -- DO NOT modify by hand! namespace boost { namespace mpl { template< typename T , T C0 > struct vector1_c : v_item< integral_c< T,C0 > , vector0_c > { typedef vector1_c type; typedef T value_type; }; template< typename T , T C0, T C1 > struct vector2_c : v_item< integral_c< T,C1 > , vector1_c< T,C0 > > { typedef vector2_c type; typedef T value_type; }; template< typename T , T C0, T C1, T C2 > struct vector3_c : v_item< integral_c< T,C2 > , vector2_c< T,C0,C1 > > { typedef vector3_c type; typedef T value_type; }; template< typename T , T C0, T C1, T C2, T C3 > struct vector4_c : v_item< integral_c< T,C3 > , vector3_c< T,C0,C1,C2 > > { typedef vector4_c type; typedef T value_type; }; template< typename T , T C0, T C1, T C2, T C3, T C4 > struct vector5_c : v_item< integral_c< T,C4 > , vector4_c< T,C0,C1,C2,C3 > > { typedef vector5_c type; typedef T value_type; }; template< typename T , T C0, T C1, T C2, T C3, T C4, T C5 > struct vector6_c : v_item< integral_c< T,C5 > , vector5_c< T,C0,C1,C2,C3,C4 > > { typedef vector6_c type; typedef T value_type; }; template< typename T , T C0, T C1, T C2, T C3, T C4, T C5, T C6 > struct vector7_c : v_item< integral_c< T,C6 > , vector6_c< T,C0,C1,C2,C3,C4,C5 > > { typedef vector7_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 vector8_c : v_item< integral_c< T,C7 > , vector7_c< T,C0,C1,C2,C3,C4,C5,C6 > > { typedef vector8_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 vector9_c : v_item< integral_c< T,C8 > , vector8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > > { typedef vector9_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 vector10_c : v_item< integral_c< T,C9 > , vector9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > > { typedef vector10_c type; typedef T value_type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp000066400000000000000000000103331265471724600313750ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector20.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 vector11 : v_item< T10 , vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > > { typedef vector11 type; }; template< 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 vector12 : v_item< T11 , vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > > { typedef vector12 type; }; template< typename T0, 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 vector13 : v_item< T12 , vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > > { typedef vector13 type; }; template< typename T0, typename T1, 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 vector14 : v_item< T13 , vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > > { typedef vector14 type; }; template< typename T0, typename T1, typename T2, 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 vector15 : v_item< T14 , vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > > { typedef vector15 type; }; template< typename T0, typename T1, typename T2, typename T3, 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 vector16 : v_item< T15 , vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 > > { typedef vector16 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , 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 vector17 : v_item< T16 , vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 > > { typedef vector17 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, 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 vector18 : v_item< T17 , vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 > > { typedef vector18 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, 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 vector19 : v_item< T18 , vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 > > { typedef vector19 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, typename T8, typename T9 , typename T10, typename T11, typename T12, typename T13, typename T14 , typename T15, typename T16, typename T17, typename T18, typename T19 > struct vector20 : v_item< T19 , vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 > > { typedef vector20 type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp000066400000000000000000000073561265471724600317120ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector20_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 vector11_c : v_item< integral_c< T,C10 > , vector10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > > { typedef vector11_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 vector12_c : v_item< integral_c< T,C11 > , vector11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > > { typedef vector12_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 vector13_c : v_item< integral_c< T,C12 > , vector12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > > { typedef vector13_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 vector14_c : v_item< integral_c< T,C13 > , vector13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > > { typedef vector14_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 vector15_c : v_item< integral_c< T,C14 > , vector14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 > > { typedef vector15_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 vector16_c : v_item< integral_c< T,C15 > , vector15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 > > { typedef vector16_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 vector17_c : v_item< integral_c< T,C16 > , vector16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 > > { typedef vector17_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 vector18_c : v_item< integral_c< T,C17 > , vector17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 > > { typedef vector18_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 vector19_c : v_item< integral_c< T,C18 > , vector18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 > > { typedef vector19_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 vector20_c : v_item< integral_c< T,C19 > , vector19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 > > { typedef vector20_c type; typedef T value_type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp000066400000000000000000000141071265471724600314010ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector30.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 vector21 : v_item< T20 , vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 > > { typedef vector21 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector22 : v_item< T21 , vector21< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20 > > { typedef vector22 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector23 : v_item< T22 , vector22< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21 > > { typedef vector23 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector24 : v_item< T23 , vector23< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22 > > { typedef vector24 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector25 : v_item< T24 , vector24< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23 > > { typedef vector25 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector26 : v_item< T25 , vector25< 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 > > { typedef vector26 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector27 : v_item< T26 , vector26< 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 > > { typedef vector27 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector28 : v_item< T27 , vector27< 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 > > { typedef vector28 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector29 : v_item< T28 , vector28< 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 > > { typedef vector29 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector30 : v_item< T29 , vector29< 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 > > { typedef vector30 type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp000066400000000000000000000115541265471724600317060ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector30_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 vector21_c : v_item< integral_c< T,C20 > , vector20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 > > { typedef vector21_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 vector22_c : v_item< integral_c< T,C21 > , vector21_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20 > > { typedef vector22_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 vector23_c : v_item< integral_c< T,C22 > , vector22_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21 > > { typedef vector23_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 vector24_c : v_item< integral_c< T,C23 > , vector23_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22 > > { typedef vector24_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 vector25_c : v_item< integral_c< T,C24 > , vector24_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23 > > { typedef vector25_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 vector26_c : v_item< integral_c< T,C25 > , vector25_c< T,C0,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 vector26_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 vector27_c : v_item< integral_c< T,C26 > , vector26_c< T,C0,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 vector27_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 vector28_c : v_item< integral_c< T,C27 > , vector27_c< T,C0,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 vector28_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 vector29_c : v_item< integral_c< T,C28 > , vector28_c< T,C0,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 vector29_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 vector30_c : v_item< integral_c< T,C29 > , vector29_c< T,C0,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 vector30_c type; typedef T value_type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp000066400000000000000000000176631265471724600314140ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector40.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 vector31 : v_item< T30 , vector30< 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 > > { typedef vector31 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector32 : v_item< T31 , vector31< 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 > > { typedef vector32 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector33 : v_item< T32 , vector32< 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 > > { typedef vector33 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector34 : v_item< T33 , vector33< 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 > > { typedef vector34 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector35 : v_item< T34 , vector34< 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 > > { typedef vector35 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector36 : v_item< T35 , vector35< 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 > > { typedef vector36 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector37 : v_item< T36 , vector36< 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 > > { typedef vector37 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector38 : v_item< T37 , vector37< 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 > > { typedef vector38 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector39 : v_item< T38 , vector38< 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 > > { typedef vector39 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector40 : v_item< T39 , vector39< 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 > > { typedef vector40 type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp000066400000000000000000000137521265471724600317110ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector40_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 vector31_c : v_item< integral_c< T,C30 > , vector30_c< T,C0,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 vector31_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 vector32_c : v_item< integral_c< T,C31 > , vector31_c< T,C0,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 vector32_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 vector33_c : v_item< integral_c< T,C32 > , vector32_c< T,C0,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 vector33_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 vector34_c : v_item< integral_c< T,C33 > , vector33_c< T,C0,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 vector34_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 vector35_c : v_item< integral_c< T,C34 > , vector34_c< T,C0,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 vector35_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 vector36_c : v_item< integral_c< T,C35 > , vector35_c< T,C0,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 vector36_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 vector37_c : v_item< integral_c< T,C36 > , vector36_c< T,C0,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 vector37_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 vector38_c : v_item< integral_c< T,C37 > , vector37_c< T,C0,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 vector38_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 vector39_c : v_item< integral_c< T,C38 > , vector38_c< T,C0,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 vector39_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 vector40_c : v_item< integral_c< T,C39 > , vector39_c< T,C0,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 vector40_c type; typedef T value_type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp000066400000000000000000000234371265471724600314110ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector50.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 vector41 : v_item< T40 , vector40< 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 > > { typedef vector41 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector42 : v_item< T41 , vector41< 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 > > { typedef vector42 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector43 : v_item< T42 , vector42< 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 > > { typedef vector43 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector44 : v_item< T43 , vector43< 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 > > { typedef vector44 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector45 : v_item< T44 , vector44< 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 > > { typedef vector45 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector46 : v_item< T45 , vector45< 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 > > { typedef vector46 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector47 : v_item< T46 , vector46< 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 > > { typedef vector47 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector48 : v_item< T47 , vector47< 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 > > { typedef vector48 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector49 : v_item< T48 , vector48< 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 > > { typedef vector49 type; }; template< typename T0, typename T1, typename T2, typename T3, typename T4 , typename T5, typename T6, typename T7, 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 vector50 : v_item< T49 , vector49< 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 > > { typedef vector50 type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp000066400000000000000000000161501265471724600317050ustar00rootroot00000000000000 // Copyright Aleksey Gurtovoy 2000-2004 // // Distributed under the Boost Software License, Version 1.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/vector50_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 vector41_c : v_item< integral_c< T,C40 > , vector40_c< T,C0,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 vector41_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 vector42_c : v_item< integral_c< T,C41 > , vector41_c< T,C0,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 vector42_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 vector43_c : v_item< integral_c< T,C42 > , vector42_c< T,C0,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 vector43_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 vector44_c : v_item< integral_c< T,C43 > , vector43_c< T,C0,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 vector44_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 vector45_c : v_item< integral_c< T,C44 > , vector44_c< T,C0,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 vector45_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 vector46_c : v_item< integral_c< T,C45 > , vector45_c< T,C0,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 vector46_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 vector47_c : v_item< integral_c< T,C46 > , vector46_c< T,C0,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 vector47_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 vector48_c : v_item< integral_c< T,C47 > , vector47_c< T,C0,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 vector48_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 vector49_c : v_item< integral_c< T,C48 > , vector48_c< T,C0,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 vector49_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 vector50_c : v_item< integral_c< T,C49 > , vector49_c< T,C0,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 vector50_c type; typedef T value_type; }; }} KWStyle-master/Utilities/boost/mpl/vector/aux_/push_back.hpp000066400000000000000000000016001265471724600245230ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED #define BOOST_MPL_VECTOR_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 #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) # include # include namespace boost { namespace mpl { template<> struct push_back_impl< aux::vector_tag > { template< typename Vector, typename T > struct apply { typedef v_item type; }; }; }} #endif #endif // BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/aux_/push_front.hpp000066400000000000000000000016541265471724600247640ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED #define BOOST_MPL_VECTOR_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 #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) # include # include namespace boost { namespace mpl { template<> struct push_front_impl< aux::vector_tag > { template< typename Vector, typename T > struct apply { typedef v_item type; }; }; }} #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES #endif // BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/aux_/size.hpp000066400000000000000000000021071265471724600235410ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED #define BOOST_MPL_VECTOR_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 #include #include #include namespace boost { namespace mpl { #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) template<> struct size_impl< aux::vector_tag > : O1_size_impl< aux::vector_tag > { }; #else #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) template< long N > struct size_impl< aux::vector_tag > : O1_size_impl< aux::vector_tag > { }; #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES }} #endif // BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/aux_/tag.hpp000066400000000000000000000013501265471724600233410ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED #define BOOST_MPL_VECTOR_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$ #include #include namespace boost { namespace mpl { namespace aux { struct v_iter_tag; #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) struct vector_tag; #else template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct vector_tag; #endif }}} #endif // BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/aux_/vector0.hpp000066400000000000000000000024321265471724600241520ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED #define BOOST_MPL_VECTOR_AUX_VECTOR0_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 Dummy = na > struct vector0; template<> struct vector0 { #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) typedef aux::vector_tag tag; typedef vector0 type; typedef long_<32768> lower_bound_; typedef lower_bound_ upper_bound_; typedef long_<0> size; static aux::type_wrapper item_(...); #else typedef aux::vector_tag<0> tag; typedef vector0 type; typedef void_ item0; typedef v_iter,0> begin; typedef v_iter,0> end; #endif }; }} #endif // BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/vector0.hpp000066400000000000000000000021701265471724600232150ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED #define BOOST_MPL_VECTOR_VECTOR0_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 #include #include #include #include #endif // BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/vector0_c.hpp000066400000000000000000000012421265471724600235160ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED #define BOOST_MPL_VECTOR_VECTOR0_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 vector0_c : vector0<> { typedef vector0_c type; typedef T value_type; }; }} #endif // BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/vector10.hpp000066400000000000000000000022151265471724600232760ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED #define BOOST_MPL_VECTOR_VECTOR10_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 vector10.hpp # include #else # include # include # include namespace boost { namespace mpl { # define BOOST_PP_ITERATION_PARAMS_1 \ (3,(0, 10, )) # include BOOST_PP_ITERATE() }} #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/vector10_c.hpp000066400000000000000000000023051265471724600236000ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED #define BOOST_MPL_VECTOR_VECTOR10_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 # include #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER vector10_c.hpp # include #else # include # include # 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_VECTOR_VECTOR10_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/vector20.hpp000066400000000000000000000022171265471724600233010ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED #define BOOST_MPL_VECTOR_VECTOR20_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 vector20.hpp # include #else # include # include # 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_VECTOR_VECTOR20_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/vector20_c.hpp000066400000000000000000000023071265471724600236030ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED #define BOOST_MPL_VECTOR_VECTOR20_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 # include #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER vector20_c.hpp # include #else # include # include # 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_VECTOR_VECTOR20_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/vector30.hpp000066400000000000000000000022171265471724600233020ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED #define BOOST_MPL_VECTOR_VECTOR30_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 vector30.hpp # include #else # include # include # 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_VECTOR_VECTOR30_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/vector30_c.hpp000066400000000000000000000023441265471724600236050ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED #define BOOST_MPL_VECTOR_VECTOR30_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 # include #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER vector30_c.hpp # include #else # include # include # include # include namespace boost { namespace mpl { # define BOOST_PP_ITERATION_PARAMS_1 \ (3,(21, 30, )) # include BOOST_PP_ITERATE() }} #endif // BOOST_MPL_CFG_USE_PREPROCESSED_HEADERS #endif // BOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/vector40.hpp000066400000000000000000000022171265471724600233030ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED #define BOOST_MPL_VECTOR_VECTOR40_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 vector40.hpp # include #else # include # include # 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_VECTOR_VECTOR40_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/vector40_c.hpp000066400000000000000000000023071265471724600236050ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED #define BOOST_MPL_VECTOR_VECTOR40_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 # include #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER vector40_c.hpp # include #else # include # include # 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_VECTOR_VECTOR40_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/vector50.hpp000066400000000000000000000022171265471724600233040ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED #define BOOST_MPL_VECTOR_VECTOR50_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 vector50.hpp # include #else # include # include # 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_VECTOR_VECTOR50_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector/vector50_c.hpp000066400000000000000000000023041265471724600236030ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED #define BOOST_MPL_VECTOR_VECTOR50_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 # include #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER vector50_c.hpp # include #else # include # include # 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_VECTOR_VECTOR50_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/vector_c.hpp000066400000000000000000000036141265471724600221410ustar00rootroot00000000000000 #ifndef BOOST_MPL_VECTOR_C_HPP_INCLUDED #define BOOST_MPL_VECTOR_C_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$ #if !defined(BOOST_MPL_PREPROCESSING_MODE) # include # include # include # include # include # include #if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) # define AUX778076_VECTOR_C_HEADER \ BOOST_PP_CAT(BOOST_PP_CAT(vector,BOOST_MPL_LIMIT_VECTOR_SIZE),_c).hpp \ /**/ #else # define AUX778076_VECTOR_C_HEADER \ BOOST_PP_CAT(BOOST_PP_CAT(vector,BOOST_MPL_LIMIT_VECTOR_SIZE),_c)##.hpp \ /**/ #endif # include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX778076_VECTOR_C_HEADER) # undef AUX778076_VECTOR_C_HEADER # include #endif #include #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ && !defined(BOOST_MPL_PREPROCESSING_MODE) # define BOOST_MPL_PREPROCESSED_HEADER vector_c.hpp # include #else # include # define AUX778076_SEQUENCE_NAME vector_c # define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_VECTOR_SIZE # define AUX778076_SEQUENCE_NAME_N(n) BOOST_PP_CAT(BOOST_PP_CAT(vector,n),_c) # define AUX778076_SEQUENCE_CONVERT_CN_TO(z,n,TARGET) TARGET(BOOST_PP_CAT(C,n)) # define AUX778076_SEQUENCE_INTEGRAL_WRAPPER # include #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS #endif // BOOST_MPL_VECTOR_C_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/void.hpp000066400000000000000000000031101265471724600212650ustar00rootroot00000000000000 #ifndef BOOST_MPL_VOID_HPP_INCLUDED #define BOOST_MPL_VOID_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 #include BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN // [JDG Feb-4-2003] made void_ a complete type to allow it to be // instantiated so that it can be passed in as an object that can be // used to select an overloaded function. Possible use includes signaling // a zero arity functor evaluation call. struct void_ { typedef void_ type; }; BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE namespace boost { namespace mpl { template< typename T > struct is_void_ : false_ { #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) using false_::value; #endif }; template<> struct is_void_ : true_ { #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) using true_::value; #endif }; template< typename T > struct is_not_void_ : true_ { #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) using true_::value; #endif }; template<> struct is_not_void_ : false_ { #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) using false_::value; #endif }; BOOST_MPL_AUX_NA_SPEC(1, is_void_) BOOST_MPL_AUX_NA_SPEC(1, is_not_void_) }} #endif // BOOST_MPL_VOID_HPP_INCLUDED KWStyle-master/Utilities/boost/mpl/void_fwd.hpp000066400000000000000000000011271265471724600221330ustar00rootroot00000000000000 #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 KWStyle-master/Utilities/boost/mpl/zip_view.hpp000066400000000000000000000030061265471724600221640ustar00rootroot00000000000000 #ifndef BOOST_MPL_ZIP_VIEW_HPP_INCLUDED #define BOOST_MPL_ZIP_VIEW_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2000-2010 // Copyright David Abrahams 2000-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 #include #include namespace boost { namespace mpl { template< typename IteratorSeq > struct zip_iterator { typedef forward_iterator_tag category; typedef typename transform1< IteratorSeq , deref<_1> >::type type; typedef zip_iterator< typename transform1< IteratorSeq , mpl::next<_1> >::type > next; }; template< typename BOOST_MPL_AUX_NA_PARAM(Sequences) > struct zip_view { private: typedef typename transform1< Sequences, mpl::begin<_1> >::type first_ones_; typedef typename transform1< Sequences, mpl::end<_1> >::type last_ones_; public: typedef nested_begin_end_tag tag; typedef zip_view type; typedef zip_iterator begin; typedef zip_iterator end; }; BOOST_MPL_AUX_NA_SPEC(1, zip_view) }} #endif // BOOST_MPL_ZIP_VIEW_HPP_INCLUDED KWStyle-master/Utilities/boost/multi_array.hpp000066400000000000000000000357671265471724600221130ustar00rootroot00000000000000// Copyright 2002 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) // Boost.MultiArray Library // Authors: Ronald Garcia // Jeremy Siek // Andrew Lumsdaine // See http://www.boost.org/libs/multi_array for documentation. #ifndef BOOST_MULTI_ARRAY_RG071801_HPP #define BOOST_MULTI_ARRAY_RG071801_HPP // // multi_array.hpp - contains the multi_array class template // declaration and definition // #include "boost/multi_array/base.hpp" #include "boost/multi_array/collection_concept.hpp" #include "boost/multi_array/copy_array.hpp" #include "boost/multi_array/iterator.hpp" #include "boost/multi_array/subarray.hpp" #include "boost/multi_array/multi_array_ref.hpp" #include "boost/multi_array/algorithm.hpp" #include "boost/array.hpp" #include "boost/mpl/if.hpp" #include "boost/type_traits.hpp" #include #include #include #include #include namespace boost { namespace detail { namespace multi_array { struct populate_index_ranges { multi_array_types::index_range // RG: underscore on extent_ to stifle strange MSVC warning. operator()(multi_array_types::index base, multi_array_types::size_type extent_) { return multi_array_types::index_range(base,base+extent_); } }; #ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING // // Compilers that don't support partial ordering may need help to // disambiguate multi_array's templated constructors. Even vc6/7 are // capable of some limited SFINAE, so we take the most-general version // out of the overload set with disable_multi_array_impl. // template char is_multi_array_impl_help(const_multi_array_view&); template char is_multi_array_impl_help(const_sub_array&); template char is_multi_array_impl_help(const_multi_array_ref&); char ( &is_multi_array_impl_help(...) )[2]; template struct is_multi_array_impl { static T x; BOOST_STATIC_CONSTANT(bool, value = sizeof((is_multi_array_impl_help)(x)) == 1); typedef mpl::bool_ type; }; template struct disable_multi_array_impl_impl { typedef int type; }; template <> struct disable_multi_array_impl_impl { // forming a pointer to a reference triggers SFINAE typedef int& type; }; template struct disable_multi_array_impl : disable_multi_array_impl_impl::value> { }; template <> struct disable_multi_array_impl { typedef int type; }; #endif } //namespace multi_array } // namespace detail template class multi_array : public multi_array_ref { typedef multi_array_ref super_type; public: typedef typename super_type::value_type value_type; typedef typename super_type::reference reference; typedef typename super_type::const_reference const_reference; typedef typename super_type::iterator iterator; typedef typename super_type::const_iterator const_iterator; typedef typename super_type::reverse_iterator reverse_iterator; typedef typename super_type::const_reverse_iterator const_reverse_iterator; typedef typename super_type::element element; typedef typename super_type::size_type size_type; typedef typename super_type::difference_type difference_type; typedef typename super_type::index index; typedef typename super_type::extent_range extent_range; template struct const_array_view { typedef boost::detail::multi_array::const_multi_array_view type; }; template struct array_view { typedef boost::detail::multi_array::multi_array_view type; }; explicit multi_array() : super_type((T*)initial_base_,c_storage_order(), /*index_bases=*/0, /*extents=*/0) { allocate_space(); } template explicit multi_array( ExtentList const& extents #ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING , typename mpl::if_< detail::multi_array::is_multi_array_impl, int&,int>::type* = 0 #endif ) : super_type((T*)initial_base_,extents) { boost::function_requires< detail::multi_array::CollectionConcept >(); allocate_space(); } template explicit multi_array(ExtentList const& extents, const general_storage_order& so) : super_type((T*)initial_base_,extents,so) { boost::function_requires< detail::multi_array::CollectionConcept >(); allocate_space(); } template explicit multi_array(ExtentList const& extents, const general_storage_order& so, Allocator const& alloc) : super_type((T*)initial_base_,extents,so), allocator_(alloc) { boost::function_requires< detail::multi_array::CollectionConcept >(); allocate_space(); } explicit multi_array(const detail::multi_array ::extent_gen& ranges) : super_type((T*)initial_base_,ranges) { allocate_space(); } explicit multi_array(const detail::multi_array ::extent_gen& ranges, const general_storage_order& so) : super_type((T*)initial_base_,ranges,so) { allocate_space(); } explicit multi_array(const detail::multi_array ::extent_gen& ranges, const general_storage_order& so, Allocator const& alloc) : super_type((T*)initial_base_,ranges,so), allocator_(alloc) { allocate_space(); } multi_array(const multi_array& rhs) : super_type(rhs), allocator_(rhs.allocator_) { allocate_space(); boost::detail::multi_array::copy_n(rhs.base_,rhs.num_elements(),base_); } // // A multi_array is constructible from any multi_array_ref, subarray, or // array_view object. The following constructors ensure that. // // Due to limited support for partial template ordering, // MSVC 6&7 confuse the following with the most basic ExtentList // constructor. #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING template multi_array(const const_multi_array_ref& rhs, const general_storage_order& so = c_storage_order()) : super_type(0,so,rhs.index_bases(),rhs.shape()) { allocate_space(); // Warning! storage order may change, hence the following copy technique. std::copy(rhs.begin(),rhs.end(),this->begin()); } template multi_array(const detail::multi_array:: const_sub_array& rhs, const general_storage_order& so = c_storage_order()) : super_type(0,so,rhs.index_bases(),rhs.shape()) { allocate_space(); std::copy(rhs.begin(),rhs.end(),this->begin()); } template multi_array(const detail::multi_array:: const_multi_array_view& rhs, const general_storage_order& so = c_storage_order()) : super_type(0,so,rhs.index_bases(),rhs.shape()) { allocate_space(); std::copy(rhs.begin(),rhs.end(),this->begin()); } #else // BOOST_NO_FUNCTION_TEMPLATE_ORDERING // More limited support for MSVC multi_array(const const_multi_array_ref& rhs) : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()) { allocate_space(); // Warning! storage order may change, hence the following copy technique. std::copy(rhs.begin(),rhs.end(),this->begin()); } multi_array(const const_multi_array_ref& rhs, const general_storage_order& so) : super_type(0,so,rhs.index_bases(),rhs.shape()) { allocate_space(); // Warning! storage order may change, hence the following copy technique. std::copy(rhs.begin(),rhs.end(),this->begin()); } multi_array(const detail::multi_array:: const_sub_array& rhs) : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()) { allocate_space(); std::copy(rhs.begin(),rhs.end(),this->begin()); } multi_array(const detail::multi_array:: const_sub_array& rhs, const general_storage_order& so) : super_type(0,so,rhs.index_bases(),rhs.shape()) { allocate_space(); std::copy(rhs.begin(),rhs.end(),this->begin()); } multi_array(const detail::multi_array:: const_multi_array_view& rhs) : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()) { allocate_space(); std::copy(rhs.begin(),rhs.end(),this->begin()); } multi_array(const detail::multi_array:: const_multi_array_view& rhs, const general_storage_order& so) : super_type(0,so,rhs.index_bases(),rhs.shape()) { allocate_space(); std::copy(rhs.begin(),rhs.end(),this->begin()); } #endif // !BOOST_NO_FUNCTION_TEMPLATE_ORDERING // Thes constructors are necessary because of more exact template matches. multi_array(const multi_array_ref& rhs) : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()) { allocate_space(); // Warning! storage order may change, hence the following copy technique. std::copy(rhs.begin(),rhs.end(),this->begin()); } multi_array(const multi_array_ref& rhs, const general_storage_order& so) : super_type(0,so,rhs.index_bases(),rhs.shape()) { allocate_space(); // Warning! storage order may change, hence the following copy technique. std::copy(rhs.begin(),rhs.end(),this->begin()); } multi_array(const detail::multi_array:: sub_array& rhs) : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()) { allocate_space(); std::copy(rhs.begin(),rhs.end(),this->begin()); } multi_array(const detail::multi_array:: sub_array& rhs, const general_storage_order& so) : super_type(0,so,rhs.index_bases(),rhs.shape()) { allocate_space(); std::copy(rhs.begin(),rhs.end(),this->begin()); } multi_array(const detail::multi_array:: multi_array_view& rhs) : super_type(0,c_storage_order(),rhs.index_bases(),rhs.shape()) { allocate_space(); std::copy(rhs.begin(),rhs.end(),this->begin()); } multi_array(const detail::multi_array:: multi_array_view& rhs, const general_storage_order& so) : super_type(0,so,rhs.index_bases(),rhs.shape()) { allocate_space(); std::copy(rhs.begin(),rhs.end(),this->begin()); } // Since assignment is a deep copy, multi_array_ref // contains all the necessary code. template multi_array& operator=(const ConstMultiArray& other) { super_type::operator=(other); return *this; } multi_array& operator=(const multi_array& other) { if (&other != this) { super_type::operator=(other); } return *this; } template multi_array& resize(const ExtentList& extents) { boost::function_requires< detail::multi_array::CollectionConcept >(); typedef detail::multi_array::extent_gen gen_type; gen_type ranges; for (int i=0; i != NumDims; ++i) { typedef typename gen_type::range range_type; ranges.ranges_[i] = range_type(0,extents[i]); } return this->resize(ranges); } multi_array& resize(const detail::multi_array ::extent_gen& ranges) { // build a multi_array with the specs given multi_array new_array(ranges,this->storage_order()); // build a view of tmp with the minimum extents // Get the minimum extents of the arrays. boost::array min_extents; const size_type& (*min)(const size_type&, const size_type&) = std::min; std::transform(new_array.extent_list_.begin(),new_array.extent_list_.end(), this->extent_list_.begin(), min_extents.begin(), min); // typedef boost::array index_list; // Build index_gen objects to create views with the same shape // these need to be separate to handle non-zero index bases typedef detail::multi_array::index_gen index_gen; index_gen old_idxes; index_gen new_idxes; std::transform(new_array.index_base_list_.begin(), new_array.index_base_list_.end(), min_extents.begin(),new_idxes.ranges_.begin(), detail::multi_array::populate_index_ranges()); std::transform(this->index_base_list_.begin(), this->index_base_list_.end(), min_extents.begin(),old_idxes.ranges_.begin(), detail::multi_array::populate_index_ranges()); // Build same-shape views of the two arrays typename multi_array::BOOST_NESTED_TEMPLATE array_view::type view_old = (*this)[old_idxes]; typename multi_array::BOOST_NESTED_TEMPLATE array_view::type view_new = new_array[new_idxes]; // Set the right portion of the new array view_new = view_old; using std::swap; // Swap the internals of these arrays. swap(this->super_type::base_,new_array.super_type::base_); swap(this->storage_,new_array.storage_); swap(this->extent_list_,new_array.extent_list_); swap(this->stride_list_,new_array.stride_list_); swap(this->index_base_list_,new_array.index_base_list_); swap(this->origin_offset_,new_array.origin_offset_); swap(this->directional_offset_,new_array.directional_offset_); swap(this->num_elements_,new_array.num_elements_); swap(this->allocator_,new_array.allocator_); swap(this->base_,new_array.base_); swap(this->allocated_elements_,new_array.allocated_elements_); return *this; } ~multi_array() { deallocate_space(); } private: void allocate_space() { typename Allocator::const_pointer no_hint=0; base_ = allocator_.allocate(this->num_elements(),no_hint); this->set_base_ptr(base_); allocated_elements_ = this->num_elements(); std::uninitialized_fill_n(base_,allocated_elements_,T()); } void deallocate_space() { if(base_) { for(T* i = base_; i != base_+allocated_elements_; ++i) allocator_.destroy(i); allocator_.deallocate(base_,allocated_elements_); } } typedef boost::array size_list; typedef boost::array index_list; Allocator allocator_; T* base_; size_type allocated_elements_; enum {initial_base_ = 0}; }; } // namespace boost #endif // BOOST_MULTI_ARRAY_RG071801_HPP KWStyle-master/Utilities/boost/multi_index_container.hpp000066400000000000000000001136631265471724600241360ustar00rootroot00000000000000/* Multiply indexed container. * * Copyright 2003-2014 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/multi_index for library home page. */ #ifndef BOOST_MULTI_INDEX_HPP #define BOOST_MULTI_INDEX_HPP #if defined(_MSC_VER) #pragma once #endif #include /* keep it first to prevent nasty warns in MSVC */ #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_NO_CXX11_HDR_INITIALIZER_LIST) #include #endif #if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION) #include #include #include #include #include #include #include #endif #if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING) #include #define BOOST_MULTI_INDEX_CHECK_INVARIANT_OF(x) \ detail::scope_guard BOOST_JOIN(check_invariant_,__LINE__)= \ detail::make_obj_guard(x,&multi_index_container::check_invariant_); \ BOOST_JOIN(check_invariant_,__LINE__).touch(); #define BOOST_MULTI_INDEX_CHECK_INVARIANT \ BOOST_MULTI_INDEX_CHECK_INVARIANT_OF(*this) #else #define BOOST_MULTI_INDEX_CHECK_INVARIANT_OF(x) #define BOOST_MULTI_INDEX_CHECK_INVARIANT #endif namespace boost{ namespace multi_index{ #if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1500)) #pragma warning(push) #pragma warning(disable:4522) /* spurious warning on multiple operator=()'s */ #endif template class multi_index_container: private ::boost::base_from_member< typename boost::detail::allocator::rebind_to< Allocator, typename detail::multi_index_node_type< Value,IndexSpecifierList,Allocator>::type >::type>, BOOST_MULTI_INDEX_PRIVATE_IF_MEMBER_TEMPLATE_FRIENDS detail::header_holder< typename boost::detail::allocator::rebind_to< Allocator, typename detail::multi_index_node_type< Value,IndexSpecifierList,Allocator>::type >::type::pointer, multi_index_container >, public detail::multi_index_base_type< Value,IndexSpecifierList,Allocator>::type { #if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)&&\ BOOST_WORKAROUND(__MWERKS__,<=0x3003) /* The "ISO C++ Template Parser" option in CW8.3 has a problem with the * lifetime of const references bound to temporaries --precisely what * scopeguards are. */ #pragma parse_mfunc_templ off #endif private: BOOST_COPYABLE_AND_MOVABLE(multi_index_container) #if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS) template friend class detail::index_base; template friend struct detail::header_holder; template friend struct detail::converter; #endif typedef typename detail::multi_index_base_type< Value,IndexSpecifierList,Allocator>::type super; typedef typename boost::detail::allocator::rebind_to< Allocator, typename super::node_type >::type node_allocator; typedef ::boost::base_from_member< node_allocator> bfm_allocator; typedef detail::header_holder< typename node_allocator::pointer, multi_index_container> bfm_header; public: /* All types are inherited from super, a few are explicitly * brought forward here to save us some typename's. */ typedef typename super::ctor_args_list ctor_args_list; typedef IndexSpecifierList index_specifier_type_list; typedef typename super::index_type_list index_type_list; typedef typename super::iterator_type_list iterator_type_list; typedef typename super::const_iterator_type_list const_iterator_type_list; typedef typename super::value_type value_type; typedef typename super::final_allocator_type allocator_type; typedef typename super::iterator iterator; typedef typename super::const_iterator const_iterator; BOOST_STATIC_ASSERT( detail::no_duplicate_tags_in_index_list::value); /* global project() needs to see this publicly */ typedef typename super::node_type node_type; /* construct/copy/destroy */ explicit multi_index_container( #if BOOST_WORKAROUND(__IBMCPP__,<=600) /* VisualAge seems to have an ETI issue with the default values * for arguments args_list and al. */ const ctor_args_list& args_list= typename mpl::identity::type:: ctor_args_list(), const allocator_type& al= typename mpl::identity::type:: allocator_type()): #else const ctor_args_list& args_list=ctor_args_list(), const allocator_type& al=allocator_type()): #endif bfm_allocator(al), super(args_list,bfm_allocator::member), node_count(0) { BOOST_MULTI_INDEX_CHECK_INVARIANT; } explicit multi_index_container(const allocator_type& al): bfm_allocator(al), super(ctor_args_list(),bfm_allocator::member), node_count(0) { BOOST_MULTI_INDEX_CHECK_INVARIANT; } template multi_index_container( InputIterator first,InputIterator last, #if BOOST_WORKAROUND(__IBMCPP__,<=600) /* VisualAge seems to have an ETI issue with the default values * for arguments args_list and al. */ const ctor_args_list& args_list= typename mpl::identity::type:: ctor_args_list(), const allocator_type& al= typename mpl::identity::type:: allocator_type()): #else const ctor_args_list& args_list=ctor_args_list(), const allocator_type& al=allocator_type()): #endif bfm_allocator(al), super(args_list,bfm_allocator::member), node_count(0) { BOOST_MULTI_INDEX_CHECK_INVARIANT; BOOST_TRY{ iterator hint=super::end(); for(;first!=last;++first){ hint=super::make_iterator( insert_ref_(*first,hint.get_node()).first); ++hint; } } BOOST_CATCH(...){ clear_(); BOOST_RETHROW; } BOOST_CATCH_END } #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) multi_index_container( std::initializer_list list, const ctor_args_list& args_list=ctor_args_list(), const allocator_type& al=allocator_type()): bfm_allocator(al), super(args_list,bfm_allocator::member), node_count(0) { BOOST_MULTI_INDEX_CHECK_INVARIANT; BOOST_TRY{ typedef const Value* init_iterator; iterator hint=super::end(); for(init_iterator first=list.begin(),last=list.end(); first!=last;++first){ hint=super::make_iterator(insert_(*first,hint.get_node()).first); ++hint; } } BOOST_CATCH(...){ clear_(); BOOST_RETHROW; } BOOST_CATCH_END } #endif multi_index_container( const multi_index_container& x): bfm_allocator(x.bfm_allocator::member), bfm_header(), super(x), node_count(0) { copy_map_type map(bfm_allocator::member,x.size(),x.header(),header()); for(const_iterator it=x.begin(),it_end=x.end();it!=it_end;++it){ map.clone(it.get_node()); } super::copy_(x,map); map.release(); node_count=x.size(); /* Not until this point are the indices required to be consistent, * hence the position of the invariant checker. */ BOOST_MULTI_INDEX_CHECK_INVARIANT; } multi_index_container(BOOST_RV_REF(multi_index_container) x): bfm_allocator(x.bfm_allocator::member), bfm_header(), super(x,detail::do_not_copy_elements_tag()), node_count(0) { BOOST_MULTI_INDEX_CHECK_INVARIANT; BOOST_MULTI_INDEX_CHECK_INVARIANT_OF(x); swap_elements_(x); } ~multi_index_container() { delete_all_nodes_(); } #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) /* As per http://www.boost.org/doc/html/move/emulation_limitations.html * #move.emulation_limitations.assignment_operator */ multi_index_container& operator=( const multi_index_container& x) { multi_index_container y(x); this->swap(y); return *this; } #endif multi_index_container& operator=( BOOST_COPY_ASSIGN_REF(multi_index_container) x) { multi_index_container y(x); this->swap(y); return *this; } multi_index_container& operator=( BOOST_RV_REF(multi_index_container) x) { this->swap(x); return *this; } #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) multi_index_container& operator=( std::initializer_list list) { BOOST_MULTI_INDEX_CHECK_INVARIANT; typedef const Value* init_iterator; multi_index_container x(*this,detail::do_not_copy_elements_tag()); iterator hint=x.end(); for(init_iterator first=list.begin(),last=list.end(); first!=last;++first){ hint=x.make_iterator(x.insert_(*first,hint.get_node()).first); ++hint; } x.swap_elements_(*this); return*this; } #endif allocator_type get_allocator()const BOOST_NOEXCEPT { return allocator_type(bfm_allocator::member); } /* retrieval of indices by number */ #if !defined(BOOST_NO_MEMBER_TEMPLATES) template struct nth_index { BOOST_STATIC_ASSERT(N>=0&&N::type::value); typedef typename mpl::at_c::type type; }; template typename nth_index::type& get()BOOST_NOEXCEPT { BOOST_STATIC_ASSERT(N>=0&&N::type::value); return *this; } template const typename nth_index::type& get()const BOOST_NOEXCEPT { BOOST_STATIC_ASSERT(N>=0&&N::type::value); return *this; } #endif /* retrieval of indices by tag */ #if !defined(BOOST_NO_MEMBER_TEMPLATES) template struct index { typedef typename mpl::find_if< index_type_list, detail::has_tag >::type iter; BOOST_STATIC_CONSTANT( bool,index_found=!(is_same::type >::value)); BOOST_STATIC_ASSERT(index_found); typedef typename mpl::deref::type type; }; template typename index::type& get()BOOST_NOEXCEPT { return *this; } template const typename index::type& get()const BOOST_NOEXCEPT { return *this; } #endif /* projection of iterators by number */ #if !defined(BOOST_NO_MEMBER_TEMPLATES) template struct nth_index_iterator { typedef typename nth_index::type::iterator type; }; template struct nth_index_const_iterator { typedef typename nth_index::type::const_iterator type; }; template typename nth_index_iterator::type project(IteratorType it) { typedef typename nth_index::type index_type; #if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* fails in Sun C++ 5.7 */ BOOST_STATIC_ASSERT( (mpl::contains::value)); #endif BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it); BOOST_MULTI_INDEX_CHECK_IS_OWNER( it,static_cast(*this)); return index_type::make_iterator(static_cast(it.get_node())); } template typename nth_index_const_iterator::type project(IteratorType it)const { typedef typename nth_index::type index_type; #if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* fails in Sun C++ 5.7 */ BOOST_STATIC_ASSERT(( mpl::contains::value|| mpl::contains::value)); #endif BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it); BOOST_MULTI_INDEX_CHECK_IS_OWNER( it,static_cast(*this)); return index_type::make_iterator(static_cast(it.get_node())); } #endif /* projection of iterators by tag */ #if !defined(BOOST_NO_MEMBER_TEMPLATES) template struct index_iterator { typedef typename index::type::iterator type; }; template struct index_const_iterator { typedef typename index::type::const_iterator type; }; template typename index_iterator::type project(IteratorType it) { typedef typename index::type index_type; #if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* fails in Sun C++ 5.7 */ BOOST_STATIC_ASSERT( (mpl::contains::value)); #endif BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it); BOOST_MULTI_INDEX_CHECK_IS_OWNER( it,static_cast(*this)); return index_type::make_iterator(static_cast(it.get_node())); } template typename index_const_iterator::type project(IteratorType it)const { typedef typename index::type index_type; #if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* fails in Sun C++ 5.7 */ BOOST_STATIC_ASSERT(( mpl::contains::value|| mpl::contains::value)); #endif BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it); BOOST_MULTI_INDEX_CHECK_IS_OWNER( it,static_cast(*this)); return index_type::make_iterator(static_cast(it.get_node())); } #endif BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS: typedef typename super::copy_map_type copy_map_type; #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) multi_index_container( const multi_index_container& x, detail::do_not_copy_elements_tag): bfm_allocator(x.bfm_allocator::member), bfm_header(), super(x,detail::do_not_copy_elements_tag()), node_count(0) { BOOST_MULTI_INDEX_CHECK_INVARIANT; } #endif node_type* header()const { return &*bfm_header::member; } node_type* allocate_node() { return &*bfm_allocator::member.allocate(1); } void deallocate_node(node_type* x) { typedef typename node_allocator::pointer node_pointer; bfm_allocator::member.deallocate(static_cast(x),1); } bool empty_()const { return node_count==0; } std::size_t size_()const { return node_count; } std::size_t max_size_()const { return static_cast(-1); } template std::pair insert_(const Value& v,Variant variant) { node_type* x=0; node_type* res=super::insert_(v,x,variant); if(res==x){ ++node_count; return std::pair(res,true); } else{ return std::pair(res,false); } } std::pair insert_(const Value& v) { return insert_(v,detail::lvalue_tag()); } std::pair insert_rv_(const Value& v) { return insert_(v,detail::rvalue_tag()); } template std::pair insert_ref_(T& t) { node_type* x=allocate_node(); BOOST_TRY{ new(&x->value()) value_type(t); BOOST_TRY{ node_type* res=super::insert_(x->value(),x,detail::emplaced_tag()); if(res==x){ ++node_count; return std::pair(res,true); } else{ boost::detail::allocator::destroy(&x->value()); deallocate_node(x); return std::pair(res,false); } } BOOST_CATCH(...){ boost::detail::allocator::destroy(&x->value()); BOOST_RETHROW; } BOOST_CATCH_END } BOOST_CATCH(...){ deallocate_node(x); BOOST_RETHROW; } BOOST_CATCH_END } std::pair insert_ref_(const value_type& x) { return insert_(x); } std::pair insert_ref_(value_type& x) { return insert_(x); } template std::pair emplace_( BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK) { node_type* x=allocate_node(); BOOST_TRY{ detail::vartempl_placement_new( &x->value(),BOOST_MULTI_INDEX_FORWARD_PARAM_PACK); BOOST_TRY{ node_type* res=super::insert_(x->value(),x,detail::emplaced_tag()); if(res==x){ ++node_count; return std::pair(res,true); } else{ boost::detail::allocator::destroy(&x->value()); deallocate_node(x); return std::pair(res,false); } } BOOST_CATCH(...){ boost::detail::allocator::destroy(&x->value()); BOOST_RETHROW; } BOOST_CATCH_END } BOOST_CATCH(...){ deallocate_node(x); BOOST_RETHROW; } BOOST_CATCH_END } template std::pair insert_( const Value& v,node_type* position,Variant variant) { node_type* x=0; node_type* res=super::insert_(v,position,x,variant); if(res==x){ ++node_count; return std::pair(res,true); } else{ return std::pair(res,false); } } std::pair insert_(const Value& v,node_type* position) { return insert_(v,position,detail::lvalue_tag()); } std::pair insert_rv_(const Value& v,node_type* position) { return insert_(v,position,detail::rvalue_tag()); } template std::pair insert_ref_( T& t,node_type* position) { node_type* x=allocate_node(); BOOST_TRY{ new(&x->value()) value_type(t); BOOST_TRY{ node_type* res=super::insert_( x->value(),position,x,detail::emplaced_tag()); if(res==x){ ++node_count; return std::pair(res,true); } else{ boost::detail::allocator::destroy(&x->value()); deallocate_node(x); return std::pair(res,false); } } BOOST_CATCH(...){ boost::detail::allocator::destroy(&x->value()); BOOST_RETHROW; } BOOST_CATCH_END } BOOST_CATCH(...){ deallocate_node(x); BOOST_RETHROW; } BOOST_CATCH_END } std::pair insert_ref_( const value_type& x,node_type* position) { return insert_(x,position); } std::pair insert_ref_( value_type& x,node_type* position) { return insert_(x,position); } template std::pair emplace_hint_( node_type* position, BOOST_MULTI_INDEX_FUNCTION_PARAM_PACK) { node_type* x=allocate_node(); BOOST_TRY{ detail::vartempl_placement_new( &x->value(),BOOST_MULTI_INDEX_FORWARD_PARAM_PACK); BOOST_TRY{ node_type* res=super::insert_( x->value(),position,x,detail::emplaced_tag()); if(res==x){ ++node_count; return std::pair(res,true); } else{ boost::detail::allocator::destroy(&x->value()); deallocate_node(x); return std::pair(res,false); } } BOOST_CATCH(...){ boost::detail::allocator::destroy(&x->value()); BOOST_RETHROW; } BOOST_CATCH_END } BOOST_CATCH(...){ deallocate_node(x); BOOST_RETHROW; } BOOST_CATCH_END } void erase_(node_type* x) { --node_count; super::erase_(x); deallocate_node(x); } void delete_node_(node_type* x) { super::delete_node_(x); deallocate_node(x); } void delete_all_nodes_() { super::delete_all_nodes_(); } void clear_() { delete_all_nodes_(); super::clear_(); node_count=0; } void swap_(multi_index_container& x) { if(bfm_allocator::member!=x.bfm_allocator::member){ detail::adl_swap(bfm_allocator::member,x.bfm_allocator::member); } std::swap(bfm_header::member,x.bfm_header::member); super::swap_(x); std::swap(node_count,x.node_count); } void swap_elements_( multi_index_container& x) { std::swap(bfm_header::member,x.bfm_header::member); super::swap_elements_(x); std::swap(node_count,x.node_count); } bool replace_(const Value& k,node_type* x) { return super::replace_(k,x,detail::lvalue_tag()); } bool replace_rv_(const Value& k,node_type* x) { return super::replace_(k,x,detail::rvalue_tag()); } template bool modify_(Modifier& mod,node_type* x) { mod(const_cast(x->value())); BOOST_TRY{ if(!super::modify_(x)){ deallocate_node(x); --node_count; return false; } else return true; } BOOST_CATCH(...){ deallocate_node(x); --node_count; BOOST_RETHROW; } BOOST_CATCH_END } template bool modify_(Modifier& mod,Rollback& back_,node_type* x) { mod(const_cast(x->value())); bool b; BOOST_TRY{ b=super::modify_rollback_(x); } BOOST_CATCH(...){ BOOST_TRY{ back_(const_cast(x->value())); BOOST_RETHROW; } BOOST_CATCH(...){ this->erase_(x); BOOST_RETHROW; } BOOST_CATCH_END } BOOST_CATCH_END BOOST_TRY{ if(!b){ back_(const_cast(x->value())); return false; } else return true; } BOOST_CATCH(...){ this->erase_(x); BOOST_RETHROW; } BOOST_CATCH_END } #if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION) /* serialization */ friend class boost::serialization::access; BOOST_SERIALIZATION_SPLIT_MEMBER() typedef typename super::index_saver_type index_saver_type; typedef typename super::index_loader_type index_loader_type; template void save(Archive& ar,const unsigned int version)const { const serialization::collection_size_type s(size_()); const detail::serialization_version value_version; ar< void load(Archive& ar,const unsigned int version) { BOOST_MULTI_INDEX_CHECK_INVARIANT; clear_(); serialization::collection_size_type s; detail::serialization_version value_version; if(version<1){ std::size_t sz; ar>>serialization::make_nvp("count",sz); s=static_cast(sz); } else{ ar>>serialization::make_nvp("count",s); } if(version<2){ value_version=0; } else{ ar>>serialization::make_nvp("value_version",value_version); } index_loader_type lm(bfm_allocator::member,s); for(std::size_t n=0;n value("item",ar,value_version); std::pair p=insert_( value.get(),super::end().get_node()); if(!p.second)throw_exception( archive::archive_exception( archive::archive_exception::other_exception)); ar.reset_object_address(&p.first->value(),&value.get()); lm.add(p.first,ar,version); } lm.add_track(header(),ar,version); super::load_(ar,version,lm); } #endif #if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING) /* invariant stuff */ bool invariant_()const { return super::invariant_(); } void check_invariant_()const { BOOST_MULTI_INDEX_INVARIANT_ASSERT(invariant_()); } #endif private: std::size_t node_count; #if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)&&\ BOOST_WORKAROUND(__MWERKS__,<=0x3003) #pragma parse_mfunc_templ reset #endif }; #if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1500)) #pragma warning(pop) /* C4522 */ #endif /* retrieval of indices by number */ template struct nth_index { BOOST_STATIC_CONSTANT( int, M=mpl::size::type::value); BOOST_STATIC_ASSERT(N>=0&&N::type type; }; template typename nth_index< multi_index_container,N>::type& get( multi_index_container& m)BOOST_NOEXCEPT { typedef multi_index_container< Value,IndexSpecifierList,Allocator> multi_index_type; typedef typename nth_index< multi_index_container< Value,IndexSpecifierList,Allocator>, N >::type index_type; BOOST_STATIC_ASSERT(N>=0&& N< mpl::size< BOOST_DEDUCED_TYPENAME multi_index_type::index_type_list >::type::value); return detail::converter::index(m); } template const typename nth_index< multi_index_container,N>::type& get( const multi_index_container& m )BOOST_NOEXCEPT { typedef multi_index_container< Value,IndexSpecifierList,Allocator> multi_index_type; typedef typename nth_index< multi_index_container< Value,IndexSpecifierList,Allocator>, N >::type index_type; BOOST_STATIC_ASSERT(N>=0&& N< mpl::size< BOOST_DEDUCED_TYPENAME multi_index_type::index_type_list >::type::value); return detail::converter::index(m); } /* retrieval of indices by tag */ template struct index { typedef typename MultiIndexContainer::index_type_list index_type_list; typedef typename mpl::find_if< index_type_list, detail::has_tag >::type iter; BOOST_STATIC_CONSTANT( bool,index_found=!(is_same::type >::value)); BOOST_STATIC_ASSERT(index_found); typedef typename mpl::deref::type type; }; template< typename Tag,typename Value,typename IndexSpecifierList,typename Allocator > typename ::boost::multi_index::index< multi_index_container,Tag>::type& get( multi_index_container& m)BOOST_NOEXCEPT { typedef multi_index_container< Value,IndexSpecifierList,Allocator> multi_index_type; typedef typename ::boost::multi_index::index< multi_index_container< Value,IndexSpecifierList,Allocator>, Tag >::type index_type; return detail::converter::index(m); } template< typename Tag,typename Value,typename IndexSpecifierList,typename Allocator > const typename ::boost::multi_index::index< multi_index_container,Tag>::type& get( const multi_index_container& m )BOOST_NOEXCEPT { typedef multi_index_container< Value,IndexSpecifierList,Allocator> multi_index_type; typedef typename ::boost::multi_index::index< multi_index_container< Value,IndexSpecifierList,Allocator>, Tag >::type index_type; return detail::converter::index(m); } /* projection of iterators by number */ template struct nth_index_iterator { typedef typename nth_index::type::iterator type; }; template struct nth_index_const_iterator { typedef typename nth_index::type::const_iterator type; }; template< int N,typename IteratorType, typename Value,typename IndexSpecifierList,typename Allocator> typename nth_index_iterator< multi_index_container,N>::type project( multi_index_container& m, IteratorType it) { typedef multi_index_container< Value,IndexSpecifierList,Allocator> multi_index_type; typedef typename nth_index::type index_type; #if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* Sun C++ 5.7 fails */ BOOST_STATIC_ASSERT(( mpl::contains< BOOST_DEDUCED_TYPENAME multi_index_type::iterator_type_list, IteratorType>::value)); #endif BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it); #if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) typedef detail::converter< multi_index_type, BOOST_DEDUCED_TYPENAME IteratorType::container_type> converter; BOOST_MULTI_INDEX_CHECK_IS_OWNER(it,converter::index(m)); #endif return detail::converter::iterator( m,static_cast(it.get_node())); } template< int N,typename IteratorType, typename Value,typename IndexSpecifierList,typename Allocator> typename nth_index_const_iterator< multi_index_container,N>::type project( const multi_index_container& m, IteratorType it) { typedef multi_index_container< Value,IndexSpecifierList,Allocator> multi_index_type; typedef typename nth_index::type index_type; #if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* Sun C++ 5.7 fails */ BOOST_STATIC_ASSERT(( mpl::contains< BOOST_DEDUCED_TYPENAME multi_index_type::iterator_type_list, IteratorType>::value|| mpl::contains< BOOST_DEDUCED_TYPENAME multi_index_type::const_iterator_type_list, IteratorType>::value)); #endif BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it); #if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) typedef detail::converter< multi_index_type, BOOST_DEDUCED_TYPENAME IteratorType::container_type> converter; BOOST_MULTI_INDEX_CHECK_IS_OWNER(it,converter::index(m)); #endif return detail::converter::const_iterator( m,static_cast(it.get_node())); } /* projection of iterators by tag */ template struct index_iterator { typedef typename ::boost::multi_index::index< MultiIndexContainer,Tag>::type::iterator type; }; template struct index_const_iterator { typedef typename ::boost::multi_index::index< MultiIndexContainer,Tag>::type::const_iterator type; }; template< typename Tag,typename IteratorType, typename Value,typename IndexSpecifierList,typename Allocator> typename index_iterator< multi_index_container,Tag>::type project( multi_index_container& m, IteratorType it) { typedef multi_index_container< Value,IndexSpecifierList,Allocator> multi_index_type; typedef typename ::boost::multi_index::index< multi_index_type,Tag>::type index_type; #if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* Sun C++ 5.7 fails */ BOOST_STATIC_ASSERT(( mpl::contains< BOOST_DEDUCED_TYPENAME multi_index_type::iterator_type_list, IteratorType>::value)); #endif BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it); #if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) typedef detail::converter< multi_index_type, BOOST_DEDUCED_TYPENAME IteratorType::container_type> converter; BOOST_MULTI_INDEX_CHECK_IS_OWNER(it,converter::index(m)); #endif return detail::converter::iterator( m,static_cast(it.get_node())); } template< typename Tag,typename IteratorType, typename Value,typename IndexSpecifierList,typename Allocator> typename index_const_iterator< multi_index_container,Tag>::type project( const multi_index_container& m, IteratorType it) { typedef multi_index_container< Value,IndexSpecifierList,Allocator> multi_index_type; typedef typename ::boost::multi_index::index< multi_index_type,Tag>::type index_type; #if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* Sun C++ 5.7 fails */ BOOST_STATIC_ASSERT(( mpl::contains< BOOST_DEDUCED_TYPENAME multi_index_type::iterator_type_list, IteratorType>::value|| mpl::contains< BOOST_DEDUCED_TYPENAME multi_index_type::const_iterator_type_list, IteratorType>::value)); #endif BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it); #if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE) typedef detail::converter< multi_index_type, BOOST_DEDUCED_TYPENAME IteratorType::container_type> converter; BOOST_MULTI_INDEX_CHECK_IS_OWNER(it,converter::index(m)); #endif return detail::converter::const_iterator( m,static_cast(it.get_node())); } /* Comparison. Simple forward to first index. */ template< typename Value1,typename IndexSpecifierList1,typename Allocator1, typename Value2,typename IndexSpecifierList2,typename Allocator2 > bool operator==( const multi_index_container& x, const multi_index_container& y) { return get<0>(x)==get<0>(y); } template< typename Value1,typename IndexSpecifierList1,typename Allocator1, typename Value2,typename IndexSpecifierList2,typename Allocator2 > bool operator<( const multi_index_container& x, const multi_index_container& y) { return get<0>(x)(y); } template< typename Value1,typename IndexSpecifierList1,typename Allocator1, typename Value2,typename IndexSpecifierList2,typename Allocator2 > bool operator!=( const multi_index_container& x, const multi_index_container& y) { return get<0>(x)!=get<0>(y); } template< typename Value1,typename IndexSpecifierList1,typename Allocator1, typename Value2,typename IndexSpecifierList2,typename Allocator2 > bool operator>( const multi_index_container& x, const multi_index_container& y) { return get<0>(x)>get<0>(y); } template< typename Value1,typename IndexSpecifierList1,typename Allocator1, typename Value2,typename IndexSpecifierList2,typename Allocator2 > bool operator>=( const multi_index_container& x, const multi_index_container& y) { return get<0>(x)>=get<0>(y); } template< typename Value1,typename IndexSpecifierList1,typename Allocator1, typename Value2,typename IndexSpecifierList2,typename Allocator2 > bool operator<=( const multi_index_container& x, const multi_index_container& y) { return get<0>(x)<=get<0>(y); } /* specialized algorithms */ template void swap( multi_index_container& x, multi_index_container& y) { x.swap(y); } } /* namespace multi_index */ #if !defined(BOOST_MULTI_INDEX_DISABLE_SERIALIZATION) /* class version = 1 : we now serialize the size through * boost::serialization::collection_size_type. * class version = 2 : proper use of {save|load}_construct_data. */ namespace serialization { template struct version< boost::multi_index_container > { BOOST_STATIC_CONSTANT(int,value=2); }; } /* namespace serialization */ #endif /* Associated global functions are promoted to namespace boost, except * comparison operators and swap, which are meant to be Koenig looked-up. */ using multi_index::get; using multi_index::project; } /* namespace boost */ #undef BOOST_MULTI_INDEX_CHECK_INVARIANT #undef BOOST_MULTI_INDEX_CHECK_INVARIANT_OF #endif KWStyle-master/Utilities/boost/multi_index_container_fwd.hpp000066400000000000000000000073001265471724600247640ustar00rootroot00000000000000/* Copyright 2003-2013 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/multi_index for library home page. */ #ifndef BOOST_MULTI_INDEX_FWD_HPP #define BOOST_MULTI_INDEX_FWD_HPP #if defined(_MSC_VER) #pragma once #endif #include /* keep it first to prevent nasty warns in MSVC */ #include #include #include #include namespace boost{ namespace multi_index{ /* Default value for IndexSpecifierList specifies a container * equivalent to std::set. */ template< typename Value, typename IndexSpecifierList=indexed_by > >, typename Allocator=std::allocator > class multi_index_container; template struct nth_index; template struct index; template struct nth_index_iterator; template struct nth_index_const_iterator; template struct index_iterator; template struct index_const_iterator; /* get and project functions not fwd declared due to problems * with dependent typenames */ template< typename Value1,typename IndexSpecifierList1,typename Allocator1, typename Value2,typename IndexSpecifierList2,typename Allocator2 > bool operator==( const multi_index_container& x, const multi_index_container& y); template< typename Value1,typename IndexSpecifierList1,typename Allocator1, typename Value2,typename IndexSpecifierList2,typename Allocator2 > bool operator<( const multi_index_container& x, const multi_index_container& y); template< typename Value1,typename IndexSpecifierList1,typename Allocator1, typename Value2,typename IndexSpecifierList2,typename Allocator2 > bool operator!=( const multi_index_container& x, const multi_index_container& y); template< typename Value1,typename IndexSpecifierList1,typename Allocator1, typename Value2,typename IndexSpecifierList2,typename Allocator2 > bool operator>( const multi_index_container& x, const multi_index_container& y); template< typename Value1,typename IndexSpecifierList1,typename Allocator1, typename Value2,typename IndexSpecifierList2,typename Allocator2 > bool operator>=( const multi_index_container& x, const multi_index_container& y); template< typename Value1,typename IndexSpecifierList1,typename Allocator1, typename Value2,typename IndexSpecifierList2,typename Allocator2 > bool operator<=( const multi_index_container& x, const multi_index_container& y); template void swap( multi_index_container& x, multi_index_container& y); } /* namespace multi_index */ /* multi_index_container, being the main type of this library, is promoted to * namespace boost. */ using multi_index::multi_index_container; } /* namespace boost */ #endif KWStyle-master/Utilities/boost/next_prior.hpp000066400000000000000000000100471265471724600217340ustar00rootroot00000000000000// Boost next_prior.hpp header file ---------------------------------------// // (C) Copyright Dave Abrahams and Daniel Walker 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. // Revision History // 13 Dec 2003 Added next(x, n) and prior(x, n) (Daniel Walker) #ifndef BOOST_NEXT_PRIOR_HPP_INCLUDED #define BOOST_NEXT_PRIOR_HPP_INCLUDED #include #if defined(_MSC_VER) && _MSC_VER <= 1310 #include #include #endif #include #include #include #include #include #include #include namespace boost { // Helper functions for classes like bidirectional iterators not supporting // operator+ and operator- // // Usage: // const std::list::iterator p = get_some_iterator(); // const std::list::iterator prev = boost::prior(p); // const std::list::iterator next = boost::next(prev, 2); // Contributed by Dave Abrahams namespace next_prior_detail { template< typename T, typename Distance, bool HasPlus = has_plus< T, Distance >::value > struct next_impl2 { static T call(T x, Distance n) { std::advance(x, n); return x; } }; template< typename T, typename Distance > struct next_impl2< T, Distance, true > { static T call(T x, Distance n) { return x + n; } }; template< typename T, typename Distance, bool HasPlusAssign = has_plus_assign< T, Distance >::value > struct next_impl1 : public next_impl2< T, Distance > { }; template< typename T, typename Distance > struct next_impl1< T, Distance, true > { static T call(T x, Distance n) { x += n; return x; } }; template< typename T, typename Distance, typename PromotedDistance = typename integral_promotion< Distance >::type, #if !defined(_MSC_VER) || _MSC_VER > 1310 bool IsUInt = is_unsigned< PromotedDistance >::value #else // MSVC 7.1 has problems with applying is_unsigned to non-integral types bool IsUInt = mpl::and_< is_integral< PromotedDistance >, is_unsigned< PromotedDistance > >::value #endif > struct prior_impl3 { static T call(T x, Distance n) { std::advance(x, -n); return x; } }; template< typename T, typename Distance, typename PromotedDistance > struct prior_impl3< T, Distance, PromotedDistance, true > { static T call(T x, Distance n) { typedef typename make_signed< PromotedDistance >::type signed_distance; std::advance(x, -static_cast< signed_distance >(static_cast< PromotedDistance >(n))); return x; } }; template< typename T, typename Distance, bool HasMinus = has_minus< T, Distance >::value > struct prior_impl2 : public prior_impl3< T, Distance > { }; template< typename T, typename Distance > struct prior_impl2< T, Distance, true > { static T call(T x, Distance n) { return x - n; } }; template< typename T, typename Distance, bool HasMinusAssign = has_minus_assign< T, Distance >::value > struct prior_impl1 : public prior_impl2< T, Distance > { }; template< typename T, typename Distance > struct prior_impl1< T, Distance, true > { static T call(T x, Distance n) { x -= n; return x; } }; } // namespace next_prior_detail template inline T next(T x) { return ++x; } template inline T next(T x, Distance n) { return next_prior_detail::next_impl1< T, Distance >::call(x, n); } template inline T prior(T x) { return --x; } template inline T prior(T x, Distance n) { return next_prior_detail::prior_impl1< T, Distance >::call(x, n); } } // namespace boost #endif // BOOST_NEXT_PRIOR_HPP_INCLUDED KWStyle-master/Utilities/boost/non_type.hpp000066400000000000000000000011531265471724600213740ustar00rootroot00000000000000// ------------------------------------- // // (C) Copyright Gennaro Prota 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_NON_TYPE_HPP_GP_20030417 #define BOOST_NON_TYPE_HPP_GP_20030417 namespace boost { // Just a simple "envelope" for non-type template parameters. Useful // to work around some MSVC deficiencies. template struct non_type { }; } #endif // include guard KWStyle-master/Utilities/boost/noncopyable.hpp000066400000000000000000000006221265471724600220520ustar00rootroot00000000000000/* * 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 KWStyle-master/Utilities/boost/nondet_random.hpp000066400000000000000000000010241265471724600223650ustar00rootroot00000000000000/* boost nondet_random.hpp header file * * 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) * * $Id$ * * Revision history * 2000-02-18 Portability fixes (thanks to Beman Dawes) */ // See http://www.boost.org/libs/random for documentation. #ifndef BOOST_NONDET_RANDOM_HPP #define BOOST_NONDET_RANDOM_HPP #include #endif /* BOOST_NONDET_RANDOM_HPP */ KWStyle-master/Utilities/boost/none.hpp000066400000000000000000000025541265471724600205060ustar00rootroot00000000000000// Copyright (C) 2003, Fernando Luis Cacciola Carballal. // Copyright (C) 2014 Andrzej Krzemienski. // // Distributed under the Boost Software License, Version 1.0. // (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_17SEP2003_HPP #define BOOST_NONE_17SEP2003_HPP #include "boost/none_t.hpp" // NOTE: Borland users have to include this header outside any precompiled headers // (bcc<=5.64 cannot include instance data in a precompiled header) // -- * To be verified, now that there's no unnamed namespace namespace boost { #ifdef BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE none_t const none = (static_cast(0)) ; #else namespace detail { namespace optional_detail { // the trick here is to make boost::none defined once as a global but in a header file template struct none_instance { static const T instance; }; template const T none_instance::instance = T(); // global, but because 'tis a template, no cpp file required } } // namespace detail::optional_detail namespace { // TU-local const none_t& none = detail::optional_detail::none_instance::instance; } #endif } // namespace boost #endif KWStyle-master/Utilities/boost/none_t.hpp000066400000000000000000000013261265471724600210250ustar00rootroot00000000000000// Copyright (C) 2003, Fernando Luis Cacciola Carballal. // Copyright (C) 2014 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 namespace boost { #ifdef BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE namespace detail { struct none_helper{}; } typedef int detail::none_helper::*none_t ; #else class none_t {}; #endif } // namespace boost #endif KWStyle-master/Utilities/boost/numeric/000077500000000000000000000000001265471724600204725ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/conversion/000077500000000000000000000000001265471724600226575ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/conversion/bounds.hpp000066400000000000000000000013021265471724600246560ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_BOUNDS_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_BOUNDS_12NOV2002_HPP #include "boost/numeric/conversion/detail/bounds.hpp" namespace boost { namespace numeric { template struct bounds : boundsdetail::get_impl::type {} ; } } // namespace boost::numeric #endif KWStyle-master/Utilities/boost/numeric/conversion/cast.hpp000066400000000000000000000041631265471724600243260ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // // // Revision History // // 19 Nov 2001 Syntatic changes as suggested by Darin Adler (Fernando Cacciola) // 08 Nov 2001 Fixes to accommodate MSVC (Fernando Cacciola) // 04 Nov 2001 Fixes to accommodate gcc2.92 (Fernando Cacciola) // 30 Oct 2001 Some fixes suggested by Daryle Walker (Fernando Cacciola) // 25 Oct 2001 Initial boostification (Fernando Cacciola) // 23 Jan 2004 Inital add to cvs (post review)s // 22 Jun 2011 Added support for specializing cast policies via numeric_cast_traits (Brandon Kohn). // #ifndef BOOST_NUMERIC_CONVERSION_CAST_25OCT2001_HPP #define BOOST_NUMERIC_CONVERSION_CAST_25OCT2001_HPP #include #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) # include #else #include #include #include namespace boost { template inline Target numeric_cast( Source arg ) { typedef numeric::conversion_traits conv_traits; typedef numeric::numeric_cast_traits cast_traits; typedef boost::numeric::converter < Target, Source, conv_traits, typename cast_traits::overflow_policy, typename cast_traits::rounding_policy, boost::numeric::raw_converter< conv_traits >, typename cast_traits::range_checking_policy > converter; return converter::convert(arg); } using numeric::bad_numeric_cast; } // namespace boost #endif #endif KWStyle-master/Utilities/boost/numeric/conversion/conversion_traits.hpp000066400000000000000000000024321265471724600271440ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_CONVERSION_TRAITS_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_CONVERSION_TRAITS_FLC_12NOV2002_HPP #include "boost/numeric/conversion/detail/conversion_traits.hpp" #include "boost/detail/workaround.hpp" #include "boost/config.hpp" namespace boost { namespace numeric { template struct conversion_traits : convdetail::get_conversion_traits::type { #if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) typedef typename convdetail::get_conversion_traits::type base_; typedef typename base_::target_type target_type; typedef typename base_::source_type source_type; typedef typename base_::result_type result_type; typedef typename base_::argument_type argument_type; #endif } ; } } // namespace boost::numeric #endif // /////////////////////////////////////////////////////////////////////////////////////////////// KWStyle-master/Utilities/boost/numeric/conversion/converter.hpp000066400000000000000000000042771265471724600254110ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_CONVERTER_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_CONVERTER_FLC_12NOV2002_HPP #include "boost/numeric/conversion/conversion_traits.hpp" #include "boost/numeric/conversion/converter_policies.hpp" #include "boost/numeric/conversion/detail/converter.hpp" namespace boost { namespace numeric { template, class OverflowHandler = def_overflow_handler, class Float2IntRounder = Trunc< BOOST_DEDUCED_TYPENAME Traits::source_type> , class RawConverter = raw_converter, class UserRangeChecker = UseInternalRangeChecker > struct converter : convdetail::get_converter_impl::type { typedef Traits traits ; typedef typename Traits::argument_type argument_type ; typedef typename Traits::result_type result_type ; result_type operator() ( argument_type s ) const { return this->convert(s) ; } } ; template , class UserRangeChecker = UseInternalRangeChecker > struct make_converter_from { template, class RawConverter = raw_converter > struct to { typedef converter type ; } ; } ; } } // namespace boost::numeric #endif KWStyle-master/Utilities/boost/numeric/conversion/converter_policies.hpp000066400000000000000000000105661265471724600272760ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_CONVERTER_POLICIES_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_CONVERTER_POLICIES_FLC_12NOV2002_HPP #include // for std::bad_cast #include // for std::floor and std::ceil #include #include #include "boost/type_traits/is_arithmetic.hpp" #include "boost/mpl/if.hpp" #include "boost/mpl/integral_c.hpp" namespace boost { namespace numeric { template struct Trunc { typedef S source_type ; typedef typename mpl::if_< is_arithmetic,S,S const&>::type argument_type ; static source_type nearbyint ( argument_type s ) { #if !defined(BOOST_NO_STDC_NAMESPACE) using std::floor ; using std::ceil ; #endif return s < static_cast(0) ? ceil(s) : floor(s) ; } typedef mpl::integral_c< std::float_round_style, std::round_toward_zero> round_style ; } ; template struct Floor { typedef S source_type ; typedef typename mpl::if_< is_arithmetic,S,S const&>::type argument_type ; static source_type nearbyint ( argument_type s ) { #if !defined(BOOST_NO_STDC_NAMESPACE) using std::floor ; #endif return floor(s) ; } typedef mpl::integral_c< std::float_round_style, std::round_toward_neg_infinity> round_style ; } ; template struct Ceil { typedef S source_type ; typedef typename mpl::if_< is_arithmetic,S,S const&>::type argument_type ; static source_type nearbyint ( argument_type s ) { #if !defined(BOOST_NO_STDC_NAMESPACE) using std::ceil ; #endif return ceil(s) ; } typedef mpl::integral_c< std::float_round_style, std::round_toward_infinity> round_style ; } ; template struct RoundEven { typedef S source_type ; typedef typename mpl::if_< is_arithmetic,S,S const&>::type argument_type ; static source_type nearbyint ( argument_type s ) { // Algorithm contributed by Guillaume Melquiond #if !defined(BOOST_NO_STDC_NAMESPACE) using std::floor ; using std::ceil ; #endif // only works inside the range not at the boundaries S prev = floor(s); S next = ceil(s); S rt = (s - prev) - (next - s); // remainder type S const zero(0.0); S const two(2.0); if ( rt < zero ) return prev; else if ( rt > zero ) return next; else { bool is_prev_even = two * floor(prev / two) == prev ; return ( is_prev_even ? prev : next ) ; } } typedef mpl::integral_c< std::float_round_style, std::round_to_nearest> round_style ; } ; enum range_check_result { cInRange = 0 , cNegOverflow = 1 , cPosOverflow = 2 } ; class bad_numeric_cast : public std::bad_cast { public: virtual const char * what() const throw() { return "bad numeric conversion: overflow"; } }; class negative_overflow : public bad_numeric_cast { public: virtual const char * what() const throw() { return "bad numeric conversion: negative overflow"; } }; class positive_overflow : public bad_numeric_cast { public: virtual const char * what() const throw() { return "bad numeric conversion: positive overflow"; } }; struct def_overflow_handler { void operator() ( range_check_result r ) // throw(negative_overflow,positive_overflow) { #ifndef BOOST_NO_EXCEPTIONS if ( r == cNegOverflow ) throw negative_overflow() ; else if ( r == cPosOverflow ) throw positive_overflow() ; #else if ( r == cNegOverflow ) ::boost::throw_exception(negative_overflow()) ; else if ( r == cPosOverflow ) ::boost::throw_exception(positive_overflow()) ; #endif } } ; struct silent_overflow_handler { void operator() ( range_check_result ) {} // throw() } ; template struct raw_converter { typedef typename Traits::result_type result_type ; typedef typename Traits::argument_type argument_type ; static result_type low_level_convert ( argument_type s ) { return static_cast(s) ; } } ; struct UseInternalRangeChecker {} ; } } // namespace boost::numeric #endif KWStyle-master/Utilities/boost/numeric/conversion/detail/000077500000000000000000000000001265471724600241215ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/conversion/detail/bounds.hpp000066400000000000000000000034341265471724600261300ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_BOUNDS_DETAIL_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_BOUNDS_DETAIL_FLC_12NOV2002_HPP #include "boost/limits.hpp" #include "boost/config.hpp" #include "boost/mpl/if.hpp" namespace boost { namespace numeric { namespace boundsdetail { template class Integral { typedef std::numeric_limits limits ; public : static N lowest () { return limits::min BOOST_PREVENT_MACRO_SUBSTITUTION (); } static N highest () { return limits::max BOOST_PREVENT_MACRO_SUBSTITUTION (); } static N smallest() { return static_cast(1); } } ; template class Float { typedef std::numeric_limits limits ; public : static N lowest () { return static_cast(-limits::max BOOST_PREVENT_MACRO_SUBSTITUTION ()) ; } static N highest () { return limits::max BOOST_PREVENT_MACRO_SUBSTITUTION (); } static N smallest() { return limits::min BOOST_PREVENT_MACRO_SUBSTITUTION (); } } ; template struct get_impl { typedef mpl::bool_< ::std::numeric_limits::is_integer > is_int ; typedef Integral impl_int ; typedef Float impl_float ; typedef typename mpl::if_::type type ; } ; } } } // namespace boost::numeric::boundsdetail. #endif // /////////////////////////////////////////////////////////////////////////////////////////////// KWStyle-master/Utilities/boost/numeric/conversion/detail/conversion_traits.hpp000066400000000000000000000070031265471724600304050ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_DETAIL_CONVERSION_TRAITS_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_DETAIL_CONVERSION_TRAITS_FLC_12NOV2002_HPP #include "boost/type_traits/is_arithmetic.hpp" #include "boost/type_traits/is_same.hpp" #include "boost/type_traits/remove_cv.hpp" #include "boost/numeric/conversion/detail/meta.hpp" #include "boost/numeric/conversion/detail/int_float_mixture.hpp" #include "boost/numeric/conversion/detail/sign_mixture.hpp" #include "boost/numeric/conversion/detail/udt_builtin_mixture.hpp" #include "boost/numeric/conversion/detail/is_subranged.hpp" namespace boost { namespace numeric { namespace convdetail { //------------------------------------------------------------------- // Implementation of the Conversion Traits for T != S // // This is a VISIBLE base class of the user-level conversion_traits<> class. //------------------------------------------------------------------- template struct non_trivial_traits_impl { typedef typename get_int_float_mixture ::type int_float_mixture ; typedef typename get_sign_mixture ::type sign_mixture ; typedef typename get_udt_builtin_mixture ::type udt_builtin_mixture ; typedef typename get_is_subranged::type subranged ; typedef mpl::false_ trivial ; typedef T target_type ; typedef S source_type ; typedef T result_type ; typedef typename mpl::if_< is_arithmetic, S, S const&>::type argument_type ; typedef typename mpl::if_::type supertype ; typedef typename mpl::if_::type subtype ; } ; //------------------------------------------------------------------- // Implementation of the Conversion Traits for T == S // // This is a VISIBLE base class of the user-level conversion_traits<> class. //------------------------------------------------------------------- template struct trivial_traits_impl { typedef typename get_int_float_mixture ::type int_float_mixture ; typedef typename get_sign_mixture ::type sign_mixture ; typedef typename get_udt_builtin_mixture::type udt_builtin_mixture ; typedef mpl::false_ subranged ; typedef mpl::true_ trivial ; typedef N target_type ; typedef N source_type ; typedef N const& result_type ; typedef N const& argument_type ; typedef N supertype ; typedef N subtype ; } ; //------------------------------------------------------------------- // Top level implementation selector. //------------------------------------------------------------------- template struct get_conversion_traits { typedef typename remove_cv::type target_type ; typedef typename remove_cv::type source_type ; typedef typename is_same::type is_trivial ; typedef trivial_traits_impl trivial_imp ; typedef non_trivial_traits_impl non_trivial_imp ; typedef typename mpl::if_::type type ; } ; } } } // namespace boost::numeric::convdetail #endif KWStyle-master/Utilities/boost/numeric/conversion/detail/converter.hpp000066400000000000000000000471131265471724600266470ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_DETAIL_CONVERTER_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_DETAIL_CONVERTER_FLC_12NOV2002_HPP #include #include "boost/numeric/conversion/detail/meta.hpp" #include "boost/numeric/conversion/detail/conversion_traits.hpp" #include "boost/numeric/conversion/bounds.hpp" #include "boost/type_traits/is_same.hpp" #include "boost/mpl/integral_c.hpp" namespace boost { namespace numeric { namespace convdetail { // Integral Constants representing rounding modes typedef mpl::integral_c round2zero_c ; typedef mpl::integral_c round2nearest_c ; typedef mpl::integral_c round2inf_c ; typedef mpl::integral_c round2neg_inf_c ; // Metafunction: // // for_round_style::type // // {RoundStyle} Integral Constant specifying a round style as declared above. // {RoundToZero,RoundToNearest,RoundToInf,RoundToNegInf} arbitrary types. // // Selects one of the 4 types according to the value of RoundStyle. // template struct for_round_style { typedef ct_switch4 selector ; typedef typename selector::type type ; } ; //-------------------------------------------------------------------------- // Range Checking Logic. // // The range checking logic is built up by combining 1 or 2 predicates. // Each predicate is encapsulated in a template class and exposes // the static member function 'apply'. // //-------------------------------------------------------------------------- // Because a particular logic can combine either 1 or two predicates, the following // tags are used to allow the predicate applier to receive 2 preds, but optimize away // one of them if it is 'non-applicable' struct non_applicable { typedef mpl::false_ do_apply ; } ; struct applicable { typedef mpl::true_ do_apply ; } ; //-------------------------------------------------------------------------- // // Range Checking Logic implementations. // // The following classes, collectivelly named 'Predicates', are instantiated within // the corresponding range checkers. // Their static member function 'apply' is called to perform the actual range checking logic. //-------------------------------------------------------------------------- // s < Lowest(T) ? cNegOverflow : cInRange // template struct LT_LoT : applicable { typedef typename Traits::target_type T ; typedef typename Traits::source_type S ; typedef typename Traits::argument_type argument_type ; static range_check_result apply ( argument_type s ) { return s < static_cast(bounds::lowest()) ? cNegOverflow : cInRange ; } } ; // s < 0 ? cNegOverflow : cInRange // template struct LT_Zero : applicable { typedef typename Traits::source_type S ; typedef typename Traits::argument_type argument_type ; static range_check_result apply ( argument_type s ) { return s < static_cast(0) ? cNegOverflow : cInRange ; } } ; // s <= Lowest(T)-1 ? cNegOverflow : cInRange // template struct LE_PrevLoT : applicable { typedef typename Traits::target_type T ; typedef typename Traits::source_type S ; typedef typename Traits::argument_type argument_type ; static range_check_result apply ( argument_type s ) { return s <= static_cast(bounds::lowest()) - static_cast(1.0) ? cNegOverflow : cInRange ; } } ; // s < Lowest(T)-0.5 ? cNegOverflow : cInRange // template struct LT_HalfPrevLoT : applicable { typedef typename Traits::target_type T ; typedef typename Traits::source_type S ; typedef typename Traits::argument_type argument_type ; static range_check_result apply ( argument_type s ) { return s < static_cast(bounds::lowest()) - static_cast(0.5) ? cNegOverflow : cInRange ; } } ; // s > Highest(T) ? cPosOverflow : cInRange // template struct GT_HiT : applicable { typedef typename Traits::target_type T ; typedef typename Traits::source_type S ; typedef typename Traits::argument_type argument_type ; static range_check_result apply ( argument_type s ) { return s > static_cast(bounds::highest()) ? cPosOverflow : cInRange ; } } ; // s >= Lowest(T) + 1 ? cPosOverflow : cInRange // template struct GE_SuccHiT : applicable { typedef typename Traits::target_type T ; typedef typename Traits::source_type S ; typedef typename Traits::argument_type argument_type ; static range_check_result apply ( argument_type s ) { return s >= static_cast(bounds::highest()) + static_cast(1.0) ? cPosOverflow : cInRange ; } } ; // s >= Lowest(T) + 0.5 ? cPosgOverflow : cInRange // template struct GT_HalfSuccHiT : applicable { typedef typename Traits::target_type T ; typedef typename Traits::source_type S ; typedef typename Traits::argument_type argument_type ; static range_check_result apply ( argument_type s ) { return s >= static_cast(bounds::highest()) + static_cast(0.5) ? cPosOverflow : cInRange ; } } ; //-------------------------------------------------------------------------- // // Predicate Combiner. // // This helper classes are used to possibly combine the range checking logic // individually performed by the predicates // //-------------------------------------------------------------------------- // Applies both predicates: first 'PredA', and if it equals 'cInRange', 'PredB' template struct applyBoth { typedef typename PredA::argument_type argument_type ; static range_check_result apply ( argument_type s ) { range_check_result r = PredA::apply(s) ; if ( r == cInRange ) r = PredB::apply(s); return r ; } } ; template struct combine { typedef applyBoth Both ; typedef void NNone ; // 'None' is defined as a macro in (/usr/X11R6/include/X11/X.h) typedef typename PredA::do_apply do_applyA ; typedef typename PredB::do_apply do_applyB ; typedef typename for_both::type type ; } ; //-------------------------------------------------------------------------- // Range Checker classes. // // The following classes are VISIBLE base classes of the user-level converter<> class. // They supply the optimized 'out_of_range()' and 'validate_range()' static member functions // visible in the user interface. // //-------------------------------------------------------------------------- // Dummy range checker. template struct dummy_range_checker { typedef typename Traits::argument_type argument_type ; static range_check_result out_of_range ( argument_type ) { return cInRange ; } static void validate_range ( argument_type ) {} } ; // Generic range checker. // // All the range checking logic for all possible combinations of source and target // can be arranged in terms of one or two predicates, which test overflow on both neg/pos 'sides' // of the ranges. // // These predicates are given here as IsNegOverflow and IsPosOverflow. // template struct generic_range_checker { typedef OverflowHandler overflow_handler ; typedef typename Traits::argument_type argument_type ; static range_check_result out_of_range ( argument_type s ) { typedef typename combine::type Predicate ; return Predicate::apply(s); } static void validate_range ( argument_type s ) { OverflowHandler()( out_of_range(s) ) ; } } ; //-------------------------------------------------------------------------- // // Selectors for the optimized Range Checker class. // //-------------------------------------------------------------------------- template struct GetRC_Sig2Sig_or_Unsig2Unsig { typedef dummy_range_checker Dummy ; typedef LT_LoT Pred1 ; typedef GT_HiT Pred2 ; typedef generic_range_checker Normal ; typedef typename Traits::subranged subranged ; typedef typename mpl::if_::type type ; } ; template struct GetRC_Sig2Unsig { typedef LT_Zero Pred1 ; typedef GT_HiT Pred2 ; typedef generic_range_checker ChoiceA ; typedef generic_range_checker ChoiceB ; typedef typename Traits::target_type T ; typedef typename Traits::source_type S ; typedef typename subranged_Unsig2Sig::type oposite_subranged ; typedef typename mpl::not_::type positively_subranged ; typedef typename mpl::if_::type type ; } ; template struct GetRC_Unsig2Sig { typedef GT_HiT Pred1 ; typedef generic_range_checker type ; } ; template struct GetRC_Int2Int { typedef GetRC_Sig2Sig_or_Unsig2Unsig Sig2SigQ ; typedef GetRC_Sig2Unsig Sig2UnsigQ ; typedef GetRC_Unsig2Sig Unsig2SigQ ; typedef Sig2SigQ Unsig2UnsigQ ; typedef typename Traits::sign_mixture sign_mixture ; typedef typename for_sign_mixture::type selector ; typedef typename selector::type type ; } ; template struct GetRC_Int2Float { typedef dummy_range_checker type ; } ; template struct GetRC_Float2Int { typedef LE_PrevLoT Pred1 ; typedef GE_SuccHiT Pred2 ; typedef LT_HalfPrevLoT Pred3 ; typedef GT_HalfSuccHiT Pred4 ; typedef GT_HiT Pred5 ; typedef LT_LoT Pred6 ; typedef generic_range_checker ToZero ; typedef generic_range_checker ToNearest ; typedef generic_range_checker ToInf ; typedef generic_range_checker ToNegInf ; typedef typename Float2IntRounder::round_style round_style ; typedef typename for_round_style::type type ; } ; template struct GetRC_Float2Float { typedef dummy_range_checker Dummy ; typedef LT_LoT Pred1 ; typedef GT_HiT Pred2 ; typedef generic_range_checker Normal ; typedef typename Traits::subranged subranged ; typedef typename mpl::if_::type type ; } ; template struct GetRC_BuiltIn2BuiltIn { typedef GetRC_Int2Int Int2IntQ ; typedef GetRC_Int2Float Int2FloatQ ; typedef GetRC_Float2Int Float2IntQ ; typedef GetRC_Float2Float Float2FloatQ ; typedef typename Traits::int_float_mixture int_float_mixture ; typedef typename for_int_float_mixture::type selector ; typedef typename selector::type type ; } ; template struct GetRC { typedef GetRC_BuiltIn2BuiltIn BuiltIn2BuiltInQ ; typedef dummy_range_checker Dummy ; typedef mpl::identity DummyQ ; typedef typename Traits::udt_builtin_mixture udt_builtin_mixture ; typedef typename for_udt_builtin_mixture::type selector ; typedef typename selector::type type ; } ; //-------------------------------------------------------------------------- // Converter classes. // // The following classes are VISIBLE base classes of the user-level converter<> class. // They supply the optimized 'nearbyint()' and 'convert()' static member functions // visible in the user interface. // //-------------------------------------------------------------------------- // // Trivial Converter : used when (cv-unqualified) T == (cv-unqualified) S // template struct trivial_converter_impl : public std::unary_function< BOOST_DEDUCED_TYPENAME Traits::argument_type ,BOOST_DEDUCED_TYPENAME Traits::result_type > ,public dummy_range_checker { typedef Traits traits ; typedef typename Traits::source_type source_type ; typedef typename Traits::argument_type argument_type ; typedef typename Traits::result_type result_type ; static result_type low_level_convert ( argument_type s ) { return s ; } static source_type nearbyint ( argument_type s ) { return s ; } static result_type convert ( argument_type s ) { return s ; } } ; // // Rounding Converter : used for float to integral conversions. // template struct rounding_converter : public std::unary_function< BOOST_DEDUCED_TYPENAME Traits::argument_type ,BOOST_DEDUCED_TYPENAME Traits::result_type > ,public RangeChecker ,public Float2IntRounder ,public RawConverter { typedef RangeChecker RangeCheckerBase ; typedef Float2IntRounder Float2IntRounderBase ; typedef RawConverter RawConverterBase ; typedef Traits traits ; typedef typename Traits::source_type source_type ; typedef typename Traits::argument_type argument_type ; typedef typename Traits::result_type result_type ; static result_type convert ( argument_type s ) { RangeCheckerBase::validate_range(s); source_type s1 = Float2IntRounderBase::nearbyint(s); return RawConverterBase::low_level_convert(s1); } } ; // // Non-Rounding Converter : used for all other conversions. // template struct non_rounding_converter : public std::unary_function< BOOST_DEDUCED_TYPENAME Traits::argument_type ,BOOST_DEDUCED_TYPENAME Traits::result_type > ,public RangeChecker ,public RawConverter { typedef RangeChecker RangeCheckerBase ; typedef RawConverter RawConverterBase ; typedef Traits traits ; typedef typename Traits::source_type source_type ; typedef typename Traits::argument_type argument_type ; typedef typename Traits::result_type result_type ; static source_type nearbyint ( argument_type s ) { return s ; } static result_type convert ( argument_type s ) { RangeCheckerBase::validate_range(s); return RawConverterBase::low_level_convert(s); } } ; //-------------------------------------------------------------------------- // // Selectors for the optimized Converter class. // //-------------------------------------------------------------------------- template struct get_non_trivial_converter { typedef GetRC InternalRangeCheckerQ ; typedef is_same use_internal_RC ; typedef mpl::identity UserRangeCheckerQ ; typedef typename mpl::eval_if::type RangeChecker ; typedef non_rounding_converter NonRounding ; typedef rounding_converter Rounding ; typedef mpl::identity NonRoundingQ ; typedef mpl::identity RoundingQ ; typedef typename Traits::int_float_mixture int_float_mixture ; typedef typename for_int_float_mixture::type selector ; typedef typename selector::type type ; } ; template< class Traits ,class OverflowHandler ,class Float2IntRounder ,class RawConverter ,class UserRangeChecker > struct get_converter_impl { #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT( 0x0561 ) ) // bcc55 prefers sometimes template parameters to be explicit local types. // (notice that is is illegal to reuse the names like this) typedef Traits Traits ; typedef OverflowHandler OverflowHandler ; typedef Float2IntRounder Float2IntRounder ; typedef RawConverter RawConverter ; typedef UserRangeChecker UserRangeChecker ; #endif typedef trivial_converter_impl Trivial ; typedef mpl::identity TrivialQ ; typedef get_non_trivial_converter< Traits ,OverflowHandler ,Float2IntRounder ,RawConverter ,UserRangeChecker > NonTrivialQ ; typedef typename Traits::trivial trivial ; typedef typename mpl::eval_if::type type ; } ; } } } // namespace boost::numeric::convdetail #endif KWStyle-master/Utilities/boost/numeric/conversion/detail/int_float_mixture.hpp000066400000000000000000000050501265471724600303660ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_DETAIL_INT_FLOAT_MIXTURE_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_DETAIL_INT_FLOAT_MIXTURE_FLC_12NOV2002_HPP #include "boost/config.hpp" #include "boost/limits.hpp" #include "boost/numeric/conversion/int_float_mixture_enum.hpp" #include "boost/numeric/conversion/detail/meta.hpp" #include "boost/mpl/integral_c.hpp" namespace boost { namespace numeric { namespace convdetail { // Integral Constants for 'IntFloatMixture' typedef mpl::integral_c int2int_c ; typedef mpl::integral_c int2float_c ; typedef mpl::integral_c float2int_c ; typedef mpl::integral_c float2float_c ; // Metafunction: // // get_int_float_mixture::type // // Selects the appropriate Int-Float Mixture Integral Constant for the combination T,S. // template struct get_int_float_mixture { typedef mpl::bool_< ::std::numeric_limits::is_integer > S_int ; typedef mpl::bool_< ::std::numeric_limits::is_integer > T_int ; typedef typename for_both::type type ; } ; // Metafunction: // // for_int_float_mixture::type // // {Mixture} is one of the Integral Constants for Mixture, declared above. // {int_int,int_float,float_int,float_float} are aribtrary types. (not metafunctions) // // According to the value of 'IntFloatMixture', selects the corresponding type. // template struct for_int_float_mixture { typedef typename ct_switch4::type type ; } ; } } } // namespace boost::numeric::convdetail #endif // /////////////////////////////////////////////////////////////////////////////////////////////// KWStyle-master/Utilities/boost/numeric/conversion/detail/is_subranged.hpp000066400000000000000000000170061265471724600273030ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_DETAIL_IS_SUBRANGED_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_DETAIL_IS_SUBRANGED_FLC_12NOV2002_HPP #include "boost/config.hpp" #include "boost/limits.hpp" #include "boost/mpl/int.hpp" #include "boost/mpl/multiplies.hpp" #include "boost/mpl/less.hpp" #include "boost/mpl/equal_to.hpp" #include "boost/type_traits/is_same.hpp" #include "boost/numeric/conversion/detail/meta.hpp" #include "boost/numeric/conversion/detail/int_float_mixture.hpp" #include "boost/numeric/conversion/detail/sign_mixture.hpp" #include "boost/numeric/conversion/detail/udt_builtin_mixture.hpp" namespace boost { namespace numeric { namespace convdetail { //--------------------------------------------------------------- // Implementations of the compile time predicate "T is subranged" //--------------------------------------------------------------- // for integral to integral conversions template struct subranged_Sig2Unsig { // Signed to unsigned conversions are 'subranged' because of possible loose // of negative values. typedef mpl::true_ type ; } ; // for unsigned integral to signed integral conversions template struct subranged_Unsig2Sig { // IMPORTANT NOTE: // // This code assumes that signed/unsigned integral values are represented // such that: // // numeric_limits::digits + 1 == numeric_limits::digits // // The '+1' is required since numeric_limits<>::digits gives 1 bit less for signed integral types. // // This fact is used by the following logic: // // if ( (numeric_limits::digits+1) < (2*numeric_limits::digits) ) // then the conversion is subranged. // typedef mpl::int_< ::std::numeric_limits::digits > S_digits ; typedef mpl::int_< ::std::numeric_limits::digits > T_digits ; // T is signed, so take digits+1 typedef typename T_digits::next u_T_digits ; typedef mpl::int_<2> Two ; typedef typename mpl::multiplies::type S_digits_times_2 ; typedef typename mpl::less::type type ; } ; // for integral to integral conversions of the same sign. template struct subranged_SameSign { // An integral conversion of the same sign is subranged if digits(T) < digits(S). typedef mpl::int_< ::std::numeric_limits::digits > S_digits ; typedef mpl::int_< ::std::numeric_limits::digits > T_digits ; typedef typename mpl::less::type type ; } ; // for integral to float conversions template struct subranged_Int2Float { typedef mpl::false_ type ; } ; // for float to integral conversions template struct subranged_Float2Int { typedef mpl::true_ type ; } ; // for float to float conversions template struct subranged_Float2Float { // If both T and S are floats, // compare exponent bits and if they match, mantisa bits. typedef mpl::int_< ::std::numeric_limits::digits > S_mantisa ; typedef mpl::int_< ::std::numeric_limits::digits > T_mantisa ; typedef mpl::int_< ::std::numeric_limits::max_exponent > S_exponent ; typedef mpl::int_< ::std::numeric_limits::max_exponent > T_exponent ; typedef typename mpl::less::type T_smaller_exponent ; typedef typename mpl::equal_to::type equal_exponents ; typedef mpl::less T_smaller_mantisa ; typedef mpl::eval_if not_bigger_exponent_case ; typedef typename mpl::eval_if::type type ; } ; // for Udt to built-in conversions template struct subranged_Udt2BuiltIn { typedef mpl::true_ type ; } ; // for built-in to Udt conversions template struct subranged_BuiltIn2Udt { typedef mpl::false_ type ; } ; // for Udt to Udt conversions template struct subranged_Udt2Udt { typedef mpl::false_ type ; } ; //------------------------------------------------------------------- // Selectors for the implementations of the subranged predicate //------------------------------------------------------------------- template struct get_subranged_Int2Int { typedef subranged_SameSign Sig2Sig ; typedef subranged_Sig2Unsig Sig2Unsig ; typedef subranged_Unsig2Sig Unsig2Sig ; typedef Sig2Sig Unsig2Unsig ; typedef typename get_sign_mixture::type sign_mixture ; typedef typename for_sign_mixture::type type ; } ; template struct get_subranged_BuiltIn2BuiltIn { typedef get_subranged_Int2Int Int2IntQ ; typedef subranged_Int2Float Int2Float ; typedef subranged_Float2Int Float2Int ; typedef subranged_Float2Float Float2Float ; typedef mpl::identity Int2FloatQ ; typedef mpl::identity Float2IntQ ; typedef mpl::identity Float2FloatQ ; typedef typename get_int_float_mixture::type int_float_mixture ; typedef for_int_float_mixture for_ ; typedef typename for_::type selected ; typedef typename selected::type type ; } ; template struct get_subranged { typedef get_subranged_BuiltIn2BuiltIn BuiltIn2BuiltInQ ; typedef subranged_BuiltIn2Udt BuiltIn2Udt ; typedef subranged_Udt2BuiltIn Udt2BuiltIn ; typedef subranged_Udt2Udt Udt2Udt ; typedef mpl::identity BuiltIn2UdtQ ; typedef mpl::identity Udt2BuiltInQ ; typedef mpl::identity Udt2UdtQ ; typedef typename get_udt_builtin_mixture::type udt_builtin_mixture ; typedef typename for_udt_builtin_mixture::type selected ; typedef typename selected::type selected2 ; typedef typename selected2::type type ; } ; //------------------------------------------------------------------- // Top level implementation selector. //------------------------------------------------------------------- template struct get_is_subranged { typedef get_subranged non_trivial_case ; typedef mpl::identity trivial_case ; typedef is_same is_trivial ; typedef typename mpl::if_::type selected ; typedef typename selected::type type ; } ; } } } // namespace boost::numeric::convdetail #endif KWStyle-master/Utilities/boost/numeric/conversion/detail/meta.hpp000066400000000000000000000071161265471724600255650ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_DETAIL_META_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_DETAIL_META_FLC_12NOV2002_HPP #include "boost/type_traits/remove_cv.hpp" #include "boost/mpl/if.hpp" #include "boost/mpl/eval_if.hpp" #include "boost/mpl/equal_to.hpp" #include "boost/mpl/not.hpp" #include "boost/mpl/and.hpp" #include "boost/mpl/bool.hpp" #include "boost/mpl/identity.hpp" namespace boost { namespace numeric { namespace convdetail { template< class T1, class T2> struct equal_to { #if !defined(__BORLANDC__) enum { x = ( BOOST_MPL_AUX_VALUE_WKND(T1)::value == BOOST_MPL_AUX_VALUE_WKND(T2)::value ) }; BOOST_STATIC_CONSTANT(bool, value = x); typedef mpl::bool_ type; #else BOOST_STATIC_CONSTANT(bool, value = ( BOOST_MPL_AUX_VALUE_WKND(T1)::value == BOOST_MPL_AUX_VALUE_WKND(T2)::value )); typedef mpl::bool_<( BOOST_MPL_AUX_VALUE_WKND(T1)::value == BOOST_MPL_AUX_VALUE_WKND(T2)::value )> type; #endif }; // Metafunction: // // ct_switch4::type // // {Value,Case(X)Val} are Integral Constants (such as: mpl::int_<>) // {Case(X)Type,DefaultType} are arbitrary types. (not metafunctions) // // Returns Case(X)Type if Val==Case(X)Val; DefaultType otherwise. // template struct ct_switch4 { typedef mpl::identity Case0TypeQ ; typedef mpl::identity Case1TypeQ ; typedef equal_to is_case0 ; typedef equal_to is_case1 ; typedef equal_to is_case2 ; typedef mpl::if_ choose_2_3Q ; typedef mpl::eval_if choose_1_2_3Q ; typedef typename mpl::eval_if::type type ; } ; // Metafunction: // // for_both::type // // {exp0,expr1} are Boolean Integral Constants // {TT,TF,FT,FF} are aribtrary types. (not metafunctions) // // According to the combined boolean value of 'expr0 && expr1', selects the corresponding type. // template struct for_both { typedef mpl::identity TF_Q ; typedef mpl::identity TT_Q ; typedef typename mpl::not_::type not_expr0 ; typedef typename mpl::not_::type not_expr1 ; typedef typename mpl::and_::type caseTT ; typedef typename mpl::and_::type caseTF ; typedef typename mpl::and_::type caseFT ; typedef mpl::if_ choose_FT_FF_Q ; typedef mpl::eval_if choose_TF_FT_FF_Q ; typedef typename mpl::eval_if::type type ; } ; } } } // namespace boost::numeric::convdetail #endif KWStyle-master/Utilities/boost/numeric/conversion/detail/numeric_cast_traits.hpp000066400000000000000000000126231265471724600307000ustar00rootroot00000000000000// //! Copyright (c) 2011-2012 //! Brandon Kohn // // Distributed under the 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_NUMERIC_CONVERSION_DONT_USE_PREPROCESSED_FILES) #include #if !defined(BOOST_NO_LONG_LONG) #include #endif #else #if !BOOST_PP_IS_ITERATING #include #include #include #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/numeric_cast_traits_common.hpp") #endif // //! Copyright (c) 2011-2012 //! Brandon Kohn // // Distributed under the 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(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif //! These are the assumed common built in fundamental types (not typedefs/macros.) #define BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES() \ (char) \ (signed char) \ (unsigned char) \ (short) \ (unsigned short) \ (int) \ (unsigned int) \ (long) \ (unsigned long) \ (float) \ (double) \ (long double) \ /***/ #define BOOST_NUMERIC_CONVERSION_SEQ_A() BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES() #define BOOST_NUMERIC_CONVERSION_SEQ_B() BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES() namespace boost { namespace numeric { #define BOOST_PP_ITERATION_PARAMS_1 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_SEQ_A())), )) #include BOOST_PP_ITERATE() }}//namespace boost::numeric; #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #if ( defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) ) || !defined(BOOST_NO_LONG_LONG) #undef BOOST_NUMERIC_CONVERSION_SEQ_A #undef BOOST_NUMERIC_CONVERSION_SEQ_B #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/numeric_cast_traits_long_long.hpp") #endif // //! Copyright (c) 2011-2012 //! Brandon Kohn // // Distributed under the 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(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 1) #endif namespace boost { namespace numeric { #define BOOST_NUMERIC_CONVERSION_SEQ_A() BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES()(boost::long_long_type)(boost::ulong_long_type) #define BOOST_NUMERIC_CONVERSION_SEQ_B() (boost::long_long_type)(boost::ulong_long_type) #define BOOST_PP_ITERATION_PARAMS_1 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_SEQ_A())), )) #include BOOST_PP_ITERATE() }}//namespace boost::numeric; #if defined(__WAVE__) && defined(BOOST_NUMERIC_CONVERSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif #endif #undef BOOST_NUMERIC_CONVERSION_BASE_BUILTIN_TYPES #undef BOOST_NUMERIC_CONVERSION_SEQ_A #undef BOOST_NUMERIC_CONVERSION_SEQ_B #elif BOOST_PP_ITERATION_DEPTH() == 1 #define BOOST_PP_ITERATION_PARAMS_2 (3, (0, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_NUMERIC_CONVERSION_SEQ_B())), )) #include BOOST_PP_ITERATE() #elif BOOST_PP_ITERATION_DEPTH() == 2 //! Generate default traits for the specified source and target. #define BOOST_NUMERIC_CONVERSION_A BOOST_PP_FRAME_ITERATION(1) #define BOOST_NUMERIC_CONVERSION_B BOOST_PP_FRAME_ITERATION(2) template <> struct numeric_cast_traits < BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_A, BOOST_NUMERIC_CONVERSION_SEQ_A()) , BOOST_PP_SEQ_ELEM(BOOST_NUMERIC_CONVERSION_B, BOOST_NUMERIC_CONVERSION_SEQ_B()) > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; #undef BOOST_NUMERIC_CONVERSION_A #undef BOOST_NUMERIC_CONVERSION_B #endif//! Depth 2. #endif// BOOST_NUMERIC_CONVERSION_DONT_USE_PREPROCESSED_FILES KWStyle-master/Utilities/boost/numeric/conversion/detail/old_numeric_cast.hpp000077500000000000000000000301361265471724600301520ustar00rootroot00000000000000// boost cast.hpp header file ----------------------------------------------// // (C) Copyright Kevlin Henney and Dave Abrahams 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/conversion for Documentation. // Revision History // 23 JUN 05 Code extracted from /boost/cast.hpp into this new header. // Keeps this legacy version of numeric_cast<> for old compilers // wich can't compile the new version in /boost/numeric/conversion/cast.hpp // (Fernando Cacciola) // 02 Apr 01 Removed BOOST_NO_LIMITS workarounds and included // instead (the workaround did not // actually compile when BOOST_NO_LIMITS was defined in // any case, so we loose nothing). (John Maddock) // 21 Jan 01 Undid a bug I introduced yesterday. numeric_cast<> never // worked with stock GCC; trying to get it to do that broke // vc-stlport. // 20 Jan 01 Moved BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS to config.hpp. // Removed unused BOOST_EXPLICIT_TARGET macro. Moved // boost::detail::type to boost/type.hpp. Made it compile with // stock gcc again (Dave Abrahams) // 29 Nov 00 Remove nested namespace cast, cleanup spacing before Formal // Review (Beman Dawes) // 19 Oct 00 Fix numeric_cast for floating-point types (Dave Abrahams) // 15 Jul 00 Suppress numeric_cast warnings for GCC, Borland and MSVC // (Dave Abrahams) // 30 Jun 00 More MSVC6 wordarounds. See comments below. (Dave Abrahams) // 28 Jun 00 Removed implicit_cast<>. See comment below. (Beman Dawes) // 27 Jun 00 More MSVC6 workarounds // 15 Jun 00 Add workarounds for MSVC6 // 2 Feb 00 Remove bad_numeric_cast ";" syntax error (Doncho Angelov) // 26 Jan 00 Add missing throw() to bad_numeric_cast::what(0 (Adam Levar) // 29 Dec 99 Change using declarations so usages in other namespaces work // correctly (Dave Abrahams) // 23 Sep 99 Change polymorphic_downcast assert to also detect M.I. errors // as suggested Darin Adler and improved by Valentin Bonnard. // 2 Sep 99 Remove controversial asserts, simplify, rename. // 30 Aug 99 Move to cast.hpp, replace value_cast with numeric_cast, // place in nested namespace. // 3 Aug 99 Initial version #ifndef BOOST_OLD_NUMERIC_CAST_HPP #define BOOST_OLD_NUMERIC_CAST_HPP # include # include # include # include # include # include // It has been demonstrated numerous times that MSVC 6.0 fails silently at link // time if you use a template function which has template parameters that don't // appear in the function's argument list. // // TODO: Add this to config.hpp? // FLC: This macro is repeated in boost/cast.hpp but only locally (is undefined at the bottom) // so is OK to reproduce it here. # if defined(BOOST_MSVC) && BOOST_MSVC < 1300 # define BOOST_EXPLICIT_DEFAULT_TARGET , ::boost::type* = 0 # else # define BOOST_EXPLICIT_DEFAULT_TARGET # endif namespace boost { using numeric::bad_numeric_cast; // LEGACY numeric_cast [only for some old broken compilers] --------------------------------------// // Contributed by Kevlin Henney // numeric_cast ------------------------------------------------------------// #if !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) || defined(BOOST_SGI_CPP_LIMITS) namespace detail { template struct signed_numeric_limits : std::numeric_limits { static inline T min BOOST_PREVENT_MACRO_SUBSTITUTION () { return (std::numeric_limits::min)() >= 0 // unary minus causes integral promotion, thus the static_cast<> ? static_cast(-(std::numeric_limits::max)()) : (std::numeric_limits::min)(); }; }; // Move to namespace boost in utility.hpp? template struct fixed_numeric_limits_base : public if_true< std::numeric_limits::is_signed > ::BOOST_NESTED_TEMPLATE then< signed_numeric_limits, std::numeric_limits >::type {}; template struct fixed_numeric_limits : fixed_numeric_limits_base::is_specialized)> {}; # ifdef BOOST_HAS_LONG_LONG // cover implementations which supply no specialization for long // long / unsigned long long. Not intended to be full // numeric_limits replacements, but good enough for numeric_cast<> template <> struct fixed_numeric_limits_base< ::boost::long_long_type, false> { BOOST_STATIC_CONSTANT(bool, is_specialized = true); BOOST_STATIC_CONSTANT(bool, is_signed = true); static ::boost::long_long_type max BOOST_PREVENT_MACRO_SUBSTITUTION () { # ifdef LONGLONG_MAX return LONGLONG_MAX; # else return 9223372036854775807LL; // hope this is portable # endif } static ::boost::long_long_type min BOOST_PREVENT_MACRO_SUBSTITUTION () { # ifdef LONGLONG_MIN return LONGLONG_MIN; # else return -( 9223372036854775807LL )-1; // hope this is portable # endif } }; template <> struct fixed_numeric_limits_base< ::boost::ulong_long_type, false> { BOOST_STATIC_CONSTANT(bool, is_specialized = true); BOOST_STATIC_CONSTANT(bool, is_signed = false); static ::boost::ulong_long_type max BOOST_PREVENT_MACRO_SUBSTITUTION () { # ifdef ULONGLONG_MAX return ULONGLONG_MAX; # else return 0xffffffffffffffffULL; // hope this is portable # endif } static ::boost::ulong_long_type min BOOST_PREVENT_MACRO_SUBSTITUTION () { return 0; } }; # endif } // namespace detail // less_than_type_min - // x_is_signed should be numeric_limits::is_signed // y_is_signed should be numeric_limits::is_signed // y_min should be numeric_limits::min() // // check(x, y_min) returns true iff x < y_min without invoking comparisons // between signed and unsigned values. // // "poor man's partial specialization" is in use here. template struct less_than_type_min { template static bool check(X x, Y y_min) { return x < y_min; } }; template <> struct less_than_type_min { template static bool check(X, Y) { return false; } }; template <> struct less_than_type_min { template static bool check(X x, Y) { return x < 0; } }; // greater_than_type_max - // same_sign should be: // numeric_limits::is_signed == numeric_limits::is_signed // y_max should be numeric_limits::max() // // check(x, y_max) returns true iff x > y_max without invoking comparisons // between signed and unsigned values. // // "poor man's partial specialization" is in use here. template struct greater_than_type_max; template<> struct greater_than_type_max { template static inline bool check(X x, Y y_max) { return x > y_max; } }; template <> struct greater_than_type_max { // What does the standard say about this? I think it's right, and it // will work with every compiler I know of. template static inline bool check(X x, Y) { return x >= 0 && static_cast(static_cast(x)) != x; } # if defined(BOOST_MSVC) && BOOST_MSVC < 1300 // MSVC6 can't static_cast unsigned __int64 -> floating types # define BOOST_UINT64_CAST(src_type) \ static inline bool check(src_type x, unsigned __int64) \ { \ if (x < 0) return false; \ unsigned __int64 y = static_cast(x); \ bool odd = y & 0x1; \ __int64 div2 = static_cast<__int64>(y >> 1); \ return ((static_cast(div2) * 2.0) + odd) != x; \ } BOOST_UINT64_CAST(long double); BOOST_UINT64_CAST(double); BOOST_UINT64_CAST(float); # undef BOOST_UINT64_CAST # endif }; template<> struct greater_than_type_max { template static inline bool check(X x, Y y_max) { return x > y_max; } }; template <> struct greater_than_type_max { // What does the standard say about this? I think it's right, and it // will work with every compiler I know of. template static inline bool check(X x, Y) { return static_cast(static_cast(x)) != x; } }; #else // use #pragma hacks if available namespace detail { # if BOOST_MSVC # pragma warning(push) # pragma warning(disable : 4018) # pragma warning(disable : 4146) #elif defined(__BORLANDC__) # pragma option push -w-8041 # endif // Move to namespace boost in utility.hpp? template struct fixed_numeric_limits : public std::numeric_limits { static inline T min BOOST_PREVENT_MACRO_SUBSTITUTION () { return std::numeric_limits::is_signed && (std::numeric_limits::min)() >= 0 ? T(-(std::numeric_limits::max)()) : (std::numeric_limits::min)(); } }; # if BOOST_MSVC # pragma warning(pop) #elif defined(__BORLANDC__) # pragma option pop # endif } // namespace detail #endif template inline Target numeric_cast(Source arg BOOST_EXPLICIT_DEFAULT_TARGET) { // typedefs abbreviating respective trait classes typedef detail::fixed_numeric_limits arg_traits; typedef detail::fixed_numeric_limits result_traits; #if defined(BOOST_STRICT_CONFIG) \ || (!defined(__HP_aCC) || __HP_aCC > 33900) \ && (!defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) \ || defined(BOOST_SGI_CPP_LIMITS)) // typedefs that act as compile time assertions // (to be replaced by boost compile time assertions // as and when they become available and are stable) typedef bool argument_must_be_numeric[arg_traits::is_specialized]; typedef bool result_must_be_numeric[result_traits::is_specialized]; const bool arg_is_signed = arg_traits::is_signed; const bool result_is_signed = result_traits::is_signed; const bool same_sign = arg_is_signed == result_is_signed; if (less_than_type_min::check(arg, (result_traits::min)()) || greater_than_type_max::check(arg, (result_traits::max)()) ) #else // We need to use #pragma hacks if available # if BOOST_MSVC # pragma warning(push) # pragma warning(disable : 4018) #elif defined(__BORLANDC__) #pragma option push -w-8012 # endif if ((arg < 0 && !result_traits::is_signed) // loss of negative range || (arg_traits::is_signed && arg < (result_traits::min)()) // underflow || arg > (result_traits::max)()) // overflow # if BOOST_MSVC # pragma warning(pop) #elif defined(__BORLANDC__) #pragma option pop # endif #endif { throw bad_numeric_cast(); } return static_cast(arg); } // numeric_cast # undef BOOST_EXPLICIT_DEFAULT_TARGET } // namespace boost #endif // BOOST_OLD_NUMERIC_CAST_HPP KWStyle-master/Utilities/boost/numeric/conversion/detail/preprocessed/000077500000000000000000000000001265471724600266175ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp000066400000000000000000001234301265471724600347450ustar00rootroot00000000000000// //! Copyright (c) 2011-2012 //! Brandon Kohn // // Distributed under the 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 numeric { template <> struct numeric_cast_traits < char , char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < char , signed char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < char , unsigned char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < char , short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < char , unsigned short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < char , int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < char , unsigned int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < char , long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < char , unsigned long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < char , float > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < char , double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < char , long double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < signed char , char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < signed char , signed char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < signed char , unsigned char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < signed char , short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < signed char , unsigned short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < signed char , int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < signed char , unsigned int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < signed char , long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < signed char , unsigned long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < signed char , float > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < signed char , double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < signed char , long double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned char , char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned char , signed char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned char , unsigned char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned char , short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned char , unsigned short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned char , int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned char , unsigned int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned char , long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned char , unsigned long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned char , float > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned char , double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned char , long double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < short , char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < short , signed char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < short , unsigned char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < short , short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < short , unsigned short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < short , int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < short , unsigned int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < short , long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < short , unsigned long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < short , float > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < short , double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < short , long double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned short , char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned short , signed char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned short , unsigned char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned short , short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned short , unsigned short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned short , int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned short , unsigned int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned short , long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned short , unsigned long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned short , float > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned short , double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned short , long double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < int , char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < int , signed char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < int , unsigned char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < int , short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < int , unsigned short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < int , int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < int , unsigned int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < int , long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < int , unsigned long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < int , float > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < int , double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < int , long double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned int , char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned int , signed char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned int , unsigned char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned int , short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned int , unsigned short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned int , int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned int , unsigned int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned int , long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned int , unsigned long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned int , float > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned int , double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned int , long double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long , char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long , signed char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long , unsigned char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long , short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long , unsigned short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long , int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long , unsigned int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long , long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long , unsigned long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long , float > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long , double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long , long double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned long , char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned long , signed char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned long , unsigned char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned long , short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned long , unsigned short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned long , int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned long , unsigned int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned long , long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned long , unsigned long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned long , float > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned long , double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned long , long double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < float , char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < float , signed char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < float , unsigned char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < float , short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < float , unsigned short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < float , int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < float , unsigned int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < float , long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < float , unsigned long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < float , float > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < float , double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < float , long double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < double , char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < double , signed char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < double , unsigned char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < double , short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < double , unsigned short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < double , int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < double , unsigned int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < double , long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < double , unsigned long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < double , float > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < double , double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < double , long double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long double , char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long double , signed char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long double , unsigned char > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long double , short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long double , unsigned short > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long double , int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long double , unsigned int > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long double , long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long double , unsigned long > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long double , float > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long double , double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long double , long double > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; }} numeric_cast_traits_long_long.hpp000066400000000000000000000221371265471724600353560ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/conversion/detail/preprocessed// //! Copyright (c) 2011-2012 //! Brandon Kohn // // Distributed under the 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 numeric { template <> struct numeric_cast_traits < char , boost::long_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < char , boost::ulong_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < signed char , boost::long_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < signed char , boost::ulong_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned char , boost::long_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned char , boost::ulong_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < short , boost::long_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < short , boost::ulong_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned short , boost::long_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned short , boost::ulong_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < int , boost::long_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < int , boost::ulong_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned int , boost::long_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned int , boost::ulong_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long , boost::long_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long , boost::ulong_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned long , boost::long_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < unsigned long , boost::ulong_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < float , boost::long_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < float , boost::ulong_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < double , boost::long_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < double , boost::ulong_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long double , boost::long_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < long double , boost::ulong_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < boost::long_long_type , boost::long_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < boost::long_long_type , boost::ulong_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < boost::ulong_long_type , boost::long_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; template <> struct numeric_cast_traits < boost::ulong_long_type , boost::ulong_long_type > { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; }} KWStyle-master/Utilities/boost/numeric/conversion/detail/sign_mixture.hpp000066400000000000000000000047631265471724600273610ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_DETAIL_SIGN_MIXTURE_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_DETAIL_SIGN_MIXTURE_FLC_12NOV2002_HPP #include "boost/config.hpp" #include "boost/limits.hpp" #include "boost/numeric/conversion/sign_mixture_enum.hpp" #include "boost/numeric/conversion/detail/meta.hpp" #include "boost/mpl/integral_c.hpp" namespace boost { namespace numeric { namespace convdetail { // Integral Constants for 'SignMixture' typedef mpl::integral_c unsig2unsig_c ; typedef mpl::integral_c sig2sig_c ; typedef mpl::integral_c sig2unsig_c ; typedef mpl::integral_c unsig2sig_c ; // Metafunction: // // get_sign_mixture::type // // Selects the appropriate SignMixture Integral Constant for the combination T,S. // template struct get_sign_mixture { typedef mpl::bool_< ::std::numeric_limits::is_signed > S_signed ; typedef mpl::bool_< ::std::numeric_limits::is_signed > T_signed ; typedef typename for_both::type type ; } ; // Metafunction: // // for_sign_mixture::type // // {SignMixture} is one of the Integral Constants for SignMixture, declared above. // {Sig2Sig,Sig2Unsig,Unsig2Sig,Unsig2Unsig} are aribtrary types. (not metafunctions) // // According to the value of 'SignMixture', selects the corresponding type. // template struct for_sign_mixture { typedef typename ct_switch4::type type ; } ; } } } // namespace boost::numeric::convdetail #endif // /////////////////////////////////////////////////////////////////////////////////////////////// KWStyle-master/Utilities/boost/numeric/conversion/detail/udt_builtin_mixture.hpp000066400000000000000000000046601265471724600307370ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_DETAIL_UDT_BUILTIN_MIXTURE_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_DETAIL_UDT_BUILTIN_MIXTURE_FLC_12NOV2002_HPP #include "boost/type_traits/is_arithmetic.hpp" #include "boost/numeric/conversion/udt_builtin_mixture_enum.hpp" #include "boost/numeric/conversion/detail/meta.hpp" #include "boost/mpl/integral_c.hpp" namespace boost { namespace numeric { namespace convdetail { // Integral Constants for 'UdtMixture' typedef mpl::integral_c builtin2builtin_c ; typedef mpl::integral_c builtin2udt_c ; typedef mpl::integral_c udt2builtin_c ; typedef mpl::integral_c udt2udt_c ; // Metafunction: // // for_udt_mixture::type // // {UdtMixture} is one of the Integral Constants for UdMixture, declared above. // {BuiltIn2BuiltIn,BuiltIn2Udt,Udt2BuiltIn,Udt2Udt} are aribtrary types. (not metafunctions) // // According to the value of 'UdtMixture', selects the corresponding type. // template struct for_udt_builtin_mixture { typedef typename ct_switch4::type type ; } ; // Metafunction: // // get_udt_mixture::type // // Selects the appropriate UdtMixture Integral Constant for the combination T,S. // template struct get_udt_builtin_mixture { typedef is_arithmetic S_builtin ; typedef is_arithmetic T_builtin ; typedef typename for_both::type type ; } ; } } } // namespace boost::numeric::convdetail #endif KWStyle-master/Utilities/boost/numeric/conversion/int_float_mixture.hpp000066400000000000000000000020221265471724600271200ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_FLC_12NOV2002_HPP #include "boost/numeric/conversion/detail/int_float_mixture.hpp" namespace boost { namespace numeric { template struct int_float_mixture : convdetail::get_int_float_mixture< BOOST_DEDUCED_TYPENAME remove_cv::type ,BOOST_DEDUCED_TYPENAME remove_cv::type >::type {} ; } } // namespace boost::numeric #endif // /////////////////////////////////////////////////////////////////////////////////////////////// KWStyle-master/Utilities/boost/numeric/conversion/int_float_mixture_enum.hpp000066400000000000000000000015231265471724600301510ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_ENUM_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_INT_FLOAT_MIXTURE_ENUM_FLC_12NOV2002_HPP namespace boost { namespace numeric { enum int_float_mixture_enum { integral_to_integral ,integral_to_float ,float_to_integral ,float_to_float } ; } } // namespace boost::numeric #endif // /////////////////////////////////////////////////////////////////////////////////////////////// KWStyle-master/Utilities/boost/numeric/conversion/is_subranged.hpp000066400000000000000000000016141265471724600260370ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_IS_SUBRANGED_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_IS_SUBRANGED_FLC_12NOV2002_HPP #include "boost/numeric/conversion/detail/is_subranged.hpp" namespace boost { namespace numeric { template struct is_subranged : convdetail::get_is_subranged< BOOST_DEDUCED_TYPENAME remove_cv::type ,BOOST_DEDUCED_TYPENAME remove_cv::type >::type {} ; } } // namespace boost::numeric #endif KWStyle-master/Utilities/boost/numeric/conversion/numeric_cast_traits.hpp000066400000000000000000000017271265471724600274410ustar00rootroot00000000000000// //! Copyright (c) 2011 //! Brandon Kohn // // Distributed under the 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_NUMERIC_CAST_TRAITS_HPP #define BOOST_NUMERIC_CAST_TRAITS_HPP #include namespace boost { namespace numeric { template struct numeric_cast_traits { typedef def_overflow_handler overflow_policy; typedef UseInternalRangeChecker range_checking_policy; typedef Trunc rounding_policy; }; }}//namespace boost::numeric; #if !defined( BOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS ) #include #include #endif//!defined BOOST_NUMERIC_CONVERSION_RELAX_BUILT_IN_CAST_TRAITS #endif//BOOST_NUMERIC_CAST_TRAITS_HPP KWStyle-master/Utilities/boost/numeric/conversion/sign_mixture.hpp000066400000000000000000000017571265471724600261170ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_FLC_12NOV2002_HPP #include "boost/numeric/conversion/detail/sign_mixture.hpp" namespace boost { namespace numeric { template struct sign_mixture : convdetail::get_sign_mixture< BOOST_DEDUCED_TYPENAME remove_cv::type ,BOOST_DEDUCED_TYPENAME remove_cv::type >::type {} ; } } // namespace boost::numeric #endif // /////////////////////////////////////////////////////////////////////////////////////////////// KWStyle-master/Utilities/boost/numeric/conversion/sign_mixture_enum.hpp000066400000000000000000000015101265471724600271260ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_ENUM_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_SIGN_MIXTURE_ENUM_FLC_12NOV2002_HPP namespace boost { namespace numeric { enum sign_mixture_enum { unsigned_to_unsigned ,signed_to_signed ,signed_to_unsigned ,unsigned_to_signed } ; } } // namespace boost::numeric #endif // /////////////////////////////////////////////////////////////////////////////////////////////// KWStyle-master/Utilities/boost/numeric/conversion/udt_builtin_mixture.hpp000066400000000000000000000016751265471724600275000ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_UDT_BUILTIN_MIXTURE_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_UDT_BUILTIN_MIXTURE_FLC_12NOV2002_HPP #include "boost/numeric/conversion/detail/udt_builtin_mixture.hpp" namespace boost { namespace numeric { template struct udt_builtin_mixture : convdetail::get_udt_builtin_mixture< BOOST_DEDUCED_TYPENAME remove_cv::type ,BOOST_DEDUCED_TYPENAME remove_cv::type >::type {} ; } } // namespace boost::numeric #endif KWStyle-master/Utilities/boost/numeric/conversion/udt_builtin_mixture_enum.hpp000066400000000000000000000013511265471724600305130ustar00rootroot00000000000000// (c) Copyright Fernando Luis Cacciola Carballal 2000-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) // See library home page at http://www.boost.org/libs/numeric/conversion // // Contact the author at: fernando_cacciola@hotmail.com // #ifndef BOOST_NUMERIC_CONVERSION_UDT_BUILTIN_MIXTURE_ENUM_FLC_12NOV2002_HPP #define BOOST_NUMERIC_CONVERSION_UDT_BUILTIN_MIXTURE_ENUM_FLC_12NOV2002_HPP namespace boost { namespace numeric { enum udt_builtin_mixture_enum { builtin_to_builtin ,builtin_to_udt ,udt_to_builtin ,udt_to_udt } ; } } // namespace boost::numeric #endif KWStyle-master/Utilities/boost/numeric/interval.hpp000066400000000000000000000020401265471724600230230ustar00rootroot00000000000000/* Boost interval.hpp header file * * Copyright 2000 Jens Maurer * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_HPP #define BOOST_NUMERIC_INTERVAL_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif // BOOST_NUMERIC_INTERVAL_HPP KWStyle-master/Utilities/boost/numeric/interval/000077500000000000000000000000001265471724600223165ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/interval/arith.hpp000066400000000000000000000241571265471724600241470ustar00rootroot00000000000000/* Boost interval/arith.hpp template implementation file * * Copyright 2000 Jens Maurer * Copyright 2002-2003 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_ARITH_HPP #define BOOST_NUMERIC_INTERVAL_ARITH_HPP #include #include #include #include #include #include namespace boost { namespace numeric { /* * Basic arithmetic operators */ template inline const interval& operator+(const interval& x) { return x; } template inline interval operator-(const interval& x) { if (interval_lib::detail::test_input(x)) return interval::empty(); return interval(-x.upper(), -x.lower(), true); } template inline interval& interval::operator+=(const interval& r) { if (interval_lib::detail::test_input(*this, r)) set_empty(); else { typename Policies::rounding rnd; set(rnd.add_down(low, r.low), rnd.add_up(up, r.up)); } return *this; } template inline interval& interval::operator+=(const T& r) { if (interval_lib::detail::test_input(*this, r)) set_empty(); else { typename Policies::rounding rnd; set(rnd.add_down(low, r), rnd.add_up(up, r)); } return *this; } template inline interval& interval::operator-=(const interval& r) { if (interval_lib::detail::test_input(*this, r)) set_empty(); else { typename Policies::rounding rnd; set(rnd.sub_down(low, r.up), rnd.sub_up(up, r.low)); } return *this; } template inline interval& interval::operator-=(const T& r) { if (interval_lib::detail::test_input(*this, r)) set_empty(); else { typename Policies::rounding rnd; set(rnd.sub_down(low, r), rnd.sub_up(up, r)); } return *this; } template inline interval& interval::operator*=(const interval& r) { return *this = *this * r; } template inline interval& interval::operator*=(const T& r) { return *this = r * *this; } template inline interval& interval::operator/=(const interval& r) { return *this = *this / r; } template inline interval& interval::operator/=(const T& r) { return *this = *this / r; } template inline interval operator+(const interval& x, const interval& y) { if (interval_lib::detail::test_input(x, y)) return interval::empty(); typename Policies::rounding rnd; return interval(rnd.add_down(x.lower(), y.lower()), rnd.add_up (x.upper(), y.upper()), true); } template inline interval operator+(const T& x, const interval& y) { if (interval_lib::detail::test_input(x, y)) return interval::empty(); typename Policies::rounding rnd; return interval(rnd.add_down(x, y.lower()), rnd.add_up (x, y.upper()), true); } template inline interval operator+(const interval& x, const T& y) { return y + x; } template inline interval operator-(const interval& x, const interval& y) { if (interval_lib::detail::test_input(x, y)) return interval::empty(); typename Policies::rounding rnd; return interval(rnd.sub_down(x.lower(), y.upper()), rnd.sub_up (x.upper(), y.lower()), true); } template inline interval operator-(const T& x, const interval& y) { if (interval_lib::detail::test_input(x, y)) return interval::empty(); typename Policies::rounding rnd; return interval(rnd.sub_down(x, y.upper()), rnd.sub_up (x, y.lower()), true); } template inline interval operator-(const interval& x, const T& y) { if (interval_lib::detail::test_input(x, y)) return interval::empty(); typename Policies::rounding rnd; return interval(rnd.sub_down(x.lower(), y), rnd.sub_up (x.upper(), y), true); } template inline interval operator*(const interval& x, const interval& y) { BOOST_USING_STD_MIN(); BOOST_USING_STD_MAX(); typedef interval I; if (interval_lib::detail::test_input(x, y)) return I::empty(); typename Policies::rounding rnd; const T& xl = x.lower(); const T& xu = x.upper(); const T& yl = y.lower(); const T& yu = y.upper(); if (interval_lib::user::is_neg(xl)) if (interval_lib::user::is_pos(xu)) if (interval_lib::user::is_neg(yl)) if (interval_lib::user::is_pos(yu)) // M * M return I(min BOOST_PREVENT_MACRO_SUBSTITUTION(rnd.mul_down(xl, yu), rnd.mul_down(xu, yl)), max BOOST_PREVENT_MACRO_SUBSTITUTION(rnd.mul_up (xl, yl), rnd.mul_up (xu, yu)), true); else // M * N return I(rnd.mul_down(xu, yl), rnd.mul_up(xl, yl), true); else if (interval_lib::user::is_pos(yu)) // M * P return I(rnd.mul_down(xl, yu), rnd.mul_up(xu, yu), true); else // M * Z return I(static_cast(0), static_cast(0), true); else if (interval_lib::user::is_neg(yl)) if (interval_lib::user::is_pos(yu)) // N * M return I(rnd.mul_down(xl, yu), rnd.mul_up(xl, yl), true); else // N * N return I(rnd.mul_down(xu, yu), rnd.mul_up(xl, yl), true); else if (interval_lib::user::is_pos(yu)) // N * P return I(rnd.mul_down(xl, yu), rnd.mul_up(xu, yl), true); else // N * Z return I(static_cast(0), static_cast(0), true); else if (interval_lib::user::is_pos(xu)) if (interval_lib::user::is_neg(yl)) if (interval_lib::user::is_pos(yu)) // P * M return I(rnd.mul_down(xu, yl), rnd.mul_up(xu, yu), true); else // P * N return I(rnd.mul_down(xu, yl), rnd.mul_up(xl, yu), true); else if (interval_lib::user::is_pos(yu)) // P * P return I(rnd.mul_down(xl, yl), rnd.mul_up(xu, yu), true); else // P * Z return I(static_cast(0), static_cast(0), true); else // Z * ? return I(static_cast(0), static_cast(0), true); } template inline interval operator*(const T& x, const interval& y) { typedef interval I; if (interval_lib::detail::test_input(x, y)) return I::empty(); typename Policies::rounding rnd; const T& yl = y.lower(); const T& yu = y.upper(); // x is supposed not to be infinite if (interval_lib::user::is_neg(x)) return I(rnd.mul_down(x, yu), rnd.mul_up(x, yl), true); else if (interval_lib::user::is_zero(x)) return I(static_cast(0), static_cast(0), true); else return I(rnd.mul_down(x, yl), rnd.mul_up(x, yu), true); } template inline interval operator*(const interval& x, const T& y) { return y * x; } template inline interval operator/(const interval& x, const interval& y) { if (interval_lib::detail::test_input(x, y)) return interval::empty(); if (zero_in(y)) if (!interval_lib::user::is_zero(y.lower())) if (!interval_lib::user::is_zero(y.upper())) return interval_lib::detail::div_zero(x); else return interval_lib::detail::div_negative(x, y.lower()); else if (!interval_lib::user::is_zero(y.upper())) return interval_lib::detail::div_positive(x, y.upper()); else return interval::empty(); else return interval_lib::detail::div_non_zero(x, y); } template inline interval operator/(const T& x, const interval& y) { if (interval_lib::detail::test_input(x, y)) return interval::empty(); if (zero_in(y)) if (!interval_lib::user::is_zero(y.lower())) if (!interval_lib::user::is_zero(y.upper())) return interval_lib::detail::div_zero(x); else return interval_lib::detail::div_negative(x, y.lower()); else if (!interval_lib::user::is_zero(y.upper())) return interval_lib::detail::div_positive(x, y.upper()); else return interval::empty(); else return interval_lib::detail::div_non_zero(x, y); } template inline interval operator/(const interval& x, const T& y) { if (interval_lib::detail::test_input(x, y) || interval_lib::user::is_zero(y)) return interval::empty(); typename Policies::rounding rnd; const T& xl = x.lower(); const T& xu = x.upper(); if (interval_lib::user::is_neg(y)) return interval(rnd.div_down(xu, y), rnd.div_up(xl, y), true); else return interval(rnd.div_down(xl, y), rnd.div_up(xu, y), true); } } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_ARITH_HPP KWStyle-master/Utilities/boost/numeric/interval/arith2.hpp000066400000000000000000000235521265471724600242270ustar00rootroot00000000000000/* Boost interval/arith2.hpp template implementation file * * This header provides some auxiliary arithmetic * functions: fmod, sqrt, square, pov, inverse and * a multi-interval division. * * Copyright 2002-2003 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_ARITH2_HPP #define BOOST_NUMERIC_INTERVAL_ARITH2_HPP #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { template inline interval fmod(const interval& x, const interval& y) { if (interval_lib::detail::test_input(x, y)) return interval::empty(); typename Policies::rounding rnd; typedef typename interval_lib::unprotect >::type I; T const &yb = interval_lib::user::is_neg(x.lower()) ? y.lower() : y.upper(); T n = rnd.int_down(rnd.div_down(x.lower(), yb)); return (const I&)x - n * (const I&)y; } template inline interval fmod(const interval& x, const T& y) { if (interval_lib::detail::test_input(x, y)) return interval::empty(); typename Policies::rounding rnd; typedef typename interval_lib::unprotect >::type I; T n = rnd.int_down(rnd.div_down(x.lower(), y)); return (const I&)x - n * I(y); } template inline interval fmod(const T& x, const interval& y) { if (interval_lib::detail::test_input(x, y)) return interval::empty(); typename Policies::rounding rnd; typedef typename interval_lib::unprotect >::type I; T const &yb = interval_lib::user::is_neg(x) ? y.lower() : y.upper(); T n = rnd.int_down(rnd.div_down(x, yb)); return x - n * (const I&)y; } namespace interval_lib { template inline interval division_part1(const interval& x, const interval& y, bool& b) { typedef interval I; b = false; if (detail::test_input(x, y)) return I::empty(); if (zero_in(y)) if (!user::is_zero(y.lower())) if (!user::is_zero(y.upper())) return detail::div_zero_part1(x, y, b); else return detail::div_negative(x, y.lower()); else if (!user::is_zero(y.upper())) return detail::div_positive(x, y.upper()); else return I::empty(); else return detail::div_non_zero(x, y); } template inline interval division_part2(const interval& x, const interval& y, bool b = true) { if (!b) return interval::empty(); return detail::div_zero_part2(x, y); } template inline interval multiplicative_inverse(const interval& x) { typedef interval I; if (detail::test_input(x)) return I::empty(); T one = static_cast(1); typename Policies::rounding rnd; if (zero_in(x)) { typedef typename Policies::checking checking; if (!user::is_zero(x.lower())) if (!user::is_zero(x.upper())) return I::whole(); else return I(checking::neg_inf(), rnd.div_up(one, x.lower()), true); else if (!user::is_zero(x.upper())) return I(rnd.div_down(one, x.upper()), checking::pos_inf(), true); else return I::empty(); } else return I(rnd.div_down(one, x.upper()), rnd.div_up(one, x.lower()), true); } namespace detail { template inline T pow_dn(const T& x_, int pwr, Rounding& rnd) // x and pwr are positive { T x = x_; T y = (pwr & 1) ? x_ : static_cast(1); pwr >>= 1; while (pwr > 0) { x = rnd.mul_down(x, x); if (pwr & 1) y = rnd.mul_down(x, y); pwr >>= 1; } return y; } template inline T pow_up(const T& x_, int pwr, Rounding& rnd) // x and pwr are positive { T x = x_; T y = (pwr & 1) ? x_ : static_cast(1); pwr >>= 1; while (pwr > 0) { x = rnd.mul_up(x, x); if (pwr & 1) y = rnd.mul_up(x, y); pwr >>= 1; } return y; } } // namespace detail } // namespace interval_lib template inline interval pow(const interval& x, int pwr) { BOOST_USING_STD_MAX(); using interval_lib::detail::pow_dn; using interval_lib::detail::pow_up; typedef interval I; if (interval_lib::detail::test_input(x)) return I::empty(); if (pwr == 0) if (interval_lib::user::is_zero(x.lower()) && interval_lib::user::is_zero(x.upper())) return I::empty(); else return I(static_cast(1)); else if (pwr < 0) return interval_lib::multiplicative_inverse(pow(x, -pwr)); typename Policies::rounding rnd; if (interval_lib::user::is_neg(x.upper())) { // [-2,-1] T yl = pow_dn(static_cast(-x.upper()), pwr, rnd); T yu = pow_up(static_cast(-x.lower()), pwr, rnd); if (pwr & 1) // [-2,-1]^1 return I(-yu, -yl, true); else // [-2,-1]^2 return I(yl, yu, true); } else if (interval_lib::user::is_neg(x.lower())) { // [-1,1] if (pwr & 1) { // [-1,1]^1 return I(-pow_up(static_cast(-x.lower()), pwr, rnd), pow_up(x.upper(), pwr, rnd), true); } else { // [-1,1]^2 return I(static_cast(0), pow_up(max BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast(-x.lower()), x.upper()), pwr, rnd), true); } } else { // [1,2] return I(pow_dn(x.lower(), pwr, rnd), pow_up(x.upper(), pwr, rnd), true); } } template inline interval sqrt(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x) || interval_lib::user::is_neg(x.upper())) return I::empty(); typename Policies::rounding rnd; T l = !interval_lib::user::is_pos(x.lower()) ? static_cast(0) : rnd.sqrt_down(x.lower()); return I(l, rnd.sqrt_up(x.upper()), true); } template inline interval square(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x)) return I::empty(); typename Policies::rounding rnd; const T& xl = x.lower(); const T& xu = x.upper(); if (interval_lib::user::is_neg(xu)) return I(rnd.mul_down(xu, xu), rnd.mul_up(xl, xl), true); else if (interval_lib::user::is_pos(x.lower())) return I(rnd.mul_down(xl, xl), rnd.mul_up(xu, xu), true); else return I(static_cast(0), (-xl > xu ? rnd.mul_up(xl, xl) : rnd.mul_up(xu, xu)), true); } namespace interval_lib { namespace detail { template< class I > inline I root_aux(typename I::base_type const &x, int k) // x and k are bigger than one { typedef typename I::base_type T; T tk(k); I y(static_cast(1), x, true); for(;;) { T y0 = median(y); I yy = intersect(y, y0 - (pow(I(y0, y0, true), k) - x) / (tk * pow(y, k - 1))); if (equal(y, yy)) return y; y = yy; } } template< class I > inline // x is positive and k bigger than one typename I::base_type root_aux_dn(typename I::base_type const &x, int k) { typedef typename I::base_type T; typedef typename I::traits_type Policies; typename Policies::rounding rnd; T one(1); if (x > one) return root_aux(x, k).lower(); if (x == one) return one; return rnd.div_down(one, root_aux(rnd.div_up(one, x), k).upper()); } template< class I > inline // x is positive and k bigger than one typename I::base_type root_aux_up(typename I::base_type const &x, int k) { typedef typename I::base_type T; typedef typename I::traits_type Policies; typename Policies::rounding rnd; T one(1); if (x > one) return root_aux(x, k).upper(); if (x == one) return one; return rnd.div_up(one, root_aux(rnd.div_down(one, x), k).lower()); } } // namespace detail } // namespace interval_lib template< class T, class Policies > inline interval nth_root(interval const &x, int k) { typedef interval I; if (interval_lib::detail::test_input(x)) return I::empty(); assert(k > 0); if (k == 1) return x; typename Policies::rounding rnd; typedef typename interval_lib::unprotect::type R; if (!interval_lib::user::is_pos(x.upper())) { if (interval_lib::user::is_zero(x.upper())) { T zero(0); if (!(k & 1) || interval_lib::user::is_zero(x.lower())) // [-1,0]^/2 or [0,0] return I(zero, zero, true); else // [-1,0]^/3 return I(-interval_lib::detail::root_aux_up(-x.lower(), k), zero, true); } else if (!(k & 1)) // [-2,-1]^/2 return I::empty(); else { // [-2,-1]^/3 return I(-interval_lib::detail::root_aux_up(-x.lower(), k), -interval_lib::detail::root_aux_dn(-x.upper(), k), true); } } T u = interval_lib::detail::root_aux_up(x.upper(), k); if (!interval_lib::user::is_pos(x.lower())) if (!(k & 1) || interval_lib::user::is_zero(x.lower())) // [-1,1]^/2 or [0,1] return I(static_cast(0), u, true); else // [-1,1]^/3 return I(-interval_lib::detail::root_aux_up(-x.lower(), k), u, true); else // [1,2] return I(interval_lib::detail::root_aux_dn(x.lower(), k), u, true); } } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_ARITH2_HPP KWStyle-master/Utilities/boost/numeric/interval/arith3.hpp000066400000000000000000000041461265471724600242260ustar00rootroot00000000000000/* Boost interval/arith3.hpp template implementation file * * This headers provides arithmetical functions * which compute an interval given some base * numbers. The resulting interval encloses the * real result of the arithmetic operation. * * Copyright 2003 Guillaume Melquiond * * Distributed under the 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_NUMERIC_INTERVAL_ARITH3_HPP #define BOOST_NUMERIC_INTERVAL_ARITH3_HPP #include #include namespace boost { namespace numeric { namespace interval_lib { template inline I add(const typename I::base_type& x, const typename I::base_type& y) { typedef typename I::traits_type Policies; if (detail::test_input(x, y)) return I::empty(); typename Policies::rounding rnd; return I(rnd.add_down(x, y), rnd.add_up(x, y), true); } template inline I sub(const typename I::base_type& x, const typename I::base_type& y) { typedef typename I::traits_type Policies; if (detail::test_input(x, y)) return I::empty(); typename Policies::rounding rnd; return I(rnd.sub_down(x, y), rnd.sub_up(x, y), true); } template inline I mul(const typename I::base_type& x, const typename I::base_type& y) { typedef typename I::traits_type Policies; if (detail::test_input(x, y)) return I::empty(); typename Policies::rounding rnd; return I(rnd.mul_down(x, y), rnd.mul_up(x, y), true); } template inline I div(const typename I::base_type& x, const typename I::base_type& y) { typedef typename I::traits_type Policies; if (detail::test_input(x, y) || user::is_zero(y)) return I::empty(); typename Policies::rounding rnd; return I(rnd.div_down(x, y), rnd.div_up(x, y), true); } } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_ARITH3_HPP KWStyle-master/Utilities/boost/numeric/interval/checking.hpp000066400000000000000000000054061265471724600246070ustar00rootroot00000000000000/* Boost interval/checking.hpp template implementation file * * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_CHECKING_HPP #define BOOST_NUMERIC_INTERVAL_CHECKING_HPP #include #include #include #include namespace boost { namespace numeric { namespace interval_lib { struct exception_create_empty { void operator()() { throw std::runtime_error("boost::interval: empty interval created"); } }; struct exception_invalid_number { void operator()() { throw std::invalid_argument("boost::interval: invalid number"); } }; template struct checking_base { static T pos_inf() { assert(std::numeric_limits::has_infinity); return std::numeric_limits::infinity(); } static T neg_inf() { assert(std::numeric_limits::has_infinity); return -std::numeric_limits::infinity(); } static T nan() { assert(std::numeric_limits::has_quiet_NaN); return std::numeric_limits::quiet_NaN(); } static bool is_nan(const T& x) { return std::numeric_limits::has_quiet_NaN && (x != x); } static T empty_lower() { return (std::numeric_limits::has_quiet_NaN ? std::numeric_limits::quiet_NaN() : static_cast(1)); } static T empty_upper() { return (std::numeric_limits::has_quiet_NaN ? std::numeric_limits::quiet_NaN() : static_cast(0)); } static bool is_empty(const T& l, const T& u) { return !(l <= u); // safety for partial orders } }; template, class Exception = exception_create_empty> struct checking_no_empty: Checking { static T nan() { assert(false); return Checking::nan(); } static T empty_lower() { Exception()(); return Checking::empty_lower(); } static T empty_upper() { Exception()(); return Checking::empty_upper(); } static bool is_empty(const T&, const T&) { return false; } }; template > struct checking_no_nan: Checking { static bool is_nan(const T&) { return false; } }; template, class Exception = exception_invalid_number> struct checking_catch_nan: Checking { static bool is_nan(const T& x) { if (Checking::is_nan(x)) Exception()(); return false; } }; template struct checking_strict: checking_no_nan > {}; } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_CHECKING_HPP KWStyle-master/Utilities/boost/numeric/interval/compare.hpp000066400000000000000000000012771265471724600244640ustar00rootroot00000000000000/* Boost interval/compare.hpp template implementation file * * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_COMPARE_HPP #define BOOST_NUMERIC_INTERVAL_COMPARE_HPP #include #include #include #include #include #endif // BOOST_NUMERIC_INTERVAL_COMPARE_HPP KWStyle-master/Utilities/boost/numeric/interval/compare/000077500000000000000000000000001265471724600237445ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/interval/compare/certain.hpp000066400000000000000000000065151265471724600261110ustar00rootroot00000000000000/* Boost interval/compare/certain.hpp template implementation file * * Copyright 2003 Guillaume Melquiond * * Distributed under the 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_NUMERIC_INTERVAL_COMPARE_CERTAIN_HPP #define BOOST_NUMERIC_INTERVAL_COMPARE_CERTAIN_HPP #include #include namespace boost { namespace numeric { namespace interval_lib { namespace compare { namespace certain { template inline bool operator<(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.upper() < y.lower(); } template inline bool operator<(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.upper() < y; } template inline bool operator<=(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.upper() <= y.lower(); } template inline bool operator<=(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.upper() <= y; } template inline bool operator>(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() > y.upper(); } template inline bool operator>(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() > y; } template inline bool operator>=(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() >= y.upper(); } template inline bool operator>=(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() >= y; } template inline bool operator==(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.upper() == y.lower() && x.lower() == y.upper(); } template inline bool operator==(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.upper() == y && x.lower() == y; } template inline bool operator!=(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.upper() < y.lower() || x.lower() > y.upper(); } template inline bool operator!=(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.upper() < y || x.lower() > y; } } // namespace certain } // namespace compare } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_COMPARE_CERTAIN_HPP KWStyle-master/Utilities/boost/numeric/interval/compare/explicit.hpp000066400000000000000000000137341265471724600263060ustar00rootroot00000000000000/* Boost interval/compare/explicit.hpp template implementation file * * Copyright 2000 Jens Maurer * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_COMPARE_EXPLICIT_HPP #define BOOST_NUMERIC_INTERVAL_COMPARE_EXPLICIT_HPP #include namespace boost { namespace numeric { namespace interval_lib { /* * Certainly... operations */ template inline bool cerlt(const interval& x, const interval& y) { return x.upper() < y.lower(); } template inline bool cerlt(const interval& x, const T& y) { return x.upper() < y; } template inline bool cerlt(const T& x, const interval& y) { return x < y.lower(); } template inline bool cerle(const interval& x, const interval& y) { return x.upper() <= y.lower(); } template inline bool cerle(const interval& x, const T& y) { return x.upper() <= y; } template inline bool cerle(const T& x, const interval& y) { return x <= y.lower(); } template inline bool cergt(const interval& x, const interval& y) { return x.lower() > y.upper(); } template inline bool cergt(const interval& x, const T& y) { return x.lower() > y; } template inline bool cergt(const T& x, const interval& y) { return x > y.upper(); } template inline bool cerge(const interval& x, const interval& y) { return x.lower() >= y.upper(); } template inline bool cerge(const interval& x, const T& y) { return x.lower() >= y; } template inline bool cerge(const T& x, const interval& y) { return x >= y.upper(); } template inline bool cereq(const interval& x, const interval& y) { return x.lower() == y.upper() && y.lower() == x.upper(); } template inline bool cereq(const interval& x, const T& y) { return x.lower() == y && x.upper() == y; } template inline bool cereq(const T& x, const interval& y) { return x == y.lower() && x == y.upper(); } template inline bool cerne(const interval& x, const interval& y) { return x.upper() < y.lower() || y.upper() < x.lower(); } template inline bool cerne(const interval& x, const T& y) { return x.upper() < y || y < x.lower(); } template inline bool cerne(const T& x, const interval& y) { return x < y.lower() || y.upper() < x; } /* * Possibly... comparisons */ template inline bool poslt(const interval& x, const interval& y) { return x.lower() < y.upper(); } template inline bool poslt(const interval& x, const T& y) { return x.lower() < y; } template inline bool poslt(const T& x, const interval& y) { return x < y.upper(); } template inline bool posle(const interval& x, const interval& y) { return x.lower() <= y.upper(); } template inline bool posle(const interval& x, const T& y) { return x.lower() <= y; } template inline bool posle(const T& x, const interval& y) { return x <= y.upper(); } template inline bool posgt(const interval& x, const interval& y) { return x.upper() > y.lower(); } template inline bool posgt(const interval& x, const T& y) { return x.upper() > y; } template inline bool posgt(const T& x, const interval & y) { return x > y.lower(); } template inline bool posge(const interval& x, const interval& y) { return x.upper() >= y.lower(); } template inline bool posge(const interval& x, const T& y) { return x.upper() >= y; } template inline bool posge(const T& x, const interval& y) { return x >= y.lower(); } template inline bool poseq(const interval& x, const interval& y) { return x.upper() >= y.lower() && y.upper() >= x.lower(); } template inline bool poseq(const interval& x, const T& y) { return x.upper() >= y && y >= x.lower(); } template inline bool poseq(const T& x, const interval& y) { return x >= y.lower() && y.upper() >= x; } template inline bool posne(const interval& x, const interval& y) { return x.upper() != y.lower() || y.upper() != x.lower(); } template inline bool posne(const interval& x, const T& y) { return x.upper() != y || y != x.lower(); } template inline bool posne(const T& x, const interval& y) { return x != y.lower() || y.upper() != x; } } // namespace interval_lib } // namespace numeric } //namespace boost #endif // BOOST_NUMERIC_INTERVAL_COMPARE_EXPLICIT_HPP KWStyle-master/Utilities/boost/numeric/interval/compare/lexicographic.hpp000066400000000000000000000074311265471724600273030ustar00rootroot00000000000000/* Boost interval/compare/lexicographic.hpp template implementation file * * Copyright 2002-2003 Guillaume Melquiond * * Distributed under the 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_NUMERIC_INTERVAL_COMPARE_LEXICOGRAPHIC_HPP #define BOOST_NUMERIC_INTERVAL_COMPARE_LEXICOGRAPHIC_HPP #include #include namespace boost { namespace numeric { namespace interval_lib { namespace compare { namespace lexicographic { template inline bool operator<(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); const T& xl = x.lower(); const T& yl = y.lower(); return xl < yl || (xl == yl && x.upper() < y.upper()); } template inline bool operator<(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() < y; } template inline bool operator<=(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); const T& xl = x.lower(); const T& yl = y.lower(); return xl < yl || (xl == yl && x.upper() <= y.upper()); } template inline bool operator<=(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); const T& xl = x.lower(); return xl < y || (xl == y && x.upper() <= y); } template inline bool operator>(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); const T& xl = x.lower(); const T& yl = y.lower(); return xl > yl || (xl == yl && x.upper() > y.upper()); } template inline bool operator>(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); const T& xl = x.lower(); return xl > y || (xl == y && x.upper() > y); } template inline bool operator>=(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); const T& xl = x.lower(); const T& yl = y.lower(); return xl > yl || (xl == yl && x.upper() >= y.upper()); } template inline bool operator>=(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() >= y; } template inline bool operator==(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() == y.lower() && x.upper() == y.upper(); } template inline bool operator==(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() == y && x.upper() == y; } template inline bool operator!=(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() != y.lower() || x.upper() != y.upper(); } template inline bool operator!=(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() != y || x.upper() != y; } } // namespace lexicographic } // namespace compare } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_COMPARE_LEXICOGRAPHIC_HPP KWStyle-master/Utilities/boost/numeric/interval/compare/possible.hpp000066400000000000000000000065271265471724600263070ustar00rootroot00000000000000/* Boost interval/compare/possible.hpp template implementation file * * Copyright 2003 Guillaume Melquiond * * Distributed under the 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_NUMERIC_INTERVAL_COMPARE_POSSIBLE_HPP #define BOOST_NUMERIC_INTERVAL_COMPARE_POSSIBLE_HPP #include #include namespace boost { namespace numeric { namespace interval_lib { namespace compare { namespace possible { template inline bool operator<(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() < y.upper(); } template inline bool operator<(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() < y; } template inline bool operator<=(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() <= y.upper(); } template inline bool operator<=(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() <= y; } template inline bool operator>(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.upper() > y.lower(); } template inline bool operator>(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.upper() > y; } template inline bool operator>=(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.upper() >= y.lower(); } template inline bool operator>=(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.upper() >= y; } template inline bool operator==(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() <= y.upper() && x.upper() >= y.lower(); } template inline bool operator==(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() <= y && x.upper() >= y; } template inline bool operator!=(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() != y.upper() || x.upper() != y.lower(); } template inline bool operator!=(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); return x.lower() != y || x.upper() != y; } } // namespace possible } // namespace compare } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_COMPARE_POSSIBLE_HPP KWStyle-master/Utilities/boost/numeric/interval/compare/set.hpp000066400000000000000000000050661265471724600252570ustar00rootroot00000000000000/* Boost interval/compare/set.hpp template implementation file * * Copyright 2002-2003 Guillaume Melquiond * * Distributed under the 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_NUMERIC_INTERVAL_COMPARE_SET_HPP #define BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP #include #include #include namespace boost { namespace numeric { namespace interval_lib { namespace compare { namespace set { template inline bool operator<(const interval& x, const interval& y) { return proper_subset(x, y); } template inline bool operator<(const interval& , const T& ) { throw comparison_error(); } template inline bool operator<=(const interval& x, const interval& y) { return subset(x, y); } template inline bool operator<=(const interval& , const T& ) { throw comparison_error(); } template inline bool operator>(const interval& x, const interval& y) { return proper_subset(y, x); } template inline bool operator>(const interval& , const T& ) { throw comparison_error(); } template inline bool operator>=(const interval& x, const interval& y) { return subset(y, x); } template inline bool operator>=(const interval& , const T& ) { throw comparison_error(); } template inline bool operator==(const interval& x, const interval& y) { return equal(y, x); } template inline bool operator==(const interval& , const T& ) { throw comparison_error(); } template inline bool operator!=(const interval& x, const interval& y) { return !equal(y, x); } template inline bool operator!=(const interval& , const T& ) { throw comparison_error(); } } // namespace set } // namespace compare } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_COMPARE_SET_HPP KWStyle-master/Utilities/boost/numeric/interval/compare/tribool.hpp000066400000000000000000000110111265471724600261210ustar00rootroot00000000000000/* Boost interval/compare/tribool.hpp template implementation file * * Copyright 2002-2003 Guillaume Melquiond * * Distributed under the 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_NUMERIC_INTERVAL_COMPARE_TRIBOOL_HPP #define BOOST_NUMERIC_INTERVAL_COMPARE_TRIBOOL_HPP #include #include #include namespace boost { namespace numeric { namespace interval_lib { namespace compare { namespace tribool { template inline logic::tribool operator<(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); if (x.upper() < y.lower()) return true; if (x.lower() >= y.upper()) return false; return logic::indeterminate; } template inline logic::tribool operator<(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); if (x.upper() < y) return true; if (x.lower() >= y) return false; return logic::indeterminate; } template inline logic::tribool operator<=(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); if (x.upper() <= y.lower()) return true; if (x.lower() > y.upper()) return false; return logic::indeterminate; } template inline logic::tribool operator<=(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); if (x.upper() <= y) return true; if (x.lower() > y) return false; return logic::indeterminate; } template inline logic::tribool operator>(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); if (x.lower() > y.upper()) return true; if (x.upper() <= y.lower()) return false; return logic::indeterminate; } template inline logic::tribool operator>(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); if (x.lower() > y) return true; if (x.upper() <= y) return false; return logic::indeterminate; } template inline logic::tribool operator>=(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); if (x.lower() >= y.upper()) return true; if (x.upper() < y.lower()) return false; return logic::indeterminate; } template inline logic::tribool operator>=(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); if (x.lower() >= y) return true; if (x.upper() < y) return false; return logic::indeterminate; } template inline logic::tribool operator==(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); if (x.upper() == y.lower() && x.lower() == y.upper()) return true; if (x.upper() < y.lower() || x.lower() > y.upper()) return false; return logic::indeterminate; } template inline logic::tribool operator==(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); if (x.upper() == y && x.lower() == y) return true; if (x.upper() < y || x.lower() > y) return false; return logic::indeterminate; } template inline logic::tribool operator!=(const interval& x, const interval& y) { if (detail::test_input(x, y)) throw comparison_error(); if (x.upper() < y.lower() || x.lower() > y.upper()) return true; if (x.upper() == y.lower() && x.lower() == y.upper()) return false; return logic::indeterminate; } template inline logic::tribool operator!=(const interval& x, const T& y) { if (detail::test_input(x, y)) throw comparison_error(); if (x.upper() < y || x.lower() > y) return true; if (x.upper() == y && x.lower() == y) return false; return logic::indeterminate; } } // namespace tribool } // namespace compare } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_COMPARE_TRIBOOL_HPP KWStyle-master/Utilities/boost/numeric/interval/constants.hpp000066400000000000000000000061471265471724600250530ustar00rootroot00000000000000/* Boost interval/constants.hpp template implementation file * * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_CONSTANTS_HPP #define BOOST_NUMERIC_INTERVAL_CONSTANTS_HPP namespace boost { namespace numeric { namespace interval_lib { namespace constants { // These constants should be exactly computed. // Decimal representations wouldn't do it since the standard doesn't // specify the rounding (even nearest) that should be used. static const float pi_f_l = 13176794.0f/(1<<22); static const float pi_f_u = 13176795.0f/(1<<22); static const double pi_d_l = (3373259426.0 + 273688.0 / (1<<21)) / (1<<30); static const double pi_d_u = (3373259426.0 + 273689.0 / (1<<21)) / (1<<30); template inline T pi_lower() { return 3; } template inline T pi_upper() { return 4; } template inline T pi_half_lower() { return 1; } template inline T pi_half_upper() { return 2; } template inline T pi_twice_lower() { return 6; } template inline T pi_twice_upper() { return 7; } template<> inline float pi_lower() { return pi_f_l; } template<> inline float pi_upper() { return pi_f_u; } template<> inline float pi_half_lower() { return pi_f_l / 2; } template<> inline float pi_half_upper() { return pi_f_u / 2; } template<> inline float pi_twice_lower() { return pi_f_l * 2; } template<> inline float pi_twice_upper() { return pi_f_u * 2; } template<> inline double pi_lower() { return pi_d_l; } template<> inline double pi_upper() { return pi_d_u; } template<> inline double pi_half_lower() { return pi_d_l / 2; } template<> inline double pi_half_upper() { return pi_d_u / 2; } template<> inline double pi_twice_lower() { return pi_d_l * 2; } template<> inline double pi_twice_upper() { return pi_d_u * 2; } template<> inline long double pi_lower() { return pi_d_l; } template<> inline long double pi_upper() { return pi_d_u; } template<> inline long double pi_half_lower() { return pi_d_l / 2; } template<> inline long double pi_half_upper() { return pi_d_u / 2; } template<> inline long double pi_twice_lower() { return pi_d_l * 2; } template<> inline long double pi_twice_upper() { return pi_d_u * 2; } } // namespace constants template inline I pi() { typedef typename I::base_type T; return I(constants::pi_lower(), constants::pi_upper(), true); } template inline I pi_half() { typedef typename I::base_type T; return I(constants::pi_half_lower(), constants::pi_half_upper(), true); } template inline I pi_twice() { typedef typename I::base_type T; return I(constants::pi_twice_lower(), constants::pi_twice_upper(), true); } } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_CONSTANTS_HPP KWStyle-master/Utilities/boost/numeric/interval/detail/000077500000000000000000000000001265471724600235605ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/interval/detail/alpha_rounding_control.hpp000066400000000000000000000070261265471724600310300ustar00rootroot00000000000000/* Boost interval/detail/alpha_rounding_control.hpp file * * Copyright 2005 Felix Hfling, Guillaume Melquiond * * Distributed under the 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_NUMERIC_INTERVAL_DETAIL_ALPHA_ROUNDING_CONTROL_HPP #define BOOST_NUMERIC_INTERVAL_DETAIL_ALPHA_ROUNDING_CONTROL_HPP #if !defined(alpha) && !defined(__alpha__) #error This header only works on Alpha CPUs. #endif #if defined(__GNUC__) || defined(__digital__) || defined(__DECCXX) #include // write_rnd() and read_rnd() namespace boost { namespace numeric { namespace interval_lib { namespace detail { #if defined(__GNUC__ ) typedef union { ::boost::long_long_type imode; double dmode; } rounding_mode_struct; // set bits 59-58 (DYN), // clear all exception bits and disable overflow (51) and inexact exceptions (62) static const rounding_mode_struct mode_upward = { 0x4C08000000000000LL }; static const rounding_mode_struct mode_downward = { 0x4408000000000000LL }; static const rounding_mode_struct mode_to_nearest = { 0x4808000000000000LL }; static const rounding_mode_struct mode_toward_zero = { 0x4008000000000000LL }; struct alpha_rounding_control { typedef double rounding_mode; static void set_rounding_mode(const rounding_mode mode) { __asm__ __volatile__ ("mt_fpcr %0" : : "f"(mode)); } static void get_rounding_mode(rounding_mode& mode) { __asm__ __volatile__ ("mf_fpcr %0" : "=f"(mode)); } static void downward() { set_rounding_mode(mode_downward.dmode); } static void upward() { set_rounding_mode(mode_upward.dmode); } static void to_nearest() { set_rounding_mode(mode_to_nearest.dmode); } static void toward_zero() { set_rounding_mode(mode_toward_zero.dmode); } }; #elif defined(__digital__) || defined(__DECCXX) #if defined(__DECCXX) && !(defined(__FLT_ROUNDS) && __FLT_ROUNDS == -1) #error Dynamic rounding mode not enabled. See cxx man page for details. #endif struct alpha_rounding_control { typedef unsigned int rounding_mode; static void set_rounding_mode(const rounding_mode& mode) { write_rnd(mode); } static void get_rounding_mode(rounding_mode& mode) { mode = read_rnd(); } static void downward() { set_rounding_mode(FP_RND_RM); } static void upward() { set_rounding_mode(FP_RND_RP); } static void to_nearest() { set_rounding_mode(FP_RND_RN); } static void toward_zero() { set_rounding_mode(FP_RND_RZ); } }; #endif } // namespace detail extern "C" { float rintf(float); double rint(double); long double rintl(long double); } template<> struct rounding_control: detail::alpha_rounding_control { static float force_rounding(const float r) { volatile float _r = r; return _r; } static float to_int(const float& x) { return rintf(x); } }; template<> struct rounding_control: detail::alpha_rounding_control { static const double & force_rounding(const double& r) { return r; } static double to_int(const double& r) { return rint(r); } }; template<> struct rounding_control: detail::alpha_rounding_control { static const long double & force_rounding(const long double& r) { return r; } static long double to_int(const long double& r) { return rintl(r); } }; } // namespace interval_lib } // namespace numeric } // namespace boost #undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE #endif #endif /* BOOST_NUMERIC_INTERVAL_DETAIL_ALPHA_ROUNDING_CONTROL_HPP */ KWStyle-master/Utilities/boost/numeric/interval/detail/bcc_rounding_control.hpp000066400000000000000000000030521265471724600304650ustar00rootroot00000000000000/* Boost interval/detail/bcc_rounding_control.hpp file * * Copyright 2000 Jens Maurer * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_DETAIL_BCC_ROUNDING_CONTROL_HPP #define BOOST_NUMERIC_INTERVAL_DETAIL_BCC_ROUNDING_CONTROL_HPP #ifndef __BORLANDC__ # error This header is only intended for Borland C++. #endif #ifndef _M_IX86 # error This header only works on x86 CPUs. #endif #include // Borland C++ rounding control namespace boost { namespace numeric { namespace interval_lib { namespace detail { #ifndef BOOST_NUMERIC_INTERVAL_KEEP_EXCEPTIONS_FOR_BCC extern "C" { unsigned int _RTLENTRY _fm_init(void); } struct borland_workaround { borland_workaround() { _fm_init(); } }; static borland_workaround borland_workaround_exec; #endif // BOOST_NUMERIC_INTERVAL_KEEP_EXCEPTIONS_FOR_BCC __inline double rint(double) { __emit__(0xD9); __emit__(0xFC); /* asm FRNDINT */ } struct x86_rounding { typedef unsigned int rounding_mode; static void get_rounding_mode(rounding_mode& mode) { mode = _control87(0, 0); } static void set_rounding_mode(const rounding_mode mode) { _control87(mode, 0xffff); } static double to_int(const double& x) { return rint(x); } }; } // namespace detail } // namespace interval_lib } // namespace numeric } // namespace boost #endif /* BOOST_NUMERIC_INTERVAL_DETAIL_BCC_ROUNDING_CONTROL_HPP */ KWStyle-master/Utilities/boost/numeric/interval/detail/bugs.hpp000066400000000000000000000027471265471724600252430ustar00rootroot00000000000000/* Boost interval/detail/bugs.hpp file * * Copyright 2000 Jens Maurer * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_DETAIL_BUGS #define BOOST_NUMERIC_INTERVAL_DETAIL_BUGS #include #if defined(__GLIBC__) && (defined(__USE_MISC) || defined(__USE_XOPEN_EXTENDED) || defined(__USE_ISOC99)) && !defined(__ICC) # define BOOST_HAS_INV_HYPERBOLIC #endif #ifdef BOOST_NO_STDC_NAMESPACE # define BOOST_NUMERIC_INTERVAL_using_math(a) using ::a # ifdef BOOST_HAS_INV_HYPERBOLIC # define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using ::a # endif #else # define BOOST_NUMERIC_INTERVAL_using_math(a) using std::a # if defined(BOOST_HAS_INV_HYPERBOLIC) # if defined(__GLIBCPP__) || defined(__GLIBCXX__) # define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using ::a # else # define BOOST_NUMERIC_INTERVAL_using_ahyp(a) using std::a # endif # endif #endif #if defined(__COMO__) || defined(BOOST_INTEL) # define BOOST_NUMERIC_INTERVAL_using_max(a) using std::a #elif defined(BOOST_NO_STDC_NAMESPACE) # define BOOST_NUMERIC_INTERVAL_using_max(a) using ::a #else # define BOOST_NUMERIC_INTERVAL_using_max(a) using std::a #endif #ifndef BOOST_NUMERIC_INTERVAL_using_ahyp # define BOOST_NUMERIC_INTERVAL_using_ahyp(a) #endif #endif // BOOST_NUMERIC_INTERVAL_DETAIL_BUGS KWStyle-master/Utilities/boost/numeric/interval/detail/c99_rounding_control.hpp000066400000000000000000000024121265471724600303410ustar00rootroot00000000000000/* Boost interval/detail/c99_rounding_control.hpp file * * Copyright 2000 Jens Maurer * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_DETAIL_C99_ROUNDING_CONTROL_HPP #define BOOST_NUMERIC_INTERVAL_DETAIL_C99_ROUNDING_CONTROL_HPP #include namespace boost { namespace numeric { namespace interval_lib { template<> struct rounding_control: detail::c99_rounding_control { static float force_rounding(float const &r) { volatile float r_ = r; return r_; } }; template<> struct rounding_control: detail::c99_rounding_control { static double force_rounding(double const &r) { volatile double r_ = r; return r_; } }; template<> struct rounding_control: detail::c99_rounding_control { static long double force_rounding(long double const &r) { volatile long double r_ = r; return r_; } }; } // namespace interval_lib } // namespace numeric } // namespace boost #undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE #endif // BOOST_NUMERIC_INTERVAL_DETAIL_C99_ROUNDING_CONTROL_HPP KWStyle-master/Utilities/boost/numeric/interval/detail/c99sub_rounding_control.hpp000066400000000000000000000025261265471724600310610ustar00rootroot00000000000000/* Boost interval/detail/c99sub_rounding_control.hpp file * * Copyright 2000 Jens Maurer * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_DETAIL_C99SUB_ROUNDING_CONTROL_HPP #define BOOST_NUMERIC_INTERVAL_DETAIL_C99SUB_ROUNDING_CONTROL_HPP #include // ISO C 99 rounding mode control namespace boost { namespace numeric { namespace interval_lib { namespace detail { extern "C" { double rint(double); } struct c99_rounding_control { typedef int rounding_mode; static void set_rounding_mode(rounding_mode mode) { fesetround(mode); } static void get_rounding_mode(rounding_mode &mode) { mode = fegetround(); } static void downward() { set_rounding_mode(FE_DOWNWARD); } static void upward() { set_rounding_mode(FE_UPWARD); } static void to_nearest() { set_rounding_mode(FE_TONEAREST); } static void toward_zero() { set_rounding_mode(FE_TOWARDZERO); } template static T to_int(const T& r) { return rint(r); } }; } // namespace detail } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_DETAIL_C99SUB_ROUBDING_CONTROL_HPP KWStyle-master/Utilities/boost/numeric/interval/detail/division.hpp000066400000000000000000000165131265471724600261230ustar00rootroot00000000000000/* Boost interval/detail/division.hpp file * * Copyright 2003 Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_DETAIL_DIVISION_HPP #define BOOST_NUMERIC_INTERVAL_DETAIL_DIVISION_HPP #include #include #include #include #include namespace boost { namespace numeric { namespace interval_lib { namespace detail { template inline interval div_non_zero(const interval& x, const interval& y) { // assert(!in_zero(y)); typename Policies::rounding rnd; typedef interval I; const T& xl = x.lower(); const T& xu = x.upper(); const T& yl = y.lower(); const T& yu = y.upper(); if (::boost::numeric::interval_lib::user::is_neg(xu)) if (::boost::numeric::interval_lib::user::is_neg(yu)) return I(rnd.div_down(xu, yl), rnd.div_up(xl, yu), true); else return I(rnd.div_down(xl, yl), rnd.div_up(xu, yu), true); else if (::boost::numeric::interval_lib::user::is_neg(xl)) if (::boost::numeric::interval_lib::user::is_neg(yu)) return I(rnd.div_down(xu, yu), rnd.div_up(xl, yu), true); else return I(rnd.div_down(xl, yl), rnd.div_up(xu, yl), true); else if (::boost::numeric::interval_lib::user::is_neg(yu)) return I(rnd.div_down(xu, yu), rnd.div_up(xl, yl), true); else return I(rnd.div_down(xl, yu), rnd.div_up(xu, yl), true); } template inline interval div_non_zero(const T& x, const interval& y) { // assert(!in_zero(y)); typename Policies::rounding rnd; typedef interval I; const T& yl = y.lower(); const T& yu = y.upper(); if (::boost::numeric::interval_lib::user::is_neg(x)) return I(rnd.div_down(x, yl), rnd.div_up(x, yu), true); else return I(rnd.div_down(x, yu), rnd.div_up(x, yl), true); } template inline interval div_positive(const interval& x, const T& yu) { // assert(::boost::numeric::interval_lib::user::is_pos(yu)); if (::boost::numeric::interval_lib::user::is_zero(x.lower()) && ::boost::numeric::interval_lib::user::is_zero(x.upper())) return x; typename Policies::rounding rnd; typedef interval I; const T& xl = x.lower(); const T& xu = x.upper(); typedef typename Policies::checking checking; if (::boost::numeric::interval_lib::user::is_neg(xu)) return I(checking::neg_inf(), rnd.div_up(xu, yu), true); else if (::boost::numeric::interval_lib::user::is_neg(xl)) return I(checking::neg_inf(), checking::pos_inf(), true); else return I(rnd.div_down(xl, yu), checking::pos_inf(), true); } template inline interval div_positive(const T& x, const T& yu) { // assert(::boost::numeric::interval_lib::user::is_pos(yu)); typedef interval I; if (::boost::numeric::interval_lib::user::is_zero(x)) return I(static_cast(0), static_cast(0), true); typename Policies::rounding rnd; typedef typename Policies::checking checking; if (::boost::numeric::interval_lib::user::is_neg(x)) return I(checking::neg_inf(), rnd.div_up(x, yu), true); else return I(rnd.div_down(x, yu), checking::pos_inf(), true); } template inline interval div_negative(const interval& x, const T& yl) { // assert(::boost::numeric::interval_lib::user::is_neg(yl)); if (::boost::numeric::interval_lib::user::is_zero(x.lower()) && ::boost::numeric::interval_lib::user::is_zero(x.upper())) return x; typename Policies::rounding rnd; typedef interval I; const T& xl = x.lower(); const T& xu = x.upper(); typedef typename Policies::checking checking; if (::boost::numeric::interval_lib::user::is_neg(xu)) return I(rnd.div_down(xu, yl), checking::pos_inf(), true); else if (::boost::numeric::interval_lib::user::is_neg(xl)) return I(checking::neg_inf(), checking::pos_inf(), true); else return I(checking::neg_inf(), rnd.div_up(xl, yl), true); } template inline interval div_negative(const T& x, const T& yl) { // assert(::boost::numeric::interval_lib::user::is_neg(yl)); typedef interval I; if (::boost::numeric::interval_lib::user::is_zero(x)) return I(static_cast(0), static_cast(0), true); typename Policies::rounding rnd; typedef typename Policies::checking checking; if (::boost::numeric::interval_lib::user::is_neg(x)) return I(rnd.div_down(x, yl), checking::pos_inf(), true); else return I(checking::neg_inf(), rnd.div_up(x, yl), true); } template inline interval div_zero(const interval& x) { if (::boost::numeric::interval_lib::user::is_zero(x.lower()) && ::boost::numeric::interval_lib::user::is_zero(x.upper())) return x; else return interval::whole(); } template inline interval div_zero(const T& x) { if (::boost::numeric::interval_lib::user::is_zero(x)) return interval(static_cast(0), static_cast(0), true); else return interval::whole(); } template inline interval div_zero_part1(const interval& x, const interval& y, bool& b) { // assert(::boost::numeric::interval_lib::user::is_neg(y.lower()) && ::boost::numeric::interval_lib::user::is_pos(y.upper())); if (::boost::numeric::interval_lib::user::is_zero(x.lower()) && ::boost::numeric::interval_lib::user::is_zero(x.upper())) { b = false; return x; } typename Policies::rounding rnd; typedef interval I; const T& xl = x.lower(); const T& xu = x.upper(); const T& yl = y.lower(); const T& yu = y.upper(); typedef typename Policies::checking checking; if (::boost::numeric::interval_lib::user::is_neg(xu)) { b = true; return I(checking::neg_inf(), rnd.div_up(xu, yu), true); } else if (::boost::numeric::interval_lib::user::is_neg(xl)) { b = false; return I(checking::neg_inf(), checking::pos_inf(), true); } else { b = true; return I(checking::neg_inf(), rnd.div_up(xl, yl), true); } } template inline interval div_zero_part2(const interval& x, const interval& y) { // assert(::boost::numeric::interval_lib::user::is_neg(y.lower()) && ::boost::numeric::interval_lib::user::is_pos(y.upper()) && (div_zero_part1(x, y, b), b)); typename Policies::rounding rnd; typedef interval I; typedef typename Policies::checking checking; if (::boost::numeric::interval_lib::user::is_neg(x.upper())) return I(rnd.div_down(x.upper(), y.lower()), checking::pos_inf(), true); else return I(rnd.div_down(x.lower(), y.upper()), checking::pos_inf(), true); } } // namespace detail } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_DETAIL_DIVISION_HPP KWStyle-master/Utilities/boost/numeric/interval/detail/ia64_rounding_control.hpp000066400000000000000000000041451265471724600305050ustar00rootroot00000000000000/* Boost interval/detail/ia64_rounding_control.hpp file * * Copyright 2006-2007 Boris Gubenko * * Distributed under the 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_NUMERIC_INTERVAL_DETAIL_IA64_ROUNDING_CONTROL_HPP #define BOOST_NUMERIC_INTERVAL_DETAIL_IA64_ROUNDING_CONTROL_HPP #if !defined(ia64) && !defined(__ia64) && !defined(__ia64__) #error This header only works on ia64 CPUs. #endif #if defined(__hpux) # include namespace boost { namespace numeric { namespace interval_lib { namespace detail { struct ia64_rounding_control { typedef unsigned int rounding_mode; static void set_rounding_mode(const rounding_mode& mode) { fesetround(mode); } static void get_rounding_mode(rounding_mode& mode) { mode = fegetround(); } static void downward() { set_rounding_mode(FE_DOWNWARD); } static void upward() { set_rounding_mode(FE_UPWARD); } static void to_nearest() { set_rounding_mode(FE_TONEAREST); } static void toward_zero() { set_rounding_mode(FE_TOWARDZERO); } }; } // namespace detail extern "C" { float rintf(float); double rint(double); long double rintl(long double); } template<> struct rounding_control: detail::ia64_rounding_control { static float force_rounding(const float r) { volatile float _r = r; return _r; } static float to_int(const float& x) { return rintf(x); } }; template<> struct rounding_control: detail::ia64_rounding_control { static const double & force_rounding(const double& r) { return r; } static double to_int(const double& r) { return rint(r); } }; template<> struct rounding_control: detail::ia64_rounding_control { static const long double & force_rounding(const long double& r) { return r; } static long double to_int(const long double& r) { return rintl(r); } }; } // namespace interval_lib } // namespace numeric } // namespace boost #undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE #endif /* __hpux */ #endif /* BOOST_NUMERIC_INTERVAL_DETAIL_IA64_ROUNDING_CONTROL_HPP */ KWStyle-master/Utilities/boost/numeric/interval/detail/interval_prototype.hpp000066400000000000000000000020111265471724600302340ustar00rootroot00000000000000/* Boost interval/detail/interval_prototype.hpp file * * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_DETAIL_INTERVAL_PROTOTYPE_HPP #define BOOST_NUMERIC_INTERVAL_DETAIL_INTERVAL_PROTOTYPE_HPP namespace boost { namespace numeric { namespace interval_lib { template struct rounded_math; template struct checking_strict; class comparison_error; template struct policies; /* * default policies class */ template struct default_policies { typedef policies, checking_strict > type; }; } // namespace interval_lib template::type > class interval; } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_DETAIL_INTERVAL_PROTOTYPE_HPP KWStyle-master/Utilities/boost/numeric/interval/detail/msvc_rounding_control.hpp000066400000000000000000000064771265471724600307240ustar00rootroot00000000000000/* Boost interval/detail/msvc_rounding_control.hpp file * * Copyright 2000 Maarten Keijzer * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_DETAIL_MSVC_ROUNDING_CONTROL_HPP #define BOOST_NUMERIC_INTERVAL_DETAIL_MSVC_ROUNDING_CONTROL_HPP #ifndef _MSC_VER # error This header is only intended for MSVC, but might work for Borland as well #endif #include // MSVC rounding control // Although the function is called _control87, it seems to work for // other FPUs too, so it does not have to be changed to _controlfp. namespace boost { namespace numeric { namespace interval_lib { namespace detail { #if BOOST_MSVC < 1400 || defined(_WIN64) extern "C" { double rint(double); } #else inline double rint(double x) { _asm FLD [x] ; _asm FRNDINT ; //_asm RET ; } #endif struct x86_rounding { static unsigned int hard2msvc(unsigned short m) { unsigned int n = 0; if (m & 0x01) n |= _EM_INVALID; if (m & 0x02) n |= _EM_DENORMAL; if (m & 0x04) n |= _EM_ZERODIVIDE; if (m & 0x08) n |= _EM_OVERFLOW; if (m & 0x10) n |= _EM_UNDERFLOW; if (m & 0x20) n |= _EM_INEXACT; switch (m & 0x300) { case 0x000: n |= _PC_24; break; case 0x200: n |= _PC_53; break; case 0x300: n |= _PC_64; break; } switch (m & 0xC00) { case 0x000: n |= _RC_NEAR; break; case 0x400: n |= _RC_DOWN; break; case 0x800: n |= _RC_UP; break; case 0xC00: n |= _RC_CHOP; break; } if (m & 0x1000) n |= _IC_AFFINE; // only useful on 287 return n; } static unsigned short msvc2hard(unsigned int n) { unsigned short m = 0; if (n & _EM_INVALID) m |= 0x01; if (n & _EM_DENORMAL) m |= 0x02; if (n & _EM_ZERODIVIDE) m |= 0x04; if (n & _EM_OVERFLOW) m |= 0x08; if (n & _EM_UNDERFLOW) m |= 0x10; if (n & _EM_INEXACT) m |= 0x20; switch (n & _MCW_RC) { case _RC_NEAR: m |= 0x000; break; case _RC_DOWN: m |= 0x400; break; case _RC_UP: m |= 0x800; break; case _RC_CHOP: m |= 0xC00; break; } switch (n & _MCW_PC) { case _PC_24: m |= 0x000; break; case _PC_53: m |= 0x200; break; case _PC_64: m |= 0x300; break; } if ((n & _MCW_IC) == _IC_AFFINE) m |= 0x1000; return m; } typedef unsigned short rounding_mode; static void get_rounding_mode(rounding_mode& mode) { mode = msvc2hard(_control87(0, 0)); } static void set_rounding_mode(const rounding_mode mode) { _control87(hard2msvc(mode), _MCW_EM | _MCW_RC #if !defined(_M_AMD64) && !defined(_M_ARM) // x64 ignores _MCW_PC and _MCW_IC, and the Debug CRT library actually // asserts when these are passed to _control87. // MSDN says on '_control87' that changing precision (_MCW_PC) or // infinity (_MCW_IC) handling is not supported on the ARM and x64 // architectures and that _control87 raises an assertion // and the invalid parameter handler is invoked. | _MCW_PC | _MCW_IC #endif ); } static double to_int(const double& x) { return rint(x); } }; } // namespace detail } // namespace interval_lib } // namespace numeric } // namespace boost #endif /* BOOST_NUMERIC_INTERVAL_DETAIL_MSVC_ROUNDING_CONTROL_HPP */ KWStyle-master/Utilities/boost/numeric/interval/detail/ppc_rounding_control.hpp000066400000000000000000000056111265471724600305230ustar00rootroot00000000000000/* Boost interval/detail/ppc_rounding_control.hpp file * * Copyright 2000 Jens Maurer * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * Copyright 2005 Guillaume Melquiond * * Distributed under the 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_NUMERIC_INTERVAL_DETAIL_PPC_ROUNDING_CONTROL_HPP #define BOOST_NUMERIC_INTERVAL_DETAIL_PPC_ROUNDING_CONTROL_HPP #if !defined(powerpc) && !defined(__powerpc__) && !defined(__ppc__) #error This header only works on PPC CPUs. #endif #if defined(__GNUC__ ) || (__IBMCPP__ >= 700) namespace boost { namespace numeric { namespace interval_lib { namespace detail { typedef union { ::boost::long_long_type imode; double dmode; } rounding_mode_struct; static const rounding_mode_struct mode_upward = { 0xFFF8000000000002LL }; static const rounding_mode_struct mode_downward = { 0xFFF8000000000003LL }; static const rounding_mode_struct mode_to_nearest = { 0xFFF8000000000000LL }; static const rounding_mode_struct mode_toward_zero = { 0xFFF8000000000001LL }; struct ppc_rounding_control { typedef double rounding_mode; static void set_rounding_mode(const rounding_mode mode) { __asm__ __volatile__ ("mtfsf 255,%0" : : "f"(mode)); } static void get_rounding_mode(rounding_mode& mode) { __asm__ __volatile__ ("mffs %0" : "=f"(mode)); } static void downward() { set_rounding_mode(mode_downward.dmode); } static void upward() { set_rounding_mode(mode_upward.dmode); } static void to_nearest() { set_rounding_mode(mode_to_nearest.dmode); } static void toward_zero() { set_rounding_mode(mode_toward_zero.dmode); } }; } // namespace detail // Do not declare the following C99 symbols if provides them. // Otherwise, conflicts may occur, due to differences between prototypes. #if !defined(_ISOC99_SOURCE) && !defined(__USE_ISOC99) extern "C" { float rintf(float); double rint(double); } #endif template<> struct rounding_control: detail::ppc_rounding_control { static float force_rounding(const float r) { float tmp; __asm__ __volatile__ ("frsp %0, %1" : "=f" (tmp) : "f" (r)); return tmp; } static float to_int(const float& x) { return rintf(x); } }; template<> struct rounding_control: detail::ppc_rounding_control { static const double & force_rounding(const double& r) { return r; } static double to_int(const double& r) { return rint(r); } }; template<> struct rounding_control: detail::ppc_rounding_control { static const long double & force_rounding(const long double& r) { return r; } static long double to_int(const long double& r) { return rint(r); } }; } // namespace interval_lib } // namespace numeric } // namespace boost #undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE #endif #endif /* BOOST_NUMERIC_INTERVAL_DETAIL_PPC_ROUNDING_CONTROL_HPP */ KWStyle-master/Utilities/boost/numeric/interval/detail/sparc_rounding_control.hpp000066400000000000000000000057641265471724600310620ustar00rootroot00000000000000/* Boost interval/detail/sparc_rounding_control.hpp file * * Copyright 2000 Jens Maurer * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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 basic code in this file was kindly provided by Jeremy Siek. */ #ifndef BOOST_NUMERIC_INTERVAL_DETAIL_SPARC_ROUNDING_CONTROL_HPP #define BOOST_NUMERIC_INTERVAL_DETAIL_SPARC_ROUNDING_CONTROL_HPP #if !defined(sparc) && !defined(__sparc__) # error This header is only intended for SPARC CPUs. #endif #ifdef __SUNPRO_CC # include #endif namespace boost { namespace numeric { namespace interval_lib { namespace detail { struct sparc_rounding_control { typedef unsigned int rounding_mode; static void set_rounding_mode(const rounding_mode& mode) { # if defined(__GNUC__) __asm__ __volatile__("ld %0, %%fsr" : : "m"(mode)); # elif defined (__SUNPRO_CC) fpsetround(fp_rnd(mode)); # elif defined(__KCC) asm("sethi %hi(mode), %o1"); asm("ld [%o1+%lo(mode)], %fsr"); # else # error Unsupported compiler for Sparc rounding control. # endif } static void get_rounding_mode(rounding_mode& mode) { # if defined(__GNUC__) __asm__ __volatile__("st %%fsr, %0" : "=m"(mode)); # elif defined (__SUNPRO_CC) mode = fpgetround(); # elif defined(__KCC) # error KCC on Sun SPARC get_round_mode: please fix me asm("st %fsr, [mode]"); # else # error Unsupported compiler for Sparc rounding control. # endif } #if defined(__SUNPRO_CC) static void downward() { set_rounding_mode(FP_RM); } static void upward() { set_rounding_mode(FP_RP); } static void to_nearest() { set_rounding_mode(FP_RN); } static void toward_zero() { set_rounding_mode(FP_RZ); } #else static void downward() { set_rounding_mode(0xc0000000); } static void upward() { set_rounding_mode(0x80000000); } static void to_nearest() { set_rounding_mode(0x00000000); } static void toward_zero() { set_rounding_mode(0x40000000); } #endif }; } // namespace detail extern "C" { float rintf(float); double rint(double); } template<> struct rounding_control: detail::sparc_rounding_control { static const float& force_rounding(const float& x) { return x; } static float to_int(const float& x) { return rintf(x); } }; template<> struct rounding_control: detail::sparc_rounding_control { static const double& force_rounding(const double& x) { return x; } static double to_int(const double& x) { return rint(x); } }; template<> struct rounding_control: detail::sparc_rounding_control { static const long double& force_rounding(const long double& x) { return x; } static long double to_int(const long double& x) { return rint(x); } }; } // namespace interval_lib } // namespace numeric } // namespace boost #undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE #endif /* BOOST_NUMERIC_INTERVAL_DETAIL_SPARC_ROUNDING_CONTROL_HPP */ KWStyle-master/Utilities/boost/numeric/interval/detail/test_input.hpp000066400000000000000000000044241265471724600264730ustar00rootroot00000000000000/* Boost interval/detail/test_input.hpp file * * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_DETAIL_TEST_INPUT_HPP #define BOOST_NUMERIC_INTERVAL_DETAIL_TEST_INPUT_HPP #include namespace boost { namespace numeric { namespace interval_lib { namespace user { template inline bool is_zero(T const &v) { return v == static_cast(0); } template inline bool is_neg (T const &v) { return v < static_cast(0); } template inline bool is_pos (T const &v) { return v > static_cast(0); } } // namespace user namespace detail { template inline bool test_input(const interval& x) { typedef typename Policies::checking checking; return checking::is_empty(x.lower(), x.upper()); } template inline bool test_input(const interval& x, const interval& y) { typedef typename Policies1::checking checking1; typedef typename Policies2::checking checking2; return checking1::is_empty(x.lower(), x.upper()) || checking2::is_empty(y.lower(), y.upper()); } template inline bool test_input(const T& x, const interval& y) { typedef typename Policies::checking checking; return checking::is_nan(x) || checking::is_empty(y.lower(), y.upper()); } template inline bool test_input(const interval& x, const T& y) { typedef typename Policies::checking checking; return checking::is_empty(x.lower(), x.upper()) || checking::is_nan(y); } template inline bool test_input(const T& x) { typedef typename Policies::checking checking; return checking::is_nan(x); } template inline bool test_input(const T& x, const T& y) { typedef typename Policies::checking checking; return checking::is_nan(x) || checking::is_nan(y); } } // namespace detail } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_DETAIL_TEST_INPUT_HPP KWStyle-master/Utilities/boost/numeric/interval/detail/x86_rounding_control.hpp000066400000000000000000000061051265471724600303650ustar00rootroot00000000000000/* Boost interval/detail/x86_rounding_control.hpp file * * Copyright 2000 Jens Maurer * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_DETAIL_X86_ROUNDING_CONTROL_HPP #define BOOST_NUMERIC_INTERVAL_DETAIL_X86_ROUNDING_CONTROL_HPP #ifdef __GNUC__ # include #elif defined(__BORLANDC__) # include #elif defined(_MSC_VER) # include #elif defined(__MWERKS__) || defined(__ICC) || defined (__SUNPRO_CC) # define BOOST_NUMERIC_INTERVAL_USE_C99_SUBSYSTEM # include #else # error Unsupported C++ compiler. #endif namespace boost { namespace numeric { namespace interval_lib { namespace detail { #ifdef BOOST_NUMERIC_INTERVAL_USE_C99_SUBSYSTEM typedef c99_rounding_control x86_rounding_control; #undef BOOST_NUMERIC_INTERVAL_USE_C99_SUBSYSTEM #else struct fpu_rounding_modes { unsigned short to_nearest; unsigned short downward; unsigned short upward; unsigned short toward_zero; }; // exceptions masked, extended precision // hardware default is 0x037f (0x1000 only has a meaning on 287) static const fpu_rounding_modes rnd_mode = { 0x137f, 0x177f, 0x1b7f, 0x1f7f }; struct x86_rounding_control: x86_rounding { static void to_nearest() { set_rounding_mode(rnd_mode.to_nearest); } static void downward() { set_rounding_mode(rnd_mode.downward); } static void upward() { set_rounding_mode(rnd_mode.upward); } static void toward_zero() { set_rounding_mode(rnd_mode.toward_zero); } }; #endif // BOOST_NUMERIC_INTERVAL_USE_C99_SUBSYSTEM } // namespace detail template<> struct rounding_control: detail::x86_rounding_control { static float force_rounding(const float& r) { volatile float r_ = r; return r_; } }; template<> struct rounding_control: detail::x86_rounding_control { /*static double force_rounding(double r) { asm volatile ("" : "+m"(r) : ); return r; }*/ static double force_rounding(const double& r) { volatile double r_ = r; return r_; } }; namespace detail { template struct x86_rounding_control_long_double; template<> struct x86_rounding_control_long_double: x86_rounding_control { static long double force_rounding(long double const &r) { volatile long double r_ = r; return r_; } }; template<> struct x86_rounding_control_long_double: x86_rounding_control { static long double const &force_rounding(long double const &r) { return r; } }; } // namespace detail template<> struct rounding_control: detail::x86_rounding_control_long_double< (sizeof(long double) >= 10) > {}; } // namespace interval_lib } // namespace numeric } // namespace boost #undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE #endif /* BOOST_NUMERIC_INTERVAL_DETAIL_X86_ROUNDING_CONTROL_HPP */ KWStyle-master/Utilities/boost/numeric/interval/detail/x86gcc_rounding_control.hpp000066400000000000000000000023541265471724600310440ustar00rootroot00000000000000/* Boost interval/detail/x86gcc_rounding_control.hpp file * * Copyright 2000 Jens Maurer * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_DETAIL_X86GCC_ROUNDING_CONTROL_HPP #define BOOST_NUMERIC_INTERVAL_DETAIL_X86GCC_ROUNDING_CONTROL_HPP #ifndef __GNUC__ # error This header only works with GNU CC. #endif #ifndef __i386__ # error This header only works on x86 CPUs. #endif namespace boost { namespace numeric { namespace interval_lib { namespace detail { struct x86_rounding { typedef unsigned short rounding_mode; static void set_rounding_mode(const rounding_mode& mode) { __asm__ __volatile__ ("fldcw %0" : : "m"(mode)); } static void get_rounding_mode(rounding_mode& mode) { __asm__ __volatile__ ("fnstcw %0" : "=m"(mode)); } template static T to_int(T r) { T r_; __asm__ ("frndint" : "=&t"(r_) : "0"(r)); return r_; } }; } // namespace detail } // namespace interval_lib } // namespace numeric } // namespace boost #endif /* BOOST_NUMERIC_INTERVAL_DETAIL_X86GCC_ROUNDING_CONTROL_HPP */ KWStyle-master/Utilities/boost/numeric/interval/ext/000077500000000000000000000000001265471724600231165ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/interval/ext/integer.hpp000066400000000000000000000034311265471724600252650ustar00rootroot00000000000000/* Boost interval/ext/integer.hpp template implementation file * * Copyright 2003 Guillaume Melquiond * * Distributed under the 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_NUMERIC_INTERVAL_EXT_INTEGER_HPP #define BOOST_NUMERIC_INTERVAL_EXT_INTEGER_HPP #include #include namespace boost { namespace numeric { template inline interval operator+ (const interval& x, int y) { return x + static_cast(y); } template inline interval operator+ (int x, const interval& y) { return static_cast(x) + y; } template inline interval operator- (const interval& x, int y) { return x - static_cast(y); } template inline interval operator- (int x, const interval& y) { return static_cast(x) - y; } template inline interval operator* (const interval& x, int y) { return x * static_cast(y); } template inline interval operator* (int x, const interval& y) { return static_cast(x) * y; } template inline interval operator/ (const interval& x, int y) { return x / static_cast(y); } template inline interval operator/ (int x, const interval& y) { return static_cast(x) / y; } } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_EXT_INTEGER_HPP KWStyle-master/Utilities/boost/numeric/interval/ext/x86_fast_rounding_control.hpp000066400000000000000000000053241265471724600307420ustar00rootroot00000000000000/* Boost interval/detail/x86gcc_rounding_control.hpp file * * This header provides a rounding control policy * that avoids flushing results to memory. In * order for this optimization to be reliable, it * should be used only when no underflow or * overflow would happen without it. Indeed, only * values in range are correctly rounded. * * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_EXT_X86_FAST_ROUNDING_CONTROL_HPP #define BOOST_NUMERIC_INTERVAL_EXT_X86_FAST_ROUNDING_CONTROL_HPP namespace boost { namespace numeric { namespace interval_lib { namespace detail { // exceptions masked, expected precision (the mask is 0x0300) static const fpu_rounding_modes rnd_mode_f = { 0x107f, 0x147f, 0x187f, 0x1c7f }; static const fpu_rounding_modes rnd_mode_d = { 0x127f, 0x167f, 0x1a7f, 0x1e7f }; static const fpu_rounding_modes rnd_mode_l = { 0x137f, 0x177f, 0x1b7f, 0x1f7f }; } // namespace detail template struct x86_fast_rounding_control; template<> struct x86_fast_rounding_control: detail::x86_rounding { static void to_nearest() { set_rounding_mode(detail::rnd_mode_f.to_nearest); } static void downward() { set_rounding_mode(detail::rnd_mode_f.downward); } static void upward() { set_rounding_mode(detail::rnd_mode_f.upward); } static void toward_zero() { set_rounding_mode(detail::rnd_mode_f.toward_zero); } static const float& force_rounding(const float& r) { return r; } }; template<> struct x86_fast_rounding_control: detail::x86_rounding { static void to_nearest() { set_rounding_mode(detail::rnd_mode_d.to_nearest); } static void downward() { set_rounding_mode(detail::rnd_mode_d.downward); } static void upward() { set_rounding_mode(detail::rnd_mode_d.upward); } static void toward_zero() { set_rounding_mode(detail::rnd_mode_d.toward_zero); } static const double& force_rounding(const double& r) { return r; } }; template<> struct x86_fast_rounding_control: detail::x86_rounding { static void to_nearest() { set_rounding_mode(detail::rnd_mode_l.to_nearest); } static void downward() { set_rounding_mode(detail::rnd_mode_l.downward); } static void upward() { set_rounding_mode(detail::rnd_mode_l.upward); } static void toward_zero() { set_rounding_mode(detail::rnd_mode_l.toward_zero); } static const long double& force_rounding(const long double& r) { return r; } }; } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_EXT_X86_FAST_ROUNDING_CONTROL_HPP KWStyle-master/Utilities/boost/numeric/interval/hw_rounding.hpp000066400000000000000000000043761265471724600253640ustar00rootroot00000000000000/* Boost interval/hw_rounding.hpp template implementation file * * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * Copyright 2005 Guillaume Melquiond * * Distributed under the 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_NUMERIC_INTERVAL_HW_ROUNDING_HPP #define BOOST_NUMERIC_INTERVAL_HW_ROUNDING_HPP #include #include #define BOOST_NUMERIC_INTERVAL_NO_HARDWARE // define appropriate specialization of rounding_control for built-in types #if defined(__x86_64__) && (defined(__USE_ISOC99) || defined(__APPLE__)) # include #elif defined(__i386__) || defined(_M_IX86) || defined(__BORLANDC__) || defined(_M_X64) # include #elif defined(powerpc) || defined(__powerpc__) || defined(__ppc__) # include #elif defined(sparc) || defined(__sparc__) # include #elif defined(alpha) || defined(__alpha__) # include #elif defined(ia64) || defined(__ia64) || defined(__ia64__) # include #endif #if defined(BOOST_NUMERIC_INTERVAL_NO_HARDWARE) && (defined(__USE_ISOC99) || defined(__MSL__)) # include #endif #if defined(BOOST_NUMERIC_INTERVAL_NO_HARDWARE) # undef BOOST_NUMERIC_INTERVAL_NO_HARDWARE # error Boost.Numeric.Interval: Please specify rounding control mechanism. #endif namespace boost { namespace numeric { namespace interval_lib { /* * Three specializations of rounded_math */ template<> struct rounded_math : save_state > {}; template<> struct rounded_math : save_state > {}; template<> struct rounded_math : save_state > {}; } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_HW_ROUNDING_HPP KWStyle-master/Utilities/boost/numeric/interval/interval.hpp000066400000000000000000000276441265471724600246700ustar00rootroot00000000000000/* Boost interval/interval.hpp header file * * Copyright 2002-2003 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_INTERVAL_HPP #define BOOST_NUMERIC_INTERVAL_INTERVAL_HPP #include #include #include namespace boost { namespace numeric { namespace interval_lib { class comparison_error : public std::runtime_error { public: comparison_error() : std::runtime_error("boost::interval: uncertain comparison") { } }; } // namespace interval_lib /* * interval class */ template class interval { private: struct interval_holder; struct number_holder; public: typedef T base_type; typedef Policies traits_type; T const &lower() const; T const &upper() const; interval(); interval(T const &v); template interval(T1 const &v); interval(T const &l, T const &u); template interval(T1 const &l, T2 const &u); interval(interval const &r); template interval(interval const &r); template interval(interval const &r); interval &operator=(T const &v); template interval &operator=(T1 const &v); interval &operator=(interval const &r); template interval &operator=(interval const &r); template interval &operator=(interval const &r); void assign(const T& l, const T& u); static interval empty(); static interval whole(); static interval hull(const T& x, const T& y); interval& operator+= (const T& r); interval& operator+= (const interval& r); interval& operator-= (const T& r); interval& operator-= (const interval& r); interval& operator*= (const T& r); interval& operator*= (const interval& r); interval& operator/= (const T& r); interval& operator/= (const interval& r); bool operator< (const interval_holder& r) const; bool operator> (const interval_holder& r) const; bool operator<= (const interval_holder& r) const; bool operator>= (const interval_holder& r) const; bool operator== (const interval_holder& r) const; bool operator!= (const interval_holder& r) const; bool operator< (const number_holder& r) const; bool operator> (const number_holder& r) const; bool operator<= (const number_holder& r) const; bool operator>= (const number_holder& r) const; bool operator== (const number_holder& r) const; bool operator!= (const number_holder& r) const; // the following is for internal use only, it is not a published interface // nevertheless, it's public because friends don't always work correctly. interval(const T& l, const T& u, bool): low(l), up(u) {} void set_empty(); void set_whole(); void set(const T& l, const T& u); private: struct interval_holder { template interval_holder(const interval& r) : low(r.lower()), up(r.upper()) { typedef typename Policies2::checking checking2; if (checking2::is_empty(low, up)) throw interval_lib::comparison_error(); } const T& low; const T& up; }; struct number_holder { number_holder(const T& r) : val(r) { typedef typename Policies::checking checking; if (checking::is_nan(r)) throw interval_lib::comparison_error(); } const T& val; }; typedef typename Policies::checking checking; typedef typename Policies::rounding rounding; T low; T up; }; template inline interval::interval(): low(static_cast(0)), up(static_cast(0)) {} template inline interval::interval(T const &v): low(v), up(v) { if (checking::is_nan(v)) set_empty(); } template template inline interval::interval(T1 const &v) { if (checking::is_nan(v)) set_empty(); else { rounding rnd; low = rnd.conv_down(v); up = rnd.conv_up (v); } } template template inline interval::interval(T1 const &l, T2 const &u) { if (checking::is_nan(l) || checking::is_nan(u) || !(l <= u)) set_empty(); else { rounding rnd; low = rnd.conv_down(l); up = rnd.conv_up (u); } } template inline interval::interval(T const &l, T const &u): low(l), up(u) { if (checking::is_nan(l) || checking::is_nan(u) || !(l <= u)) set_empty(); } template inline interval::interval(interval const &r): low(r.lower()), up(r.upper()) {} template template inline interval::interval(interval const &r): low(r.lower()), up(r.upper()) { typedef typename Policies1::checking checking1; if (checking1::is_empty(r.lower(), r.upper())) set_empty(); } template template inline interval::interval(interval const &r) { typedef typename Policies1::checking checking1; if (checking1::is_empty(r.lower(), r.upper())) set_empty(); else { rounding rnd; low = rnd.conv_down(r.lower()); up = rnd.conv_up (r.upper()); } } template inline interval &interval::operator=(T const &v) { if (checking::is_nan(v)) set_empty(); else low = up = v; return *this; } template template inline interval &interval::operator=(T1 const &v) { if (checking::is_nan(v)) set_empty(); else { rounding rnd; low = rnd.conv_down(v); up = rnd.conv_up (v); } return *this; } template inline interval &interval::operator=(interval const &r) { low = r.lower(); up = r.upper(); return *this; } template template inline interval &interval::operator=(interval const &r) { typedef typename Policies1::checking checking1; if (checking1::is_empty(r.lower(), r.upper())) set_empty(); else { low = r.lower(); up = r.upper(); } return *this; } template template inline interval &interval::operator=(interval const &r) { typedef typename Policies1::checking checking1; if (checking1::is_empty(r.lower(), r.upper())) set_empty(); else { rounding rnd; low = rnd.conv_down(r.lower()); up = rnd.conv_up (r.upper()); } return *this; } template inline void interval::assign(const T& l, const T& u) { if (checking::is_nan(l) || checking::is_nan(u) || !(l <= u)) set_empty(); else set(l, u); } template inline void interval::set(const T& l, const T& u) { low = l; up = u; } template inline void interval::set_empty() { low = checking::empty_lower(); up = checking::empty_upper(); } template inline void interval::set_whole() { low = checking::neg_inf(); up = checking::pos_inf(); } template inline interval interval::hull(const T& x, const T& y) { bool bad_x = checking::is_nan(x); bool bad_y = checking::is_nan(y); if (bad_x) if (bad_y) return interval::empty(); else return interval(y, y, true); else if (bad_y) return interval(x, x, true); if (x <= y) return interval(x, y, true); else return interval(y, x, true); } template inline interval interval::empty() { return interval(checking::empty_lower(), checking::empty_upper(), true); } template inline interval interval::whole() { return interval(checking::neg_inf(), checking::pos_inf(), true); } template inline const T& interval::lower() const { return low; } template inline const T& interval::upper() const { return up; } /* * interval/interval comparisons */ template inline bool interval::operator< (const interval_holder& r) const { if (!checking::is_empty(low, up)) { if (up < r.low) return true; else if (low >= r.up) return false; } throw interval_lib::comparison_error(); } template inline bool interval::operator> (const interval_holder& r) const { if (!checking::is_empty(low, up)) { if (low > r.up) return true; else if (up <= r.low) return false; } throw interval_lib::comparison_error(); } template inline bool interval::operator<= (const interval_holder& r) const { if (!checking::is_empty(low, up)) { if (up <= r.low) return true; else if (low > r.up) return false; } throw interval_lib::comparison_error(); } template inline bool interval::operator>= (const interval_holder& r) const { if (!checking::is_empty(low, up)) { if (low >= r.up) return true; else if (up < r.low) return false; } throw interval_lib::comparison_error(); } template inline bool interval::operator== (const interval_holder& r) const { if (!checking::is_empty(low, up)) { if (up == r.low && low == r.up) return true; else if (up < r.low || low > r.up) return false; } throw interval_lib::comparison_error(); } template inline bool interval::operator!= (const interval_holder& r) const { if (!checking::is_empty(low, up)) { if (up < r.low || low > r.up) return true; else if (up == r.low && low == r.up) return false; } throw interval_lib::comparison_error(); } /* * interval/number comparisons */ template inline bool interval::operator< (const number_holder& r) const { if (!checking::is_empty(low, up)) { if (up < r.val) return true; else if (low >= r.val) return false; } throw interval_lib::comparison_error(); } template inline bool interval::operator> (const number_holder& r) const { if (!checking::is_empty(low, up)) { if (low > r.val) return true; else if (up <= r.val) return false; } throw interval_lib::comparison_error(); } template inline bool interval::operator<= (const number_holder& r) const { if (!checking::is_empty(low, up)) { if (up <= r.val) return true; else if (low > r.val) return false; } throw interval_lib::comparison_error(); } template inline bool interval::operator>= (const number_holder& r) const { if (!checking::is_empty(low, up)) { if (low >= r.val) return true; else if (up < r.val) return false; } throw interval_lib::comparison_error(); } template inline bool interval::operator== (const number_holder& r) const { if (!checking::is_empty(low, up)) { if (up == r.val && low == r.val) return true; else if (up < r.val || low > r.val) return false; } throw interval_lib::comparison_error(); } template inline bool interval::operator!= (const number_holder& r) const { if (!checking::is_empty(low, up)) { if (up < r.val || low > r.val) return true; else if (up == r.val && low == r.val) return false; } throw interval_lib::comparison_error(); } } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_INTERVAL_HPP KWStyle-master/Utilities/boost/numeric/interval/io.hpp000066400000000000000000000022261265471724600234400ustar00rootroot00000000000000/* Boost interval/io.hpp header file * * This file is only meant to provide a quick * implementation of the output operator. It is * provided for test programs that aren't even * interested in the precision of the results. * A real progam should define its own operators * and never include this header. * * Copyright 2003 Guillaume Melquiond * * Distributed under the 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_NUMERIC_INTERVAL_IO_HPP #define BOOST_NUMERIC_INTERVAL_IO_HPP #include #include #include namespace boost { namespace numeric { template std::basic_ostream &operator<< (std::basic_ostream &stream, interval const &value) { if (empty(value)) return stream << "[]"; else return stream << '[' << lower(value) << ',' << upper(value) << ']'; } } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_IO_HPP KWStyle-master/Utilities/boost/numeric/interval/limits.hpp000066400000000000000000000031231265471724600243270ustar00rootroot00000000000000/* Boost interval/limits.hpp template implementation file * * Copyright 2000 Jens Maurer * Copyright 2002-2003 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_LIMITS_HPP #define BOOST_NUMERIC_INTERVAL_LIMITS_HPP #include #include #include namespace std { template class numeric_limits > : public numeric_limits { private: typedef boost::numeric::interval I; typedef numeric_limits bl; public: static I min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return I((bl::min)(), (bl::min)()); } static I max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return I((bl::max)(), (bl::max)()); } static I epsilon() throw() { return I(bl::epsilon(), bl::epsilon()); } BOOST_STATIC_CONSTANT(float_round_style, round_style = round_indeterminate); BOOST_STATIC_CONSTANT(bool, is_iec559 = false); static I infinity () throw() { return I::whole(); } static I quiet_NaN() throw() { return I::empty(); } static I signaling_NaN() throw() { return I(bl::signaling_NaN(), bl::signaling_Nan()); } static I denorm_min() throw() { return I(bl::denorm_min(), bl::denorm_min()); } private: static I round_error(); // hide this on purpose, not yet implemented }; } // namespace std #endif // BOOST_NUMERIC_INTERVAL_LIMITS_HPP KWStyle-master/Utilities/boost/numeric/interval/policies.hpp000066400000000000000000000033531265471724600246420ustar00rootroot00000000000000/* Boost interval/policies.hpp template implementation file * * Copyright 2003 Guillaume Melquiond * * Distributed under the 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_NUMERIC_INTERVAL_POLICIES_HPP #define BOOST_NUMERIC_INTERVAL_POLICIES_HPP #include namespace boost { namespace numeric { namespace interval_lib { /* * policies class */ template struct policies { typedef Rounding rounding; typedef Checking checking; }; /* * policies switching classes */ template class change_rounding { typedef typename OldInterval::base_type T; typedef typename OldInterval::traits_type p; typedef typename p::checking checking; public: typedef interval > type; }; template class change_checking { typedef typename OldInterval::base_type T; typedef typename OldInterval::traits_type p; typedef typename p::rounding rounding; public: typedef interval > type; }; /* * Protect / unprotect: control whether the rounding mode is set/reset * at each operation, rather than once and for all. */ template class unprotect { typedef typename OldInterval::base_type T; typedef typename OldInterval::traits_type p; typedef typename p::rounding r; typedef typename r::unprotected_rounding newRounding; public: typedef typename change_rounding::type type; }; } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_POLICIES_HPP KWStyle-master/Utilities/boost/numeric/interval/rounded_arith.hpp000066400000000000000000000112551265471724600256620ustar00rootroot00000000000000/* Boost interval/rounded_arith.hpp template implementation file * * Copyright 2002-2003 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_ROUNDED_ARITH_HPP #define BOOST_NUMERIC_INTERVAL_ROUNDED_ARITH_HPP #include #include #include namespace boost { namespace numeric { namespace interval_lib { /* * Three classes of rounding: exact, std, opp * See documentation for details. */ template struct rounded_arith_exact: Rounding { void init() { } template T conv_down(U const &v) { return v; } template T conv_up (U const &v) { return v; } T add_down (const T& x, const T& y) { return x + y; } T add_up (const T& x, const T& y) { return x + y; } T sub_down (const T& x, const T& y) { return x - y; } T sub_up (const T& x, const T& y) { return x - y; } T mul_down (const T& x, const T& y) { return x * y; } T mul_up (const T& x, const T& y) { return x * y; } T div_down (const T& x, const T& y) { return x / y; } T div_up (const T& x, const T& y) { return x / y; } T median (const T& x, const T& y) { return (x + y) / 2; } T sqrt_down(const T& x) { BOOST_NUMERIC_INTERVAL_using_math(sqrt); return sqrt(x); } T sqrt_up (const T& x) { BOOST_NUMERIC_INTERVAL_using_math(sqrt); return sqrt(x); } T int_down (const T& x) { BOOST_NUMERIC_INTERVAL_using_math(floor); return floor(x); } T int_up (const T& x) { BOOST_NUMERIC_INTERVAL_using_math(ceil); return ceil(x); } }; template struct rounded_arith_std: Rounding { # define BOOST_DN(EXPR) this->downward(); return this->force_rounding(EXPR) # define BOOST_NR(EXPR) this->to_nearest(); return this->force_rounding(EXPR) # define BOOST_UP(EXPR) this->upward(); return this->force_rounding(EXPR) void init() { } template T conv_down(U const &v) { BOOST_DN(v); } template T conv_up (U const &v) { BOOST_UP(v); } T add_down(const T& x, const T& y) { BOOST_DN(x + y); } T sub_down(const T& x, const T& y) { BOOST_DN(x - y); } T mul_down(const T& x, const T& y) { BOOST_DN(x * y); } T div_down(const T& x, const T& y) { BOOST_DN(x / y); } T add_up (const T& x, const T& y) { BOOST_UP(x + y); } T sub_up (const T& x, const T& y) { BOOST_UP(x - y); } T mul_up (const T& x, const T& y) { BOOST_UP(x * y); } T div_up (const T& x, const T& y) { BOOST_UP(x / y); } T median(const T& x, const T& y) { BOOST_NR((x + y) / 2); } T sqrt_down(const T& x) { BOOST_NUMERIC_INTERVAL_using_math(sqrt); BOOST_DN(sqrt(x)); } T sqrt_up (const T& x) { BOOST_NUMERIC_INTERVAL_using_math(sqrt); BOOST_UP(sqrt(x)); } T int_down(const T& x) { this->downward(); return this->to_int(x); } T int_up (const T& x) { this->upward(); return this->to_int(x); } # undef BOOST_DN # undef BOOST_NR # undef BOOST_UP }; template struct rounded_arith_opp: Rounding { void init() { this->upward(); } # define BOOST_DN(EXPR) \ this->downward(); \ T r = this->force_rounding(EXPR); \ this->upward(); \ return r # define BOOST_NR(EXPR) \ this->to_nearest(); \ T r = this->force_rounding(EXPR); \ this->upward(); \ return r # define BOOST_UP(EXPR) return this->force_rounding(EXPR) # define BOOST_UP_NEG(EXPR) return -this->force_rounding(EXPR) template T conv_down(U const &v) { BOOST_UP_NEG(-v); } template T conv_up (U const &v) { BOOST_UP(v); } T add_down(const T& x, const T& y) { BOOST_UP_NEG((-x) - y); } T sub_down(const T& x, const T& y) { BOOST_UP_NEG(y - x); } T mul_down(const T& x, const T& y) { BOOST_UP_NEG(x * (-y)); } T div_down(const T& x, const T& y) { BOOST_UP_NEG(x / (-y)); } T add_up (const T& x, const T& y) { BOOST_UP(x + y); } T sub_up (const T& x, const T& y) { BOOST_UP(x - y); } T mul_up (const T& x, const T& y) { BOOST_UP(x * y); } T div_up (const T& x, const T& y) { BOOST_UP(x / y); } T median (const T& x, const T& y) { BOOST_NR((x + y) / 2); } T sqrt_down(const T& x) { BOOST_NUMERIC_INTERVAL_using_math(sqrt); BOOST_DN(sqrt(x)); } T sqrt_up (const T& x) { BOOST_NUMERIC_INTERVAL_using_math(sqrt); BOOST_UP(sqrt(x)); } T int_down(const T& x) { return -this->to_int(-x); } T int_up (const T& x) { return this->to_int(x); } # undef BOOST_DN # undef BOOST_NR # undef BOOST_UP # undef BOOST_UP_NEG }; } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_ROUNDED_ARITH_HPP KWStyle-master/Utilities/boost/numeric/interval/rounded_transc.hpp000066400000000000000000000122231265471724600260410ustar00rootroot00000000000000/* Boost interval/rounded_transc.hpp template implementation file * * Copyright 2002-2003 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_ROUNDED_TRANSC_HPP #define BOOST_NUMERIC_INTERVAL_ROUNDED_TRANSC_HPP #include #include #include namespace boost { namespace numeric { namespace interval_lib { template struct rounded_transc_exact: Rounding { # define BOOST_NUMERIC_INTERVAL_new_func(f) \ T f##_down(const T& x) { BOOST_NUMERIC_INTERVAL_using_math(f); return f(x); } \ T f##_up (const T& x) { BOOST_NUMERIC_INTERVAL_using_math(f); return f(x); } BOOST_NUMERIC_INTERVAL_new_func(exp) BOOST_NUMERIC_INTERVAL_new_func(log) BOOST_NUMERIC_INTERVAL_new_func(sin) BOOST_NUMERIC_INTERVAL_new_func(cos) BOOST_NUMERIC_INTERVAL_new_func(tan) BOOST_NUMERIC_INTERVAL_new_func(asin) BOOST_NUMERIC_INTERVAL_new_func(acos) BOOST_NUMERIC_INTERVAL_new_func(atan) BOOST_NUMERIC_INTERVAL_new_func(sinh) BOOST_NUMERIC_INTERVAL_new_func(cosh) BOOST_NUMERIC_INTERVAL_new_func(tanh) # undef BOOST_NUMERIC_INTERVAL_new_func # define BOOST_NUMERIC_INTERVAL_new_func(f) \ T f##_down(const T& x) { BOOST_NUMERIC_INTERVAL_using_ahyp(f); return f(x); } \ T f##_up (const T& x) { BOOST_NUMERIC_INTERVAL_using_ahyp(f); return f(x); } BOOST_NUMERIC_INTERVAL_new_func(asinh) BOOST_NUMERIC_INTERVAL_new_func(acosh) BOOST_NUMERIC_INTERVAL_new_func(atanh) # undef BOOST_NUMERIC_INTERVAL_new_func }; template struct rounded_transc_std: Rounding { # define BOOST_NUMERIC_INTERVAL_new_func(f) \ T f##_down(const T& x) \ { BOOST_NUMERIC_INTERVAL_using_math(f); \ this->downward(); return this->force_rounding(f(x)); } \ T f##_up (const T& x) \ { BOOST_NUMERIC_INTERVAL_using_math(f); \ this->upward(); return this->force_rounding(f(x)); } BOOST_NUMERIC_INTERVAL_new_func(exp) BOOST_NUMERIC_INTERVAL_new_func(log) BOOST_NUMERIC_INTERVAL_new_func(sin) BOOST_NUMERIC_INTERVAL_new_func(cos) BOOST_NUMERIC_INTERVAL_new_func(tan) BOOST_NUMERIC_INTERVAL_new_func(asin) BOOST_NUMERIC_INTERVAL_new_func(acos) BOOST_NUMERIC_INTERVAL_new_func(atan) BOOST_NUMERIC_INTERVAL_new_func(sinh) BOOST_NUMERIC_INTERVAL_new_func(cosh) BOOST_NUMERIC_INTERVAL_new_func(tanh) # undef BOOST_NUMERIC_INTERVAL_new_func # define BOOST_NUMERIC_INTERVAL_new_func(f) \ T f##_down(const T& x) \ { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ this->downward(); return this->force_rounding(f(x)); } \ T f##_up (const T& x) \ { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ this->upward(); return this->force_rounding(f(x)); } BOOST_NUMERIC_INTERVAL_new_func(asinh) BOOST_NUMERIC_INTERVAL_new_func(acosh) BOOST_NUMERIC_INTERVAL_new_func(atanh) # undef BOOST_NUMERIC_INTERVAL_new_func }; template struct rounded_transc_opp: Rounding { # define BOOST_NUMERIC_INTERVAL_new_func(f) \ T f##_down(const T& x) \ { BOOST_NUMERIC_INTERVAL_using_math(f); \ this->downward(); T y = this->force_rounding(f(x)); \ this->upward(); return y; } \ T f##_up (const T& x) \ { BOOST_NUMERIC_INTERVAL_using_math(f); \ return this->force_rounding(f(x)); } BOOST_NUMERIC_INTERVAL_new_func(exp) BOOST_NUMERIC_INTERVAL_new_func(log) BOOST_NUMERIC_INTERVAL_new_func(cos) BOOST_NUMERIC_INTERVAL_new_func(acos) BOOST_NUMERIC_INTERVAL_new_func(cosh) # undef BOOST_NUMERIC_INTERVAL_new_func # define BOOST_NUMERIC_INTERVAL_new_func(f) \ T f##_down(const T& x) \ { BOOST_NUMERIC_INTERVAL_using_math(f); \ return -this->force_rounding(-f(x)); } \ T f##_up (const T& x) \ { BOOST_NUMERIC_INTERVAL_using_math(f); \ return this->force_rounding(f(x)); } BOOST_NUMERIC_INTERVAL_new_func(sin) BOOST_NUMERIC_INTERVAL_new_func(tan) BOOST_NUMERIC_INTERVAL_new_func(asin) BOOST_NUMERIC_INTERVAL_new_func(atan) BOOST_NUMERIC_INTERVAL_new_func(sinh) BOOST_NUMERIC_INTERVAL_new_func(tanh) # undef BOOST_NUMERIC_INTERVAL_new_func # define BOOST_NUMERIC_INTERVAL_new_func(f) \ T f##_down(const T& x) \ { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ this->downward(); T y = this->force_rounding(f(x)); \ this->upward(); return y; } \ T f##_up (const T& x) \ { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ return this->force_rounding(f(x)); } BOOST_NUMERIC_INTERVAL_new_func(asinh) BOOST_NUMERIC_INTERVAL_new_func(atanh) # undef BOOST_NUMERIC_INTERVAL_new_func # define BOOST_NUMERIC_INTERVAL_new_func(f) \ T f##_down(const T& x) \ { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ return -this->force_rounding(-f(x)); } \ T f##_up (const T& x) \ { BOOST_NUMERIC_INTERVAL_using_ahyp(f); \ return this->force_rounding(f(x)); } BOOST_NUMERIC_INTERVAL_new_func(acosh) # undef BOOST_NUMERIC_INTERVAL_new_func }; } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_ROUNDED_TRANSC_HPP KWStyle-master/Utilities/boost/numeric/interval/rounding.hpp000066400000000000000000000050411265471724600246540ustar00rootroot00000000000000/* Boost interval/rounding.hpp template implementation file * * Copyright 2002-2003 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_ROUNDING_HPP #define BOOST_NUMERIC_INTERVAL_ROUNDING_HPP namespace boost { namespace numeric { namespace interval_lib { /* * Default rounding_control class (does nothing) */ template struct rounding_control { typedef int rounding_mode; static void get_rounding_mode(rounding_mode&) {} static void set_rounding_mode(rounding_mode) {} static void upward() {} static void downward() {} static void to_nearest() {} static const T& to_int(const T& x) { return x; } static const T& force_rounding(const T& x) { return x; } }; /* * A few rounding control classes (exact/std/opp: see documentation) * rounded_arith_* control the rounding of the arithmetic operators * rounded_transc_* control the rounding of the transcendental functions */ template > struct rounded_arith_exact; template > struct rounded_arith_std; template > struct rounded_arith_opp; template struct rounded_transc_dummy; template > struct rounded_transc_exact; template > struct rounded_transc_std; template > struct rounded_transc_opp; /* * State-saving classes: allow to set and reset rounding control */ namespace detail { template struct save_state_unprotected: Rounding { typedef save_state_unprotected unprotected_rounding; }; } // namespace detail template struct save_state: Rounding { typename Rounding::rounding_mode mode; save_state() { this->get_rounding_mode(mode); this->init(); } ~save_state() { this->set_rounding_mode(mode); } typedef detail::save_state_unprotected unprotected_rounding; }; template struct save_state_nothing: Rounding { typedef save_state_nothing unprotected_rounding; }; template struct rounded_math: save_state_nothing > {}; } // namespace interval_lib } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_ROUNDING_HPP KWStyle-master/Utilities/boost/numeric/interval/transc.hpp000066400000000000000000000173531265471724600243320ustar00rootroot00000000000000/* Boost interval/transc.hpp template implementation file * * Copyright 2000 Jens Maurer * Copyright 2002 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_TRANSC_HPP #define BOOST_NUMERIC_INTERVAL_TRANSC_HPP #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { template inline interval exp(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x)) return I::empty(); typename Policies::rounding rnd; return I(rnd.exp_down(x.lower()), rnd.exp_up(x.upper()), true); } template inline interval log(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x) || !interval_lib::user::is_pos(x.upper())) return I::empty(); typename Policies::rounding rnd; typedef typename Policies::checking checking; T l = !interval_lib::user::is_pos(x.lower()) ? checking::neg_inf() : rnd.log_down(x.lower()); return I(l, rnd.log_up(x.upper()), true); } template inline interval cos(const interval& x) { if (interval_lib::detail::test_input(x)) return interval::empty(); typename Policies::rounding rnd; typedef interval I; typedef typename interval_lib::unprotect::type R; // get lower bound within [0, pi] const R pi2 = interval_lib::pi_twice(); R tmp = fmod((const R&)x, pi2); if (width(tmp) >= pi2.lower()) return I(static_cast(-1), static_cast(1), true); // we are covering a full period if (tmp.lower() >= interval_lib::constants::pi_upper()) return -cos(tmp - interval_lib::pi()); T l = tmp.lower(); T u = tmp.upper(); BOOST_USING_STD_MIN(); // separate into monotone subintervals if (u <= interval_lib::constants::pi_lower()) return I(rnd.cos_down(u), rnd.cos_up(l), true); else if (u <= pi2.lower()) return I(static_cast(-1), rnd.cos_up(min BOOST_PREVENT_MACRO_SUBSTITUTION(rnd.sub_down(pi2.lower(), u), l)), true); else return I(static_cast(-1), static_cast(1), true); } template inline interval sin(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x)) return I::empty(); typename Policies::rounding rnd; typedef typename interval_lib::unprotect::type R; I r = cos((const R&)x - interval_lib::pi_half()); (void)&rnd; return r; } template inline interval tan(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x)) return I::empty(); typename Policies::rounding rnd; typedef typename interval_lib::unprotect::type R; // get lower bound within [-pi/2, pi/2] const R pi = interval_lib::pi(); R tmp = fmod((const R&)x, pi); const T pi_half_d = interval_lib::constants::pi_half_lower(); if (tmp.lower() >= pi_half_d) tmp -= pi; if (tmp.lower() <= -pi_half_d || tmp.upper() >= pi_half_d) return I::whole(); return I(rnd.tan_down(tmp.lower()), rnd.tan_up(tmp.upper()), true); } template inline interval asin(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x) || x.upper() < static_cast(-1) || x.lower() > static_cast(1)) return I::empty(); typename Policies::rounding rnd; T l = (x.lower() <= static_cast(-1)) ? -interval_lib::constants::pi_half_upper() : rnd.asin_down(x.lower()); T u = (x.upper() >= static_cast(1) ) ? interval_lib::constants::pi_half_upper() : rnd.asin_up (x.upper()); return I(l, u, true); } template inline interval acos(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x) || x.upper() < static_cast(-1) || x.lower() > static_cast(1)) return I::empty(); typename Policies::rounding rnd; T l = (x.upper() >= static_cast(1) ) ? static_cast(0) : rnd.acos_down(x.upper()); T u = (x.lower() <= static_cast(-1)) ? interval_lib::constants::pi_upper() : rnd.acos_up (x.lower()); return I(l, u, true); } template inline interval atan(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x)) return I::empty(); typename Policies::rounding rnd; return I(rnd.atan_down(x.lower()), rnd.atan_up(x.upper()), true); } template inline interval sinh(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x)) return I::empty(); typename Policies::rounding rnd; return I(rnd.sinh_down(x.lower()), rnd.sinh_up(x.upper()), true); } template inline interval cosh(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x)) return I::empty(); typename Policies::rounding rnd; if (interval_lib::user::is_neg(x.upper())) return I(rnd.cosh_down(x.upper()), rnd.cosh_up(x.lower()), true); else if (!interval_lib::user::is_neg(x.lower())) return I(rnd.cosh_down(x.lower()), rnd.cosh_up(x.upper()), true); else return I(static_cast(1), rnd.cosh_up(-x.lower() > x.upper() ? x.lower() : x.upper()), true); } template inline interval tanh(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x)) return I::empty(); typename Policies::rounding rnd; return I(rnd.tanh_down(x.lower()), rnd.tanh_up(x.upper()), true); } template inline interval asinh(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x)) return I::empty(); typename Policies::rounding rnd; return I(rnd.asinh_down(x.lower()), rnd.asinh_up(x.upper()), true); } template inline interval acosh(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x) || x.upper() < static_cast(1)) return I::empty(); typename Policies::rounding rnd; T l = x.lower() <= static_cast(1) ? static_cast(0) : rnd.acosh_down(x.lower()); return I(l, rnd.acosh_up(x.upper()), true); } template inline interval atanh(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x) || x.upper() < static_cast(-1) || x.lower() > static_cast(1)) return I::empty(); typename Policies::rounding rnd; typedef typename Policies::checking checking; T l = (x.lower() <= static_cast(-1)) ? checking::neg_inf() : rnd.atanh_down(x.lower()); T u = (x.upper() >= static_cast(1) ) ? checking::pos_inf() : rnd.atanh_up (x.upper()); return I(l, u, true); } } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_TRANSC_HPP KWStyle-master/Utilities/boost/numeric/interval/utility.hpp000066400000000000000000000251001265471724600245300ustar00rootroot00000000000000/* Boost interval/utility.hpp template implementation file * * Copyright 2000 Jens Maurer * Copyright 2002-2003 Herv Brnnimann, Guillaume Melquiond, Sylvain Pion * * Distributed under the 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_NUMERIC_INTERVAL_UTILITY_HPP #define BOOST_NUMERIC_INTERVAL_UTILITY_HPP #include #include #include #include #include #include /* * Implementation of simple functions */ namespace boost { namespace numeric { /* * Utility Functions */ template inline const T& lower(const interval& x) { return x.lower(); } template inline const T& upper(const interval& x) { return x.upper(); } template inline T checked_lower(const interval& x) { if (empty(x)) { typedef typename Policies::checking checking; return checking::nan(); } return x.lower(); } template inline T checked_upper(const interval& x) { if (empty(x)) { typedef typename Policies::checking checking; return checking::nan(); } return x.upper(); } template inline T width(const interval& x) { if (interval_lib::detail::test_input(x)) return static_cast(0); typename Policies::rounding rnd; return rnd.sub_up(x.upper(), x.lower()); } template inline T median(const interval& x) { if (interval_lib::detail::test_input(x)) { typedef typename Policies::checking checking; return checking::nan(); } typename Policies::rounding rnd; return rnd.median(x.lower(), x.upper()); } template inline interval widen(const interval& x, const T& v) { if (interval_lib::detail::test_input(x)) return interval::empty(); typename Policies::rounding rnd; return interval(rnd.sub_down(x.lower(), v), rnd.add_up (x.upper(), v), true); } /* * Set-like operations */ template inline bool empty(const interval& x) { return interval_lib::detail::test_input(x); } template inline bool zero_in(const interval& x) { if (interval_lib::detail::test_input(x)) return false; return (!interval_lib::user::is_pos(x.lower())) && (!interval_lib::user::is_neg(x.upper())); } template inline bool in_zero(const interval& x) // DEPRECATED { return zero_in(x); } template inline bool in(const T& x, const interval& y) { if (interval_lib::detail::test_input(x, y)) return false; return y.lower() <= x && x <= y.upper(); } template inline bool subset(const interval& x, const interval& y) { if (empty(x)) return true; return !empty(y) && y.lower() <= x.lower() && x.upper() <= y.upper(); } template inline bool proper_subset(const interval& x, const interval& y) { if (empty(y)) return false; if (empty(x)) return true; return y.lower() <= x.lower() && x.upper() <= y.upper() && (y.lower() != x.lower() || x.upper() != y.upper()); } template inline bool overlap(const interval& x, const interval& y) { if (interval_lib::detail::test_input(x, y)) return false; return (x.lower() <= y.lower() && y.lower() <= x.upper()) || (y.lower() <= x.lower() && x.lower() <= y.upper()); } template inline bool singleton(const interval& x) { return !empty(x) && x.lower() == x.upper(); } template inline bool equal(const interval& x, const interval& y) { if (empty(x)) return empty(y); return !empty(y) && x.lower() == y.lower() && x.upper() == y.upper(); } template inline interval intersect(const interval& x, const interval& y) { BOOST_USING_STD_MIN(); BOOST_USING_STD_MAX(); if (interval_lib::detail::test_input(x, y)) return interval::empty(); const T& l = max BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y.lower()); const T& u = min BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y.upper()); if (l <= u) return interval(l, u, true); else return interval::empty(); } template inline interval hull(const interval& x, const interval& y) { BOOST_USING_STD_MIN(); BOOST_USING_STD_MAX(); bool bad_x = interval_lib::detail::test_input(x); bool bad_y = interval_lib::detail::test_input(y); if (bad_x) if (bad_y) return interval::empty(); else return y; else if (bad_y) return x; return interval(min BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y.lower()), max BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y.upper()), true); } template inline interval hull(const interval& x, const T& y) { BOOST_USING_STD_MIN(); BOOST_USING_STD_MAX(); bool bad_x = interval_lib::detail::test_input(x); bool bad_y = interval_lib::detail::test_input(y); if (bad_y) if (bad_x) return interval::empty(); else return x; else if (bad_x) return interval(y, y, true); return interval(min BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y), max BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y), true); } template inline interval hull(const T& x, const interval& y) { BOOST_USING_STD_MIN(); BOOST_USING_STD_MAX(); bool bad_x = interval_lib::detail::test_input(x); bool bad_y = interval_lib::detail::test_input(y); if (bad_x) if (bad_y) return interval::empty(); else return y; else if (bad_y) return interval(x, x, true); return interval(min BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.lower()), max BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.upper()), true); } template inline interval hull(const T& x, const T& y) { return interval::hull(x, y); } template inline std::pair, interval > bisect(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x)) return std::pair(I::empty(), I::empty()); const T m = median(x); return std::pair(I(x.lower(), m, true), I(m, x.upper(), true)); } /* * Elementary functions */ template inline T norm(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x)) { typedef typename Policies::checking checking; return checking::nan(); } BOOST_USING_STD_MAX(); return max BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast(-x.lower()), x.upper()); } template inline interval abs(const interval& x) { typedef interval I; if (interval_lib::detail::test_input(x)) return I::empty(); if (!interval_lib::user::is_neg(x.lower())) return x; if (!interval_lib::user::is_pos(x.upper())) return -x; BOOST_USING_STD_MAX(); return I(static_cast(0), max BOOST_PREVENT_MACRO_SUBSTITUTION(static_cast(-x.lower()), x.upper()), true); } template inline interval max BOOST_PREVENT_MACRO_SUBSTITUTION (const interval& x, const interval& y) { typedef interval I; if (interval_lib::detail::test_input(x, y)) return I::empty(); BOOST_USING_STD_MAX(); return I(max BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y.lower()), max BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y.upper()), true); } template inline interval max BOOST_PREVENT_MACRO_SUBSTITUTION (const interval& x, const T& y) { typedef interval I; if (interval_lib::detail::test_input(x, y)) return I::empty(); BOOST_USING_STD_MAX(); return I(max BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y), max BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y), true); } template inline interval max BOOST_PREVENT_MACRO_SUBSTITUTION (const T& x, const interval& y) { typedef interval I; if (interval_lib::detail::test_input(x, y)) return I::empty(); BOOST_USING_STD_MAX(); return I(max BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.lower()), max BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.upper()), true); } template inline interval min BOOST_PREVENT_MACRO_SUBSTITUTION (const interval& x, const interval& y) { typedef interval I; if (interval_lib::detail::test_input(x, y)) return I::empty(); BOOST_USING_STD_MIN(); return I(min BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y.lower()), min BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y.upper()), true); } template inline interval min BOOST_PREVENT_MACRO_SUBSTITUTION (const interval& x, const T& y) { typedef interval I; if (interval_lib::detail::test_input(x, y)) return I::empty(); BOOST_USING_STD_MIN(); return I(min BOOST_PREVENT_MACRO_SUBSTITUTION(x.lower(), y), min BOOST_PREVENT_MACRO_SUBSTITUTION(x.upper(), y), true); } template inline interval min BOOST_PREVENT_MACRO_SUBSTITUTION (const T& x, const interval& y) { typedef interval I; if (interval_lib::detail::test_input(x, y)) return I::empty(); BOOST_USING_STD_MIN(); return I(min BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.lower()), min BOOST_PREVENT_MACRO_SUBSTITUTION(x, y.upper()), true); } } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_INTERVAL_UTILITY_HPP KWStyle-master/Utilities/boost/numeric/odeint.hpp000066400000000000000000000061521265471724600224710ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint.hpp [begin_description] Forward include for odeint. Includes nearly everything. [end_description] Copyright 2009-2013 Karsten Ahnert Copyright 2010-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_HPP_INCLUDED #include #include // start with ublas wrapper because we need its specializations before including state_wrapper.hpp #include #include #include #include #include #include #include #include #include #include #include #ifndef __CUDACC__ /* Bulirsch Stoer with Dense Output does not compile with nvcc * because of the binomial library used there which relies on unsupported SSE functions */ #include #endif #include #include #include #include #include #include #include #include #include #include #include /* * Including this algebra slows down the compilation time */ // #include #include #include #include #include #include #include #include #include #include #include #include #endif // BOOST_NUMERIC_ODEINT_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/000077500000000000000000000000001265471724600217545ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/algebra/000077500000000000000000000000001265471724600233515ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/algebra/algebra_dispatcher.hpp000066400000000000000000000047651265471724600277010ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/algebra/algebra_dispatcher.hpp [begin_description] Algebra dispatcher to automatically chose suitable algebra. [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_ALGEBRA_ALGEBRA_DISPATCHER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_ALGEBRA_ALGEBRA_DISPATCHER_HPP_INCLUDED #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class StateType , class Enabler = void > struct algebra_dispatcher_sfinae { // range_algebra is the standard algebra typedef range_algebra algebra_type; }; template< class StateType > struct algebra_dispatcher : algebra_dispatcher_sfinae< StateType > { }; // specialize for array template< class T , size_t N > struct algebra_dispatcher< boost::array< T , N > > { typedef array_algebra algebra_type; }; //specialize for some integral types template< typename T > struct algebra_dispatcher_sfinae< T , typename boost::enable_if< typename boost::is_floating_point< T >::type >::type > { typedef vector_space_algebra algebra_type; }; template< typename T > struct algebra_dispatcher< std::complex > { typedef vector_space_algebra algebra_type; }; ///* think about that again.... // specialize for ublas vector and matrix types template< class T , class A > struct algebra_dispatcher< boost::numeric::ublas::vector< T , A > > { typedef vector_space_algebra algebra_type; }; template< class T , class L , class A > struct algebra_dispatcher< boost::numeric::ublas::matrix< T , L , A > > { typedef vector_space_algebra algebra_type; }; //*/ } } } #ifdef BOOST_NUMERIC_ODEINT_CXX11 // c++11 mode: specialization for std::array if available #include namespace boost { namespace numeric { namespace odeint { // specialize for std::array template< class T , size_t N > struct algebra_dispatcher< std::array< T , N > > { typedef array_algebra algebra_type; }; } } } #endif #endif KWStyle-master/Utilities/boost/numeric/odeint/algebra/array_algebra.hpp000066400000000000000000000251361265471724600266640ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/algebra/array_algebra.hpp [begin_description] Algebra for Arrays. Highly specialized for odeint. Const arguments are introduce to work with odeint. The Array algebra can be used for Array structures with two template parameters: Array [end_description] Copyright 2011-2013 Mario Mulansky Copyright 2011-2012 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_ALGEBRA_ARRAY_ALGEBRA_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_ALGEBRA_ARRAY_ALGEBRA_HPP_INCLUDED #include #include #include namespace boost { namespace numeric { namespace odeint { struct array_algebra { //template< typename T , size_t dim , class Op > template < template < typename, size_t > class Array, typename T, size_t dim, class Op > static void for_each1( Array< T, dim > &s1, Op op ) { for( size_t i=0 ; i class Array, typename T, size_t dim, class Op > static void for_each2( Array< T, dim > &s1, const Array< T, dim > &s2, Op op ) { for( size_t i=0 ; i class Array, typename T, size_t dim, class Op > static void for_each3( Array< T , dim > &s1 , const Array< T , dim > &s2 , const Array< T , dim > &s3 , Op op ) { for( size_t i=0 ; i class Array, typename T, size_t dim, class Op > static void for_each3( Array< T , dim > &s1 , Array< T , dim > &s2 , const Array< T , dim > &s3 , Op op ) { for( size_t i=0 ; i class Array, typename T, size_t dim, class Op > static void for_each4( Array< T , dim > &s1 , const Array< T , dim > &s2 , const Array< T , dim > &s3 , const Array< T , dim > &s4 , Op op ) { for( size_t i=0 ; i class Array, typename T, size_t dim, class Op > static void for_each5( Array< T , dim > &s1 , const Array< T , dim > &s2 , const Array< T , dim > &s3 , const Array< T , dim > &s4 , const Array< T , dim > &s5 , Op op ) { for( size_t i=0 ; i class Array, typename T, size_t dim, class Op > static void for_each6( Array< T , dim > &s1 , const Array< T , dim > &s2 , const Array< T , dim > &s3 , const Array< T , dim > &s4 , const Array< T , dim > &s5 , const Array< T , dim > &s6 , Op op ) { for( size_t i=0 ; i class Array, typename T, size_t dim, class Op > static void for_each7( Array< T , dim > &s1 , const Array< T , dim > &s2 , const Array< T , dim > &s3 , const Array< T , dim > &s4 , const Array< T , dim > &s5 , const Array< T , dim > &s6 , const Array< T , dim > &s7 , Op op ) { for( size_t i=0 ; i class Array, typename T, size_t dim, class Op > static void for_each8( Array< T , dim > &s1 , const Array< T , dim > &s2 , const Array< T , dim > &s3 , const Array< T , dim > &s4 , const Array< T , dim > &s5 , const Array< T , dim > &s6 , const Array< T , dim > &s7 , const Array< T , dim > &s8 , Op op ) { for( size_t i=0 ; i class Array, typename T, size_t dim, class Op > static void for_each9( Array< T , dim > &s1 , const Array< T , dim > &s2 , const Array< T , dim > &s3 , const Array< T , dim > &s4 , const Array< T , dim > &s5 , const Array< T , dim > &s6 , const Array< T , dim > &s7 , const Array< T , dim > &s8 , const Array< T , dim > &s9 , Op op ) { for( size_t i=0 ; i class Array, typename T, size_t dim, class Op > static void for_each10( Array< T , dim > &s1 , const Array< T , dim > &s2 , const Array< T , dim > &s3 , const Array< T , dim > &s4 , const Array< T , dim > &s5 , const Array< T , dim > &s6 , const Array< T , dim > &s7 , const Array< T , dim > &s8 , const Array< T , dim > &s9 , const Array< T , dim > &s10 , Op op ) { for( size_t i=0 ; i class Array, typename T, size_t dim, class Op > static void for_each11( Array< T , dim > &s1 , const Array< T , dim > &s2 , const Array< T , dim > &s3 , const Array< T , dim > &s4 , const Array< T , dim > &s5 , const Array< T , dim > &s6 , const Array< T , dim > &s7 , const Array< T , dim > &s8 , const Array< T , dim > &s9 , const Array< T , dim > &s10 , const Array< T , dim > &s11 , Op op ) { for( size_t i=0 ; i class Array, typename T, size_t dim, class Op > static void for_each12( Array< T , dim > &s1 , const Array< T , dim > &s2 , const Array< T , dim > &s3 , const Array< T , dim > &s4 , const Array< T , dim > &s5 , const Array< T , dim > &s6 , const Array< T , dim > &s7 , const Array< T , dim > &s8 , const Array< T , dim > &s9 , const Array< T , dim > &s10 , const Array< T , dim > &s11 , const Array< T , dim > &s12 , Op op ) { for( size_t i=0 ; i class Array, typename T, size_t dim, class Op > static void for_each13( Array< T , dim > &s1 , const Array< T , dim > &s2 , const Array< T , dim > &s3 , const Array< T , dim > &s4 , const Array< T , dim > &s5 , const Array< T , dim > &s6 , const Array< T , dim > &s7 , const Array< T , dim > &s8 , const Array< T , dim > &s9 , const Array< T , dim > &s10 , const Array< T , dim > &s11 , const Array< T , dim > &s12 , const Array< T , dim > &s13 , Op op ) { for( size_t i=0 ; i class Array, typename T, size_t dim, class Op > static void for_each14( Array< T , dim > &s1 , const Array< T , dim > &s2 , const Array< T , dim > &s3 , const Array< T , dim > &s4 , const Array< T , dim > &s5 , const Array< T , dim > &s6 , const Array< T , dim > &s7 , const Array< T , dim > &s8 , const Array< T , dim > &s9 , const Array< T , dim > &s10 , const Array< T , dim > &s11 , const Array< T , dim > &s12 , const Array< T , dim > &s13 , const Array< T , dim > &s14 , Op op ) { for( size_t i=0 ; i class Array, typename T, size_t dim, class Op > static void for_each15( Array< T , dim > &s1 , const Array< T , dim > &s2 , const Array< T , dim > &s3 , const Array< T , dim > &s4 , const Array< T , dim > &s5 , const Array< T , dim > &s6 , const Array< T , dim > &s7 , const Array< T , dim > &s8 , const Array< T , dim > &s9 , const Array< T , dim > &s10 , const Array< T , dim > &s11 , const Array< T , dim > &s12 , const Array< T , dim > &s13 , const Array< T , dim > &s14 , const Array< T , dim > &s15 , Op op ) { for( size_t i=0 ; i class Array, typename T, size_t dim> static typename norm_result_type< Array< T , dim > >::type norm_inf( const Array< T , dim > &s ) { BOOST_USING_STD_MAX(); using std::abs; typedef typename norm_result_type< Array< T , dim > >::type result_type; result_type init = static_cast< result_type >( 0 ); for( size_t i=0 ; i(abs(s[i])) ); return init; } }; } } } #endif // BOOST_NUMERIC_ODEINT_ALGEBRA_ARRAY_ALGEBRA_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/algebra/default_operations.hpp000066400000000000000000000563521265471724600277640ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/algebra/default_operations.hpp [begin_description] Default operations. They work with the default numerical types, like float, double, complex< double> ... [end_description] Copyright 2010-2012 Karsten Ahnert Copyright 2010-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_ALGEBRA_DEFAULT_OPERATIONS_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_ALGEBRA_DEFAULT_OPERATIONS_HPP_INCLUDED #include #include #include #include namespace boost { namespace numeric { namespace odeint { /* * Notes: * * * the results structs are needed in order to work with fusion_algebra */ struct default_operations { template< class Fac1 = double > struct scale { const Fac1 m_alpha1; scale( Fac1 alpha1 ) : m_alpha1( alpha1 ) { } template< class T1 > void operator()( T1 &t1 ) const { t1 *= m_alpha1; } typedef void result_type; }; template< class Fac1 = double > struct scale_sum1 { const Fac1 m_alpha1; scale_sum1( Fac1 alpha1 ) : m_alpha1( alpha1 ) { } template< class T1 , class T2 > void operator()( T1 &t1 , const T2 &t2 ) const { t1 = m_alpha1 * t2; } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 > struct scale_sum2 { const Fac1 m_alpha1; const Fac2 m_alpha2; scale_sum2( Fac1 alpha1 , Fac2 alpha2 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) { } template< class T1 , class T2 , class T3 > void operator()( T1 &t1 , const T2 &t2 , const T3 &t3) const { t1 = m_alpha1 * t2 + m_alpha2 * t3; } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 > struct scale_sum3 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; scale_sum3( Fac1 alpha1 , Fac2 alpha2 , Fac3 alpha3 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) { } template< class T1 , class T2 , class T3 , class T4 > void operator()( T1 &t1 , const T2 &t2 , const T3 &t3 , const T4 &t4 ) const { t1 = m_alpha1 * t2 + m_alpha2 * t3 + m_alpha3 * t4; } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 > struct scale_sum4 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; scale_sum4( Fac1 alpha1 , Fac2 alpha2 , Fac3 alpha3 , Fac4 alpha4 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) { } template< class T1 , class T2 , class T3 , class T4 , class T5 > void operator()( T1 &t1 , const T2 &t2 , const T3 &t3 , const T4 &t4 , const T5 &t5) const { t1 = m_alpha1 * t2 + m_alpha2 * t3 + m_alpha3 * t4 + m_alpha4 * t5; } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 , class Fac5 = Fac4 > struct scale_sum5 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; const Fac5 m_alpha5; scale_sum5( Fac1 alpha1 , Fac2 alpha2 , Fac3 alpha3 , Fac4 alpha4 , Fac5 alpha5 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) , m_alpha5( alpha5 ) { } template< class T1 , class T2 , class T3 , class T4 , class T5 , class T6 > void operator()( T1 &t1 , const T2 &t2 , const T3 &t3 , const T4 &t4 , const T5 &t5 , const T6 &t6) const { t1 = m_alpha1 * t2 + m_alpha2 * t3 + m_alpha3 * t4 + m_alpha4 * t5 + m_alpha5 * t6; } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 , class Fac5 = Fac4 , class Fac6 = Fac5 > struct scale_sum6 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; const Fac5 m_alpha5; const Fac6 m_alpha6; scale_sum6( Fac1 alpha1 , Fac2 alpha2 , Fac3 alpha3 , Fac4 alpha4 , Fac5 alpha5 , Fac6 alpha6 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) , m_alpha5( alpha5 ) , m_alpha6( alpha6 ){ } template< class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 > void operator()( T1 &t1 , const T2 &t2 , const T3 &t3 , const T4 &t4 , const T5 &t5 , const T6 &t6 ,const T7 &t7) const { t1 = m_alpha1 * t2 + m_alpha2 * t3 + m_alpha3 * t4 + m_alpha4 * t5 + m_alpha5 * t6 + m_alpha6 * t7; } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 , class Fac5 = Fac4 , class Fac6 = Fac5 , class Fac7 = Fac6 > struct scale_sum7 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; const Fac5 m_alpha5; const Fac6 m_alpha6; const Fac7 m_alpha7; scale_sum7( Fac1 alpha1 , Fac2 alpha2 , Fac3 alpha3 , Fac4 alpha4 , Fac5 alpha5 , Fac6 alpha6 , Fac7 alpha7 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) , m_alpha5( alpha5 ) , m_alpha6( alpha6 ) , m_alpha7( alpha7 ) { } template< class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 > void operator()( T1 &t1 , const T2 &t2 , const T3 &t3 , const T4 &t4 , const T5 &t5 , const T6 &t6 , const T7 &t7 , const T8 &t8 ) const { t1 = m_alpha1 * t2 + m_alpha2 * t3 + m_alpha3 * t4 + m_alpha4 * t5 + m_alpha5 * t6 + m_alpha6 * t7 + m_alpha7 * t8; } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 , class Fac5 = Fac4 , class Fac6 = Fac5 , class Fac7 = Fac6 , class Fac8 = Fac7 > struct scale_sum8 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; const Fac5 m_alpha5; const Fac6 m_alpha6; const Fac7 m_alpha7; const Fac8 m_alpha8; scale_sum8( Fac1 alpha1 , Fac2 alpha2 , Fac3 alpha3 , Fac4 alpha4 , Fac5 alpha5 , Fac6 alpha6 , Fac7 alpha7 , Fac8 alpha8 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) , m_alpha5( alpha5 ) , m_alpha6( alpha6 ) , m_alpha7( alpha7 ) , m_alpha8( alpha8 ) { } template< class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 > void operator()( 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 ) const { t1 = m_alpha1 * t2 + m_alpha2 * t3 + m_alpha3 * t4 + m_alpha4 * t5 + m_alpha5 * t6 + m_alpha6 * t7 + m_alpha7 * t8 + m_alpha8 * t9; } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 , class Fac5 = Fac4 , class Fac6 = Fac5 , class Fac7 = Fac6 , class Fac8 = Fac7 , class Fac9 = Fac8 > struct scale_sum9 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; const Fac5 m_alpha5; const Fac6 m_alpha6; const Fac7 m_alpha7; const Fac8 m_alpha8; const Fac9 m_alpha9; scale_sum9( Fac1 alpha1 , Fac2 alpha2 , Fac3 alpha3 , Fac4 alpha4 , Fac5 alpha5 , Fac6 alpha6 , Fac7 alpha7 , Fac8 alpha8 , Fac9 alpha9 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) , m_alpha5( alpha5 ) , m_alpha6( alpha6 ) , m_alpha7( alpha7 ) , m_alpha8( alpha8 ) , m_alpha9( alpha9 ) { } template< class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 > void operator()( 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 , const T10 &t10 ) const { t1 = m_alpha1 * t2 + m_alpha2 * t3 + m_alpha3 * t4 + m_alpha4 * t5 + m_alpha5 * t6 + m_alpha6 * t7 + m_alpha7 * t8 + m_alpha8 * t9 + m_alpha9 * t10; } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 , class Fac5 = Fac4 , class Fac6 = Fac5 , class Fac7 = Fac6 , class Fac8 = Fac7 , class Fac9 = Fac8 , class Fac10 = Fac9 > struct scale_sum10 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; const Fac5 m_alpha5; const Fac6 m_alpha6; const Fac7 m_alpha7; const Fac8 m_alpha8; const Fac9 m_alpha9; const Fac10 m_alpha10; scale_sum10( Fac1 alpha1 , Fac2 alpha2 , Fac3 alpha3 , Fac4 alpha4 , Fac5 alpha5 , Fac6 alpha6 , Fac7 alpha7 , Fac8 alpha8 , Fac9 alpha9 , Fac10 alpha10 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) , m_alpha5( alpha5 ) , m_alpha6( alpha6 ) , m_alpha7( alpha7 ) , m_alpha8( alpha8 ) , m_alpha9( alpha9 ) , m_alpha10( alpha10 ) { } template< class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 > void operator()( 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 , const T10 &t10 , const T11 &t11 ) const { t1 = m_alpha1 * t2 + m_alpha2 * t3 + m_alpha3 * t4 + m_alpha4 * t5 + m_alpha5 * t6 + m_alpha6 * t7 + m_alpha7 * t8 + m_alpha8 * t9 + m_alpha9 * t10 + m_alpha10 * t11; } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 , class Fac5 = Fac4 , class Fac6 = Fac5 , class Fac7 = Fac6 , class Fac8 = Fac7 , class Fac9 = Fac8 , class Fac10 = Fac9 , class Fac11 = Fac10 > struct scale_sum11 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; const Fac5 m_alpha5; const Fac6 m_alpha6; const Fac7 m_alpha7; const Fac8 m_alpha8; const Fac9 m_alpha9; const Fac10 m_alpha10; const Fac11 m_alpha11; scale_sum11( Fac1 alpha1 , Fac2 alpha2 , Fac3 alpha3 , Fac4 alpha4 , Fac5 alpha5 , Fac6 alpha6 , Fac7 alpha7 , Fac8 alpha8 , Fac9 alpha9 , Fac10 alpha10 , Fac11 alpha11 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) , m_alpha5( alpha5 ) , m_alpha6( alpha6 ) , m_alpha7( alpha7 ) , m_alpha8( alpha8 ) , m_alpha9( alpha9 ) , m_alpha10( alpha10 ) , m_alpha11( alpha11 ) { } template< class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 > void operator()( 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 , const T10 &t10 , const T11 &t11 , const T12 &t12 ) const { t1 = m_alpha1 * t2 + m_alpha2 * t3 + m_alpha3 * t4 + m_alpha4 * t5 + m_alpha5 * t6 + m_alpha6 * t7 + m_alpha7 * t8 + m_alpha8 * t9 + m_alpha9 * t10 + m_alpha10 * t11 + m_alpha11 * t12; } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 , class Fac5 = Fac4 , class Fac6 = Fac5 , class Fac7 = Fac6 , class Fac8 = Fac7 , class Fac9 = Fac8 , class Fac10 = Fac9 , class Fac11 = Fac10 , class Fac12 = Fac11 > struct scale_sum12 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; const Fac5 m_alpha5; const Fac6 m_alpha6; const Fac7 m_alpha7; const Fac8 m_alpha8; const Fac9 m_alpha9; const Fac10 m_alpha10; const Fac11 m_alpha11; const Fac12 m_alpha12; scale_sum12( Fac1 alpha1 , Fac2 alpha2 , Fac3 alpha3 , Fac4 alpha4 , Fac5 alpha5 , Fac6 alpha6 , Fac7 alpha7 , Fac8 alpha8 , Fac9 alpha9 , Fac10 alpha10 , Fac11 alpha11 , Fac12 alpha12 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) , m_alpha5( alpha5 ) , m_alpha6( alpha6 ) , m_alpha7( alpha7 ) , m_alpha8( alpha8 ) , m_alpha9( alpha9 ) , m_alpha10( alpha10 ) , m_alpha11( alpha11 ) , m_alpha12( alpha12 ) { } template< class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 > void operator()( 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 , const T10 &t10 , const T11 &t11 , const T12 &t12 , const T13 &t13 ) const { t1 = m_alpha1 * t2 + m_alpha2 * t3 + m_alpha3 * t4 + m_alpha4 * t5 + m_alpha5 * t6 + m_alpha6 * t7 + m_alpha7 * t8 + m_alpha8 * t9 + m_alpha9 * t10 + m_alpha10 * t11 + m_alpha11 * t12 + m_alpha12 * t13; } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 , class Fac5 = Fac4 , class Fac6 = Fac5 , class Fac7 = Fac6 , class Fac8 = Fac7 , class Fac9 = Fac8 , class Fac10 = Fac9 , class Fac11 = Fac10 , class Fac12 = Fac11 , class Fac13 = Fac12 > struct scale_sum13 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; const Fac5 m_alpha5; const Fac6 m_alpha6; const Fac7 m_alpha7; const Fac8 m_alpha8; const Fac9 m_alpha9; const Fac10 m_alpha10; const Fac11 m_alpha11; const Fac12 m_alpha12; const Fac13 m_alpha13; scale_sum13( Fac1 alpha1 , Fac2 alpha2 , Fac3 alpha3 , Fac4 alpha4 , Fac5 alpha5 , Fac6 alpha6 , Fac7 alpha7 , Fac8 alpha8 , Fac9 alpha9 , Fac10 alpha10 , Fac11 alpha11 , Fac12 alpha12 , Fac13 alpha13 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) , m_alpha5( alpha5 ) , m_alpha6( alpha6 ) , m_alpha7( alpha7 ) , m_alpha8( alpha8 ) , m_alpha9( alpha9 ) , m_alpha10( alpha10 ) , m_alpha11( alpha11 ) , m_alpha12( alpha12 ) , m_alpha13( alpha13 ) { } template< class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 > void operator()( 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 , const T10 &t10 , const T11 &t11 , const T12 &t12 , const T13 &t13 , const T14 &t14 ) const { t1 = m_alpha1 * t2 + m_alpha2 * t3 + m_alpha3 * t4 + m_alpha4 * t5 + m_alpha5 * t6 + m_alpha6 * t7 + m_alpha7 * t8 + m_alpha8 * t9 + m_alpha9 * t10 + m_alpha10 * t11 + m_alpha11 * t12 + m_alpha12 * t13 + m_alpha13 * t14; } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 , class Fac5 = Fac4 , class Fac6 = Fac5 , class Fac7 = Fac6 , class Fac8 = Fac7 , class Fac9 = Fac8 , class Fac10 = Fac9 , class Fac11 = Fac10 , class Fac12 = Fac11 , class Fac13 = Fac12 , class Fac14 = Fac13 > struct scale_sum14 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; const Fac5 m_alpha5; const Fac6 m_alpha6; const Fac7 m_alpha7; const Fac8 m_alpha8; const Fac9 m_alpha9; const Fac10 m_alpha10; const Fac11 m_alpha11; const Fac12 m_alpha12; const Fac13 m_alpha13; const Fac14 m_alpha14; scale_sum14( Fac1 alpha1 , Fac2 alpha2 , Fac3 alpha3 , Fac4 alpha4 , Fac5 alpha5 , Fac6 alpha6 , Fac7 alpha7 , Fac8 alpha8 , Fac9 alpha9 , Fac10 alpha10 , Fac11 alpha11 , Fac12 alpha12 , Fac13 alpha13 , Fac14 alpha14 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) , m_alpha5( alpha5 ) , m_alpha6( alpha6 ) , m_alpha7( alpha7 ) , m_alpha8( alpha8 ) , m_alpha9( alpha9 ) , m_alpha10( alpha10 ) , m_alpha11( alpha11 ) , m_alpha12( alpha12 ) , m_alpha13( alpha13 ) , m_alpha14( alpha14 ) { } template< class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 > void operator()( 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 , const T10 &t10 , const T11 &t11 , const T12 &t12 , const T13 &t13 , const T14 &t14 , const T15 &t15 ) const { t1 = m_alpha1 * t2 + m_alpha2 * t3 + m_alpha3 * t4 + m_alpha4 * t5 + m_alpha5 * t6 + m_alpha6 * t7 + m_alpha7 * t8 + m_alpha8 * t9 + m_alpha9 * t10 + m_alpha10 * t11 + m_alpha11 * t12 + m_alpha12 * t13 + m_alpha13 * t14 + m_alpha14 * t15; } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 > struct scale_sum_swap2 { const Fac1 m_alpha1; const Fac2 m_alpha2; scale_sum_swap2( Fac1 alpha1 , Fac2 alpha2 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) { } template< class T1 , class T2 , class T3 > void operator()( T1 &t1 , T2 &t2 , const T3 &t3) const { const T1 tmp( t1 ); t1 = m_alpha1 * t2 + m_alpha2 * t3; t2 = tmp; } typedef void result_type; }; /* * for usage in for_each2 * * Works with boost::units by eliminating the unit */ template< class Fac1 = double > struct rel_error { const Fac1 m_eps_abs , m_eps_rel , m_a_x , m_a_dxdt; rel_error( Fac1 eps_abs , Fac1 eps_rel , Fac1 a_x , Fac1 a_dxdt ) : m_eps_abs( eps_abs ) , m_eps_rel( eps_rel ) , m_a_x( a_x ) , m_a_dxdt( a_dxdt ) { } template< class T1 , class T2 , class T3 > void operator()( T3 &t3 , const T1 &t1 , const T2 &t2 ) const { using std::abs; set_unit_value( t3 , abs( get_unit_value( t3 ) ) / ( m_eps_abs + m_eps_rel * ( m_a_x * abs( get_unit_value( t1 ) ) + m_a_dxdt * abs( get_unit_value( t2 ) ) ) ) ); } typedef void result_type; }; /* * for usage in for_each3 * * used in the controller for the rosenbrock4 method * * Works with boost::units by eliminating the unit */ template< class Fac1 = double > struct default_rel_error { const Fac1 m_eps_abs , m_eps_rel ; default_rel_error( Fac1 eps_abs , Fac1 eps_rel ) : m_eps_abs( eps_abs ) , m_eps_rel( eps_rel ) { } /* * xerr = xerr / ( eps_abs + eps_rel * max( x , x_old ) ) */ template< class T1 , class T2 , class T3 > void operator()( T3 &t3 , const T1 &t1 , const T2 &t2 ) const { BOOST_USING_STD_MAX(); using std::abs; Fac1 x1 = abs( get_unit_value( t1 ) ) , x2 = abs( get_unit_value( t2 ) ); set_unit_value( t3 , abs( get_unit_value( t3 ) ) / ( m_eps_abs + m_eps_rel * max BOOST_PREVENT_MACRO_SUBSTITUTION ( x1 , x2 ) ) ); } typedef void result_type; }; /* * for usage in reduce */ template< class Value > struct maximum { template< class Fac1 , class Fac2 > Value operator()( Fac1 t1 , const Fac2 t2 ) const { using std::abs; Value a1 = abs( get_unit_value( t1 ) ) , a2 = abs( get_unit_value( t2 ) ); return ( a1 < a2 ) ? a2 : a1 ; } typedef Value result_type; }; template< class Fac1 = double > struct rel_error_max { const Fac1 m_eps_abs , m_eps_rel; rel_error_max( Fac1 eps_abs , Fac1 eps_rel ) : m_eps_abs( eps_abs ) , m_eps_rel( eps_rel ) { } template< class Res , class T1 , class T2 , class T3 > Res operator()( Res r , const T1 &x_old , const T2 &x , const T3 &x_err ) { BOOST_USING_STD_MAX(); using std::abs; Res tmp = abs( get_unit_value( x_err ) ) / ( m_eps_abs + m_eps_rel * max BOOST_PREVENT_MACRO_SUBSTITUTION ( abs( x_old ) , abs( x ) ) ); return max BOOST_PREVENT_MACRO_SUBSTITUTION ( r , tmp ); } }; template< class Fac1 = double > struct rel_error_max2 { const Fac1 m_eps_abs , m_eps_rel , m_a_x , m_a_dxdt; rel_error_max2( Fac1 eps_abs , Fac1 eps_rel , Fac1 a_x , Fac1 a_dxdt ) : m_eps_abs( eps_abs ) , m_eps_rel( eps_rel ) , m_a_x( a_x ) , m_a_dxdt( a_dxdt ) { } template< class Res , class T1 , class T2 , class T3 , class T4 > Res operator()( Res r , const T1 &x_old , const T2 &x , const T3 &dxdt_old , const T4 &x_err ) { BOOST_USING_STD_MAX(); using std::abs; Res tmp = abs( get_unit_value( x_err ) ) / ( m_eps_abs + m_eps_rel * ( m_a_x * abs( get_unit_value( x_old ) ) + m_a_dxdt * abs( get_unit_value( dxdt_old ) ) ) ); return max BOOST_PREVENT_MACRO_SUBSTITUTION ( r , tmp ); } }; template< class Fac1 = double > struct rel_error_l2 { const Fac1 m_eps_abs , m_eps_rel; rel_error_l2( Fac1 eps_abs , Fac1 eps_rel ) : m_eps_abs( eps_abs ) , m_eps_rel( eps_rel ) { } template< class Res , class T1 , class T2 , class T3 > Res operator()( Res r , const T1 &x_old , const T2 &x , const T3 &x_err ) { BOOST_USING_STD_MAX(); using std::abs; Res tmp = abs( get_unit_value( x_err ) ) / ( m_eps_abs + m_eps_rel * max BOOST_PREVENT_MACRO_SUBSTITUTION ( abs( x_old ) , abs( x ) ) ); return r + tmp * tmp; } }; template< class Fac1 = double > struct rel_error_l2_2 { const Fac1 m_eps_abs , m_eps_rel , m_a_x , m_a_dxdt; rel_error_l2_2( Fac1 eps_abs , Fac1 eps_rel , Fac1 a_x , Fac1 a_dxdt ) : m_eps_abs( eps_abs ) , m_eps_rel( eps_rel ) , m_a_x( a_x ) , m_a_dxdt( a_dxdt ) { } template< class Res , class T1 , class T2 , class T3 , class T4 > Res operator()( Res r , const T1 &x_old , const T2 &x , const T3 &dxdt_old , const T4 &x_err ) { using std::abs; Res tmp = abs( get_unit_value( x_err ) ) / ( m_eps_abs + m_eps_rel * ( m_a_x * abs( get_unit_value( x_old ) ) + m_a_dxdt * abs( get_unit_value( dxdt_old ) ) ) ); return r + tmp * tmp; } }; }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_ALGEBRA_DEFAULT_OPERATIONS_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/algebra/detail/000077500000000000000000000000001265471724600246135ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/algebra/detail/extract_value_type.hpp000066400000000000000000000025161265471724600312370ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/algebra/detail/extract_value_type.hpp [begin_description] Extract true value type from complex types (eg. std::complex) [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_ALGEBRA_DETAIL_EXTRACT_VALUE_TYPE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_ALGEBRA_DETAIL_EXTRACT_VALUE_TYPE_HPP_INCLUDED #include #include BOOST_MPL_HAS_XXX_TRAIT_DEF(value_type) namespace boost { namespace numeric { namespace odeint { namespace detail { template< typename S , typename Enabler = void > struct extract_value_type {}; // as long as value_types are defined we go down the value_type chain // e.g. returning S::value_type::value_type::value_type template< typename S > struct extract_value_type >::type > { // no value_type defined, return S typedef S type; }; template< typename S > struct extract_value_type< S , typename boost::enable_if< has_value_type >::type > { // go down the value_type typedef typename extract_value_type< typename S::value_type >::type type; }; } } } } #endif KWStyle-master/Utilities/boost/numeric/odeint/algebra/detail/for_each.hpp000066400000000000000000000225171265471724600271010ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/algebra/detail/for_each.hpp [begin_description] Default for_each implementations. [end_description] Copyright 2010-2012 Karsten Ahnert Copyright 2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_ALGEBRA_DETAIL_FOR_EACH_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_ALGEBRA_DETAIL_FOR_EACH_HPP_INCLUDED namespace boost { namespace numeric { namespace odeint { namespace detail { template< class Iterator1 , class Operation > inline void for_each1( Iterator1 first1 , Iterator1 last1 , Operation op ) { for( ; first1 != last1 ; ) op( *first1++ ); } template< class Iterator1 , class Iterator2 , class Operation > inline void for_each2( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Operation op ) { for( ; first1 != last1 ; ) op( *first1++ , *first2++ ); } template< class Iterator1 , class Iterator2 , class Iterator3 , class Operation > inline void for_each3( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3, Operation op ) { for( ; first1 != last1 ; ) op( *first1++ , *first2++ , *first3++ ); } template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Operation > inline void for_each4( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3, Iterator4 first4, Operation op ) { for( ; first1 != last1 ; ) op( *first1++ , *first2++ , *first3++ , *first4++ ); } template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Operation > inline void for_each5( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3, Iterator4 first4, Iterator5 first5, Operation op ) { for( ; first1 != last1 ; ) op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ ); } template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Operation > inline void for_each6( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3, Iterator4 first4, Iterator5 first5, Iterator6 first6 , Operation op ) { for( ; first1 != last1 ; ) op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ ); } template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Operation > inline void for_each7( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3, Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Operation op ) { for( ; first1 != last1 ; ) op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ ); } template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Iterator8 , class Operation > inline void for_each8( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3, Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Iterator8 first8 , Operation op ) { for( ; first1 != last1 ; ) op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ , *first8++ ); } template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Iterator8 , class Iterator9 , class Operation > inline void for_each9( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3, Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Iterator8 first8 , Iterator9 first9 , Operation op ) { for( ; first1 != last1 ; ) op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ , *first8++ , *first9++ ); } template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Iterator8 , class Iterator9 , class Iterator10 , class Operation > inline void for_each10( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3, Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Iterator8 first8 , Iterator9 first9 , Iterator10 first10 , Operation op ) { for( ; first1 != last1 ; ) op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ , *first8++ , *first9++ , *first10++ ); } template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Iterator8 , class Iterator9 , class Iterator10 , class Iterator11 , class Operation > inline void for_each11( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3, Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Iterator8 first8 , Iterator9 first9 , Iterator10 first10 , Iterator11 first11 , Operation op ) { for( ; first1 != last1 ; ) op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ , *first8++ , *first9++ , *first10++ , *first11++ ); } template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Iterator8 , class Iterator9 , class Iterator10 , class Iterator11 , class Iterator12 , class Operation > inline void for_each12( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3, Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Iterator8 first8 , Iterator9 first9 , Iterator10 first10 , Iterator11 first11 , Iterator12 first12 , Operation op ) { for( ; first1 != last1 ; ) op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ , *first8++ , *first9++ , *first10++ , *first11++ , *first12++ ); } template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Iterator8 , class Iterator9 , class Iterator10 , class Iterator11 , class Iterator12 , class Iterator13 , class Operation > inline void for_each13( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3, Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Iterator8 first8 , Iterator9 first9 , Iterator10 first10 , Iterator11 first11 , Iterator12 first12 , Iterator13 first13 , Operation op ) { for( ; first1 != last1 ; ) op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ , *first8++ , *first9++ , *first10++ , *first11++ , *first12++ , *first13++ ); } template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Iterator8 , class Iterator9 , class Iterator10 , class Iterator11 , class Iterator12 , class Iterator13 , class Iterator14 , class Operation > inline void for_each14( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3, Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Iterator8 first8 , Iterator9 first9 , Iterator10 first10 , Iterator11 first11 , Iterator12 first12 , Iterator13 first13 , Iterator14 first14 , Operation op ) { for( ; first1 != last1 ; ) op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ , *first8++ , *first9++ , *first10++ , *first11++ , *first12++ , *first13++ , *first14++ ); } template< class Iterator1 , class Iterator2 , class Iterator3 , class Iterator4 , class Iterator5 , class Iterator6 , class Iterator7 , class Iterator8 , class Iterator9 , class Iterator10 , class Iterator11 , class Iterator12 , class Iterator13 , class Iterator14 , class Iterator15 , class Operation > inline void for_each15( Iterator1 first1 , Iterator1 last1 , Iterator2 first2 , Iterator3 first3, Iterator4 first4, Iterator5 first5, Iterator6 first6 , Iterator7 first7 , Iterator8 first8 , Iterator9 first9 , Iterator10 first10 , Iterator11 first11 , Iterator12 first12 , Iterator13 first13 , Iterator14 first14 , Iterator15 first15 , Operation op ) { for( ; first1 != last1 ; ) op( *first1++ , *first2++ , *first3++ , *first4++ , *first5++ , *first6++ , *first7++ , *first8++ , *first9++ , *first10++ , *first11++ , *first12++ , *first13++ , *first14++ , *first15++ ); } } // detail } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_ALGEBRA_DETAIL_FOR_EACH_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/algebra/detail/macros.hpp000066400000000000000000000021561265471724600266140ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/algebra/detail/macros.hpp [begin_description] Some macros for type checking. [end_description] Copyright 2010-2012 Karsten Ahnert Copyright 2010 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_ALGEBRA_DETAIL_MACROS_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_ALGEBRA_DETAIL_MACROS_HPP_INCLUDED //type traits aren't working with nvcc #ifndef __CUDACC__ #include #include #define BOOST_ODEINT_CHECK_CONTAINER_TYPE( Type1 , Type2 ) \ BOOST_STATIC_ASSERT(( boost::is_same< typename boost::remove_const< Type1 >::type , Type2 >::value )) #else //empty macro for nvcc #define BOOST_ODEINT_CHECK_CONTAINER_TYPE( Type1 , Type2 ) #endif // __CUDACC__ /* #define BOOST_ODEINT_CHECK_OPERATION_ARITY( Operation , Arity ) \ BOOST_STATIC_ASSERT(( boost::function_traits< Operation >::arity == Arity )) */ #endif // BOOST_NUMERIC_ODEINT_ALGEBRA_DETAIL_MACROS_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/algebra/detail/norm_inf.hpp000066400000000000000000000017111265471724600271330ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/algebra/detail/norm_inf.hpp [begin_description] Default reduce implementation. [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_ALGEBRA_DETAIL_NORM_INF_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_ALGEBRA_DETAIL_NORM_INF_HPP_INCLUDED #include namespace boost { namespace numeric { namespace odeint { namespace detail { template< typename Value , class Iterator1 > inline Value norm_inf( Iterator1 first1 , Iterator1 last1 , Value init ) { using std::max; using std::abs; for( ; first1 != last1 ; ) init = max( init , abs( *first1++ ) ); return init; } } // detail } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_ALGEBRA_DETAIL_NORM_INF_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/algebra/fusion_algebra.hpp000066400000000000000000000262361265471724600270530ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/algebra/fusion_algebra.hpp [begin_description] Algebra for boost::fusion sequences. [end_description] Copyright 2011-2013 Karsten Ahnert Copyright 2011-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_ALGEBRA_FUSION_ALGEBRA_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_ALGEBRA_FUSION_ALGEBRA_HPP_INCLUDED #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { namespace detail { template< class Value > struct fusion_maximum { template< class Fac1 , class Fac2 > Value operator()( Fac1 t1 , const Fac2 t2 ) const { using std::abs; Value a1 = abs( get_unit_value( t1 ) ) , a2 = abs( get_unit_value( t2 ) ); return ( a1 < a2 ) ? a2 : a1 ; } typedef Value result_type; }; } /* specialize this if the fundamental numeric type in your fusion sequence is * anything else but double (most likely not) */ template< typename Sequence > struct fusion_traits { typedef double value_type; }; struct fusion_algebra { template< class S1 , class Op > static void for_each1( S1 &s1 , Op op ) { boost::fusion::for_each( s1 , op ); }; template< class S1 , class S2 , class Op > static void for_each2( S1 &s1 , S2 &s2 , Op op ) { typedef boost::fusion::vector< S1& , S2& > Sequences; Sequences sequences( s1 , s2 ); boost::fusion::for_each( boost::fusion::zip_view< Sequences >( sequences ) , boost::fusion::make_fused( op ) ); } template< class S1 , class S2 , class S3 , class Op > static void for_each3( S1 &s1 , S2 &s2 , S3 &s3 , Op op ) { typedef boost::fusion::vector< S1& , S2& , S3& > Sequences; Sequences sequences( s1 , s2 , s3 ); boost::fusion::for_each( boost::fusion::zip_view< Sequences >( sequences ) , boost::fusion::make_fused( op ) ); } template< class S1 , class S2 , class S3 , class S4 , class Op > static void for_each4( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , Op op ) { typedef boost::fusion::vector< S1& , S2& , S3& , S4& > Sequences; Sequences sequences( s1 , s2 , s3 , s4 ); boost::fusion::for_each( boost::fusion::zip_view< Sequences >( sequences ) , boost::fusion::make_fused( op ) ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class Op > static void for_each5( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , Op op ) { typedef boost::fusion::vector< S1& , S2& , S3& , S4& , S5& > Sequences; Sequences sequences( s1 , s2 , s3 , s4 , s5 ); boost::fusion::for_each( boost::fusion::zip_view< Sequences >( sequences ) , boost::fusion::make_fused( op ) ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class Op > static void for_each6( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , Op op ) { typedef boost::fusion::vector< S1& , S2& , S3& , S4& , S5& , S6& > Sequences; Sequences sequences( s1 , s2 , s3 , s4 , s5 , s6 ); boost::fusion::for_each( boost::fusion::zip_view< Sequences >( sequences ) , boost::fusion::make_fused( op ) ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class Op > static void for_each7( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , Op op ) { typedef boost::fusion::vector< S1& , S2& , S3& , S4& , S5& , S6& , S7& > Sequences; Sequences sequences( s1 , s2 , s3 , s4 , s5 , s6 , s7 ); boost::fusion::for_each( boost::fusion::zip_view< Sequences >( sequences ) , boost::fusion::make_fused( op ) ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class Op > static void for_each8( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , Op op ) { BOOST_STATIC_ASSERT_MSG( BOOST_FUSION_INVOKE_MAX_ARITY >= 8 , "Macro Parameter BOOST_FUSION_INVOKE_MAX_ARITY to small!" ); typedef boost::fusion::vector< S1& , S2& , S3& , S4& , S5& , S6& , S7& , S8& > Sequences; Sequences sequences( s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 ); boost::fusion::for_each( boost::fusion::zip_view< Sequences >( sequences ) , boost::fusion::make_fused( op ) ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class Op > static void for_each9( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , Op op ) { BOOST_STATIC_ASSERT_MSG( BOOST_FUSION_INVOKE_MAX_ARITY >= 9 , "Macro Parameter BOOST_FUSION_INVOKE_MAX_ARITY to small!" ); typedef boost::fusion::vector< S1& , S2& , S3& , S4& , S5& , S6& , S7& , S8& , S9& > Sequences; Sequences sequences( s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , s9 ); boost::fusion::for_each( boost::fusion::zip_view< Sequences >( sequences ) , boost::fusion::make_fused( op ) ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class S10 , class Op > static void for_each10( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , Op op ) { BOOST_STATIC_ASSERT_MSG( BOOST_FUSION_INVOKE_MAX_ARITY >= 10 , "Macro Parameter BOOST_FUSION_INVOKE_MAX_ARITY to small!" ); typedef boost::fusion::vector< S1& , S2& , S3& , S4& , S5& , S6& , S7& , S8& , S9& , S10& > Sequences; Sequences sequences( s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , s9 , s10 ); boost::fusion::for_each( boost::fusion::zip_view< Sequences >( sequences ) , boost::fusion::make_fused( op ) ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class S10 , class S11 , class Op > static void for_each11( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , Op op ) { BOOST_STATIC_ASSERT_MSG( BOOST_FUSION_INVOKE_MAX_ARITY >= 11 , "Macro Parameter BOOST_FUSION_INVOKE_MAX_ARITY to small!" ); BOOST_STATIC_ASSERT_MSG( BOOST_RESULT_OF_NUM_ARGS >= 11 , "Macro Parameter BOOST_RESULT_OF_NUM_ARGS to small!" ); typedef boost::fusion::vector< S1& , S2& , S3& , S4& , S5& , S6& , S7& , S8& , S9& , S10& , S11& > Sequences; Sequences sequences( s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , s9 , s10 , s11 ); boost::fusion::for_each( boost::fusion::zip_view< Sequences >( sequences ) , boost::fusion::make_fused( op ) ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class Op > static void for_each12( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , Op op ) { BOOST_STATIC_ASSERT_MSG( BOOST_FUSION_INVOKE_MAX_ARITY >= 12 , "Macro Parameter BOOST_FUSION_INVOKE_MAX_ARITY to small!" ); BOOST_STATIC_ASSERT_MSG( BOOST_RESULT_OF_NUM_ARGS >= 12 , "Macro Parameter BOOST_RESULT_OF_NUM_ARGS to small!" ); typedef boost::fusion::vector< S1& , S2& , S3& , S4& , S5& , S6& , S7& , S8& , S9& , S10& , S11& , S12& > Sequences; Sequences sequences( s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , s9 , s10 , s11 , s12 ); boost::fusion::for_each( boost::fusion::zip_view< Sequences >( sequences ) , boost::fusion::make_fused( op ) ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class S13 , class Op > static void for_each13( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , S13 &s13 , Op op ) { BOOST_STATIC_ASSERT_MSG( BOOST_FUSION_INVOKE_MAX_ARITY >= 13 , "Macro Parameter BOOST_FUSION_INVOKE_MAX_ARITY to small!" ); BOOST_STATIC_ASSERT_MSG( BOOST_RESULT_OF_NUM_ARGS >= 13 , "Macro Parameter BOOST_RESULT_OF_NUM_ARGS to small!" ); typedef boost::fusion::vector< S1& , S2& , S3& , S4& , S5& , S6& , S7& , S8& , S9& , S10& , S11& , S12& , S13& > Sequences; Sequences sequences( s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , s9 , s10 , s11 , s12 , s13 ); boost::fusion::for_each( boost::fusion::zip_view< Sequences >( sequences ) , boost::fusion::make_fused( op ) ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class S13 , class S14 , class Op > static void for_each14( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , S13 &s13 , S14 &s14 , Op op ) { BOOST_STATIC_ASSERT_MSG( BOOST_FUSION_INVOKE_MAX_ARITY >= 14 , "Macro Parameter BOOST_FUSION_INVOKE_MAX_ARITY to small!" ); BOOST_STATIC_ASSERT_MSG( BOOST_RESULT_OF_NUM_ARGS >= 14 , "Macro Parameter BOOST_RESULT_OF_NUM_ARGS to small!" ); typedef boost::fusion::vector< S1& , S2& , S3& , S4& , S5& , S6& , S7& , S8& , S9& , S10& , S11& , S12& , S13& , S14& > Sequences; Sequences sequences( s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , s9 , s10 , s11 , s12 , s13 , s14 ); boost::fusion::for_each( boost::fusion::zip_view< Sequences >( sequences ) , boost::fusion::make_fused( op ) ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class S13 , class S14 , class S15 , class Op > static void for_each15( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , S13 &s13 , S14 &s14 , S15 &s15 , Op op ) { BOOST_STATIC_ASSERT_MSG( BOOST_FUSION_INVOKE_MAX_ARITY >= 15 , "Macro Parameter BOOST_FUSION_INVOKE_MAX_ARITY to small!" ); BOOST_STATIC_ASSERT_MSG( BOOST_RESULT_OF_NUM_ARGS >= 15 , "Macro Parameter BOOST_RESULT_OF_NUM_ARGS to small!" ); typedef boost::fusion::vector< S1& , S2& , S3& , S4& , S5& , S6& , S7& , S8& , S9& , S10& , S11& , S12& , S13& , S14& , S15& > Sequences; Sequences sequences( s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , s9 , s10 , s11 , s12 , s13 , s14 , s15 ); boost::fusion::for_each( boost::fusion::zip_view< Sequences >( sequences ) , boost::fusion::make_fused( op ) ); } template< class S > static typename fusion_traits< S >::value_type norm_inf( const S &s ) { typedef typename fusion_traits< S >::value_type value_type; return boost::fusion::accumulate( s , static_cast(0) , detail::fusion_maximum() ); } }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_ALGEBRA_FUSION_ALGEBRA_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/algebra/fusion_algebra_dispatcher.hpp000066400000000000000000000023521265471724600312520ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/algebra/fusion_algebra_dispatcher.hpp [begin_description] tba. [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_ALGEBRA_FUSION_ALGEBRA_DISPATCHER_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_ALGEBRA_FUSION_ALGEBRA_DISPATCHER_HPP_DEFINED #include #include #include #include namespace boost { namespace numeric { namespace odeint { // specialization for fusion sequences template< class FusionSequence > struct algebra_dispatcher_sfinae< FusionSequence , typename boost::enable_if< typename boost::fusion::traits::is_sequence< FusionSequence >::type >::type > { typedef fusion_algebra algebra_type; }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_ALGEBRA_FUSION_ALGEBRA_DISPATCHER_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/algebra/multi_array_algebra.hpp000066400000000000000000000163241265471724600300750ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/algebra/multi_array_algebra.hpp [begin_description] tba. [end_description] Copyright 2009-2012 Karsten Ahnert Copyright 2009-2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_ALGEBRA_MULTI_ARRAY_ALGEBRA_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_ALGEBRA_MULTI_ARRAY_ALGEBRA_HPP_DEFINED #include #include #include #include namespace boost { namespace numeric { namespace odeint { // not ready struct multi_array_algebra { template< class S1 , class Op > static void for_each1( S1 &s1 , Op op ) { detail::for_each1( s1.data() , s1.data() + s1.num_elements() , op ); } template< class S1 , class S2 , class Op > static void for_each2( S1 &s1 , S2 &s2 , Op op ) { detail::for_each2( s1.data() , s1.data() + s1.num_elements() , s2.data() , op ); } template< class S1 , class S2 , class S3 , class Op > static void for_each3( S1 &s1 , S2 &s2 , S3 &s3 , Op op ) { detail::for_each3( s1.data() , s1.data() + s1.num_elements() , s2.data() , s3.data() , op ); } template< class S1 , class S2 , class S3 , class S4 , class Op > static void for_each4( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , Op op ) { detail::for_each4( s1.data() , s1.data() + s1.num_elements() , s2.data() , s3.data() , s4.data() , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class Op > static void for_each5( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , Op op ) { detail::for_each5( s1.data() , s1.data() + s1.num_elements() , s2.data() , s3.data() , s4.data() , s5.data() , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class Op > static void for_each6( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , Op op ) { detail::for_each6( s1.data() , s1.data() + s1.num_elements() , s2.data() , s3.data() , s4.data() , s5.data() , s6.data() , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class Op > static void for_each7( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , Op op ) { detail::for_each7( s1.data() , s1.data() + s1.num_elements() , s2.data() , s3.data() , s4.data() , s5.data() , s6.data() , s7.data() , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class Op > static void for_each8( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , Op op ) { detail::for_each8( s1.data() , s1.data() + s1.num_elements() , s2.data() , s3.data() , s4.data() , s5.data() , s6.data() , s7.data() , s8.data() , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class Op > static void for_each9( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , Op op ) { detail::for_each9( s1.data() , s1.data() + s1.num_elements() , s2.data() , s3.data() , s4.data() , s5.data() , s6.data() , s7.data() , s8.data() , s9.data() , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class Op > static void for_each10( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , Op op ) { detail::for_each10( s1.data() , s1.data() + s1.num_elements() , s2.data() , s3.data() , s4.data() , s5.data() , s6.data() , s7.data() , s8.data() , s9.data() , s10.data() , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class S11 , class Op > static void for_each11( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , Op op ) { detail::for_each11( s1.data() , s1.data() + s1.num_elements() , s2.data() , s3.data() , s4.data() , s5.data() , s6.data() , s7.data() , s8.data() , s9.data() , s10.data() , s11.data() , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class Op > static void for_each12( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , Op op ) { detail::for_each12( s1.data() , s1.data() + s1.num_elements() , s2.data() , s3.data() , s4.data() , s5.data() , s6.data() , s7.data() , s8.data() , s9.data() , s10.data() , s11.data() , s12.data() , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class S13 , class Op > static void for_each13( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , S13 &s13 , Op op ) { detail::for_each13( s1.data() , s1.data() + s1.num_elements() , s2.data() , s3.data() , s4.data() , s5.data() , s6.data() , s7.data() , s8.data() , s9.data() , s10.data() , s11.data() , s12.data() , s13.data() , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class S13 , class S14 , class Op > static void for_each14( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , S13 &s13 , S14 &s14 , Op op ) { detail::for_each14( s1.data() , s1.data() + s1.num_elements() , s2.data() , s3.data() , s4.data() , s5.data() , s6.data() , s7.data() , s8.data() , s9.data() , s10.data() , s11.data() , s12.data() , s13.data() , s14.data() , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class S13 , class S14 , class S15 , class Op > static void for_each15( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , S13 &s13 , S14 &s14 , S15 &s15 , Op op ) { detail::for_each15( s1.data() , s1.data() + s1.num_elements() , s2.data() , s3.data() , s4.data() , s5.data() , s6.data() , s7.data() , s8.data() , s9.data() , s10.data() , s11.data() , s12.data() , s13.data() , s14.data() , s15.data() , op ); } template< typename S > static typename norm_result_type::type norm_inf( const S &s ) { return detail::norm_inf( s.data() , s.data() + s.num_elements() , static_cast< typename norm_result_type::type >( 0 ) ); } }; // template< class T , size_t N > // struct algebra_dispatcher< boost::array< T , N > > // { // typedef array_algebra algebra_type; // }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_ALGEBRA_MULTI_ARRAY_ALGEBRA_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/algebra/norm_result_type.hpp000066400000000000000000000014651265471724600275020ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/algebra/norm_result_type.hpp [begin_description] Calculates the type of the norm_inf operation for container types [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_ALGEBRA_NORM_RESULT_TYPE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_ALGEBRA_NORM_RESULT_TYPE_HPP_INCLUDED #include namespace boost { namespace numeric { namespace odeint { template< typename S , typename Enabler = void > struct norm_result_type { typedef typename detail::extract_value_type< S >::type type; }; } } } #endif KWStyle-master/Utilities/boost/numeric/odeint/algebra/operations_dispatcher.hpp000066400000000000000000000017201265471724600304530ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/algebra/operations_dispatcher.hpp [begin_description] Operations dispatcher to automatically chose suitable operations. [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_ALGEBRA_OPERATIONS_DISPATCHER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_ALGEBRA_OPERATIONS_DISPATCHER_HPP_INCLUDED #include namespace boost { namespace numeric { namespace odeint { template< class StateType , class Enabler = void > struct operations_dispatcher_sfinae { typedef default_operations operations_type; }; template< class StateType > struct operations_dispatcher : operations_dispatcher_sfinae< StateType > {}; // no further specializations required } } } #endif KWStyle-master/Utilities/boost/numeric/odeint/algebra/range_algebra.hpp000066400000000000000000000202461265471724600266370ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/algebra/range_algebra.hpp [begin_description] Default algebra, which works with the most state types, like vector< double >, boost::array< double >, boost::range. Internally is uses boost::range to obtain the begin and end iterator of the according sequence. [end_description] Copyright 2010-2013 Karsten Ahnert Copyright 2010-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_ALGEBRA_RANGE_ALGEBRA_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_ALGEBRA_RANGE_ALGEBRA_HPP_INCLUDED #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { struct range_algebra { template< class S1 , class Op > static void for_each1( S1 &s1 , Op op ) { detail::for_each1( boost::begin( s1 ) , boost::end( s1 ) , op ); } template< class S1 , class S2 , class Op > static void for_each2( S1 &s1 , S2 &s2 , Op op ) { detail::for_each2( boost::begin( s1 ) , boost::end( s1 ) , boost::begin( s2 ) , op ); } template< class S1 , class S2 , class S3 , class Op > static void for_each3( S1 &s1 , S2 &s2 , S3 &s3 , Op op ) { detail::for_each3( boost::begin( s1 ) , boost::end( s1 ) , boost::begin( s2 ) , boost::begin( s3 ) , op ); } template< class S1 , class S2 , class S3 , class S4 , class Op > static void for_each4( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , Op op ) { detail::for_each4( boost::begin( s1 ) , boost::end( s1 ) , boost::begin( s2 ) , boost::begin( s3 ) , boost::begin( s4 ) , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class Op > static void for_each5( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , Op op ) { detail::for_each5( boost::begin( s1 ) , boost::end( s1 ) , boost::begin( s2 ) , boost::begin( s3 ) , boost::begin( s4 ) , boost::begin( s5 ) , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class Op > static void for_each6( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , Op op ) { detail::for_each6( boost::begin( s1 ) , boost::end( s1 ) , boost::begin( s2 ) , boost::begin( s3 ) , boost::begin( s4 ) , boost::begin( s5 ) , boost::begin( s6 ) , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class Op > static void for_each7( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , Op op ) { detail::for_each7( boost::begin( s1 ) , boost::end( s1 ) , boost::begin( s2 ) , boost::begin( s3 ) , boost::begin( s4 ) , boost::begin( s5 ) , boost::begin( s6 ) , boost::begin( s7 ) , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class Op > static void for_each8( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , Op op ) { detail::for_each8( boost::begin( s1 ) , boost::end( s1 ) , boost::begin( s2 ) , boost::begin( s3 ) , boost::begin( s4 ) , boost::begin( s5 ) , boost::begin( s6 ) , boost::begin( s7 ) , boost::begin( s8 ) , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class Op > static void for_each9( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , Op op ) { detail::for_each9( boost::begin( s1 ) , boost::end( s1 ) , boost::begin( s2 ) , boost::begin( s3 ) , boost::begin( s4 ) , boost::begin( s5 ) , boost::begin( s6 ) , boost::begin( s7 ) , boost::begin( s8 ) , boost::begin( s9 ) , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class Op > static void for_each10( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , Op op ) { detail::for_each10( boost::begin( s1 ) , boost::end( s1 ) , boost::begin( s2 ) , boost::begin( s3 ) , boost::begin( s4 ) , boost::begin( s5 ) , boost::begin( s6 ) , boost::begin( s7 ) , boost::begin( s8 ) , boost::begin( s9 ) , boost::begin( s10 ) , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class S11 , class Op > static void for_each11( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , Op op ) { detail::for_each11( boost::begin( s1 ) , boost::end( s1 ) , boost::begin( s2 ) , boost::begin( s3 ) , boost::begin( s4 ) , boost::begin( s5 ) , boost::begin( s6 ) , boost::begin( s7 ) , boost::begin( s8 ) , boost::begin( s9 ) , boost::begin( s10 ) , boost::begin( s11 ) , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class Op > static void for_each12( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , Op op ) { detail::for_each12( boost::begin( s1 ) , boost::end( s1 ) , boost::begin( s2 ) , boost::begin( s3 ) , boost::begin( s4 ) , boost::begin( s5 ) , boost::begin( s6 ) , boost::begin( s7 ) , boost::begin( s8 ) , boost::begin( s9 ) , boost::begin( s10 ) , boost::begin( s11 ) , boost::begin( s12 ) , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class S13 , class Op > static void for_each13( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , S13 &s13 , Op op ) { detail::for_each13( boost::begin( s1 ) , boost::end( s1 ) , boost::begin( s2 ) , boost::begin( s3 ) , boost::begin( s4 ) , boost::begin( s5 ) , boost::begin( s6 ) , boost::begin( s7 ) , boost::begin( s8 ) , boost::begin( s9 ) , boost::begin( s10 ) , boost::begin( s11 ) , boost::begin( s12 ) , boost::begin( s13 ) , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class S13 , class S14 , class Op > static void for_each14( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , S13 &s13 , S14 &s14 , Op op ) { detail::for_each14( boost::begin( s1 ) , boost::end( s1 ) , boost::begin( s2 ) , boost::begin( s3 ) , boost::begin( s4 ) , boost::begin( s5 ) , boost::begin( s6 ) , boost::begin( s7 ) , boost::begin( s8 ) , boost::begin( s9 ) , boost::begin( s10 ) , boost::begin( s11 ) , boost::begin( s12 ) , boost::begin( s13 ) , boost::begin( s14 ) , op ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class S13 , class S14 , class S15 , class Op > static void for_each15( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , S13 &s13 , S14 &s14 , S15 &s15 , Op op ) { detail::for_each15( boost::begin( s1 ) , boost::end( s1 ) , boost::begin( s2 ) , boost::begin( s3 ) , boost::begin( s4 ) , boost::begin( s5 ) , boost::begin( s6 ) , boost::begin( s7 ) , boost::begin( s8 ) , boost::begin( s9 ) , boost::begin( s10 ) , boost::begin( s11 ) , boost::begin( s12 ) , boost::begin( s13 ) , boost::begin( s14 ) , boost::begin( s15 ) , op ); } template< typename S > static typename norm_result_type::type norm_inf( const S &s ) { return detail::norm_inf( boost::begin( s ) , boost::end( s ) , static_cast< typename norm_result_type::type >( 0 ) ); } }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_ALGEBRA_RANGE_ALGEBRA_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/algebra/vector_space_algebra.hpp000066400000000000000000000143331265471724600302200ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/algebra/vector_space_algebra.hpp [begin_description] An algebra for types which have vector space semantics, hence types on which the operators +,-,* are well defined. [end_description] Copyright 2010-2012 Karsten Ahnert Copyright 2010-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_ALGEBRA_VECTOR_SPACE_ALGEBRA_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_ALGEBRA_VECTOR_SPACE_ALGEBRA_HPP_INCLUDED #include #include namespace boost { namespace numeric { namespace odeint { /* * This class template has to be overload in order to call vector_space_algebra::norm_inf */ template< class State > struct vector_space_norm_inf; /* * Example: instantiation for sole doubles and complex */ template<> struct vector_space_norm_inf< double > { typedef double result_type; double operator()( double x ) const { using std::abs; return abs(x); } }; template<> struct vector_space_norm_inf< float > { typedef float result_type; result_type operator()( float x ) const { using std::abs; return abs(x); } }; template< typename T > struct vector_space_norm_inf< std::complex > { typedef T result_type; result_type operator()( std::complex x ) const { using std::abs; return abs( x ); } }; struct vector_space_algebra { template< class S1 , class Op > static void for_each1( S1 &s1 , Op op ) { // ToDo : build checks, that the +-*/ operators are well defined op( s1 ); } template< class S1 , class S2 , class Op > static void for_each2( S1 &s1 , S2 &s2 , Op op ) { op( s1 , s2 ); } template< class S1 , class S2 , class S3 , class Op > static void for_each3( S1 &s1 , S2 &s2 , S3 &s3 , Op op ) { op( s1 , s2 , s3 ); } template< class S1 , class S2 , class S3 , class S4 , class Op > static void for_each4( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , Op op ) { op( s1 , s2 , s3 , s4 ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class Op > static void for_each5( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , Op op ) { op( s1 , s2 , s3 , s4 , s5 ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class Op > static void for_each6( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , Op op ) { op( s1 , s2 , s3 , s4 , s5 , s6 ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class Op > static void for_each7( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , Op op ) { op( s1 , s2 , s3 , s4 , s5 , s6 , s7 ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class Op > static void for_each8( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , Op op ) { op( s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class Op > static void for_each9( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , Op op ) { op( s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , s9 ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class Op > static void for_each10( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , Op op ) { op( s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , s9 , s10 ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class S11 , class Op > static void for_each11( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , Op op ) { op( s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , s9 , s10 , s11 ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class Op > static void for_each12( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , Op op ) { op( s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , s9 , s10 , s11 , s12 ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class S13 , class Op > static void for_each13( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , S13 &s13 , Op op ) { op( s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , s9 , s10 , s11 , s12 , s13 ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class S13 , class S14 , class Op > static void for_each14( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , S13 &s13 , S14 &s14 , Op op ) { op( s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , s9 , s10 , s11 , s12 , s13 , s14 ); } template< class S1 , class S2 , class S3 , class S4 , class S5 , class S6 ,class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class S13 , class S14 , class S15 , class Op > static void for_each15( S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , S13 &s13 , S14 &s14 , S15 &s15 , Op op ) { op( s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , s9 , s10 , s11 , s12 , s13 , s14 , s15 ); } template< class S > static typename boost::numeric::odeint::vector_space_norm_inf< S >::result_type norm_inf( const S &s ) { boost::numeric::odeint::vector_space_norm_inf< S > n; return n( s ); } }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_ALGEBRA_VECTOR_SPACE_ALGEBRA_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/config.hpp000066400000000000000000000022611265471724600237330ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/config.hpp [begin_description] Sets configurations for odeint and used libraries. Should be included before any other odeint library [end_description] Copyright 2011-2012 Mario Mulansky Copyright 2011-2012 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_CONFIG_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_CONFIG_HPP_INCLUDED //increase macro variable to allow rk78 scheme #ifndef FUSION_MAX_VECTOR_SIZE #define FUSION_MAX_VECTOR_SIZE 15 #endif /* * the following definitions are only required if fusion vectors are used as state types * in the rk78 scheme * they should be defined by the user if required, see e.g. libs/numeric/examples/harmonic_oscillator_units.cpp */ #ifndef BOOST_FUSION_INVOKE_MAX_ARITY #define BOOST_FUSION_INVOKE_MAX_ARITY 15 #endif #ifndef BOOST_RESULT_OF_NUM_ARGS #define BOOST_RESULT_OF_NUM_ARGS 15 #endif #include #if __cplusplus >= 201103L #define BOOST_NUMERIC_ODEINT_CXX11 1 #endif #endif // BOOST_NUMERIC_ODEINT_CONFIG_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/000077500000000000000000000000001265471724600235765ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/external/blaze/000077500000000000000000000000001265471724600246735ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/external/blaze/blaze_algebra_dispatcher.hpp000066400000000000000000000022031265471724600323610ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/blaze/blaze_algebra_dispatcher.hpp [begin_description] tba. [end_description] Copyright 2009-2012 Karsten Ahnert Copyright 2009-2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_BLAZE_BLAZE_ALGEBRA_DISPATCHER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_BLAZE_BLAZE_ALGEBRA_DISPATCHER_HPP_INCLUDED #include #include #include namespace boost { namespace numeric { namespace odeint { template< typename T , size_t N , bool TF > struct algebra_dispatcher< blaze::StaticVector< T , N , TF > > { typedef vector_space_algebra algebra_type; }; template< typename T , bool TF > struct algebra_dispatcher< blaze::DynamicVector< T , TF > > { typedef vector_space_algebra algebra_type; }; } } } #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_BLAZE_BLAZE_ALGEBRA_DISPATCHER_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/blaze/blaze_resize.hpp000066400000000000000000000032541265471724600300660ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/blaze/blaze_resize.hpp [begin_description] tba. [end_description] Copyright 2009-2012 Karsten Ahnert Copyright 2009-2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_BLAZE_BLAZE_RESIZE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_BLAZE_BLAZE_RESIZE_HPP_INCLUDED #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< typename T , bool TF > struct is_resizeable< blaze::DynamicVector< T , TF > > { typedef boost::true_type type; const static bool value = type::value; }; template< typename T1 , bool TF1, typename T2 , bool TF2 > struct same_size_impl< blaze::DynamicVector< T1 , TF1 > , blaze::DynamicVector< T2 , TF2 > > { static bool same_size( const blaze::DynamicVector< T1 , TF1 > &x1 , const blaze::DynamicVector< T2 , TF2 > &x2 ) { return x1.size() == x2.size(); } }; template< typename T1 , bool TF1, typename T2 , bool TF2 > struct resize_impl< blaze::DynamicVector< T1 , TF1 > , blaze::DynamicVector< T2 , TF2 > > { static void resize( blaze::DynamicVector< T1 , TF1 > &x1 , const blaze::DynamicVector< T2 , TF2 > &x2 ) { x1.resize( x2.size() ); } }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_BLAZE_BLAZE_RESIZE_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/compute/000077500000000000000000000000001265471724600252525ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/external/compute/compute.hpp000066400000000000000000000017411265471724600274420ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/compute/compute.hpp [begin_description] includes all headers required for using odeint with Boost.Compute [end_description] Copyright 2009-2013 Karsten Ahnert Copyright 2009-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_HPP_DEFINED #include #include #include #include #include #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/external/compute/compute_algebra.hpp000066400000000000000000000037521265471724600311230ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/compute/compute_algebra.hpp [begin_description] An algebra for Boost.Compute vectors. [end_description] Copyright 2009-2011 Karsten Ahnert Copyright 2009-2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_ALGEBRA_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_ALGEBRA_HPP_DEFINED #include #include namespace boost { namespace numeric { namespace odeint { struct compute_algebra { #define BOOST_ODEINT_COMPUTE_STATE_PARAM(z, n, unused) \ StateType ## n &s ## n, #define BOOST_ODEINT_COMPUTE_ALGEBRA(z, n, unused) \ template< BOOST_PP_ENUM_PARAMS(n, class StateType), class Operation > \ static void for_each ## n( \ BOOST_PP_REPEAT(n, BOOST_ODEINT_COMPUTE_STATE_PARAM, ~) \ Operation op \ ) \ { \ op( BOOST_PP_ENUM_PARAMS(n, s) ); \ } BOOST_PP_REPEAT_FROM_TO(3, 9, BOOST_ODEINT_COMPUTE_ALGEBRA, ~) #undef BOOST_ODEINT_COMPUTE_ALGEBRA #undef BOOST_ODEINT_COMPUTE_STATE_PARAM template < class S > static typename S::value_type norm_inf( const S &s ) { typedef typename S::value_type value_type; BOOST_COMPUTE_FUNCTION(value_type, max_abs, (value_type, value_type), { return max(_1, fabs(_2)); }); return boost::compute::accumulate(s.begin(), s.end(), value_type(), max_abs); } }; } // odeint } // numeric } // boost #endif KWStyle-master/Utilities/boost/numeric/odeint/external/compute/compute_algebra_dispatcher.hpp000066400000000000000000000022211265471724600333170ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/compute/compute_algebra_dispatcher.hpp [begin_description] algebra_dispatcher specialization for Boost.Compute [end_description] Copyright 2009-2013 Karsten Ahnert Copyright 2009-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_ALGEBRA_DISPATCHER_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_ALGEBRA_DISPATCHER_HPP_DEFINED #include #include #include namespace boost { namespace numeric { namespace odeint { // specialization for Boost.Compute vector template< class T , class A > struct algebra_dispatcher< boost::compute::vector< T , A > > { typedef compute_algebra algebra_type; }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_ALGEBRA_DISPATCHER_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/external/compute/compute_operations.hpp000066400000000000000000000210551265471724600317050ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/compute/compute_operations.hpp [begin_description] Operations of Boost.Compute zipped iterators. Is the counterpart of the compute_algebra. [end_description] Copyright 2009-2011 Karsten Ahnert Copyright 2009-2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_OPERATIONS_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_OPERATIONS_HPP_DEFINED #include #include namespace boost { namespace numeric { namespace odeint { struct compute_operations { #define BOOST_ODEINT_COMPUTE_TEMPL_FAC(z, n, unused) \ , class Fac ## n = BOOST_PP_CAT(Fac, BOOST_PP_DEC(n)) #define BOOST_ODEINT_COMPUTE_MEMB_FAC(z, n, unused) \ const Fac ## n m_alpha ## n; #define BOOST_ODEINT_COMPUTE_PRM_FAC(z, n, unused) \ BOOST_PP_COMMA_IF(n) const Fac ## n alpha ## n #define BOOST_ODEINT_COMPUTE_INIT_FAC(z, n, unused) \ BOOST_PP_COMMA_IF(n) m_alpha ## n (alpha ## n) #define BOOST_ODEINT_COMPUTE_PRM_STATE(z, n, unused) \ BOOST_PP_COMMA_IF(n) StateType ## n &s ## n #define BOOST_ODEINT_COMPUTE_BEGIN_STATE(z, n, unused) \ BOOST_PP_COMMA_IF( BOOST_PP_DEC(n) ) s ## n.begin() #define BOOST_ODEINT_COMPUTE_END_STATE(z, n, unused) \ BOOST_PP_COMMA_IF( BOOST_PP_DEC(n) ) s ## n.end() #define BOOST_ODEINT_COMPUTE_LAMBDA(z, n, unused) \ BOOST_PP_EXPR_IF(n, +) m_alpha ## n * bc::lambda::get< n >(bc::_1) #define BOOST_ODEINT_COMPUTE_OPERATIONS(z, n, unused) \ template< \ class Fac0 = double \ BOOST_PP_REPEAT_FROM_TO(1, n, BOOST_ODEINT_COMPUTE_TEMPL_FAC, ~) \ > \ struct scale_sum ## n { \ BOOST_PP_REPEAT(n, BOOST_ODEINT_COMPUTE_MEMB_FAC, ~) \ scale_sum ## n( \ BOOST_PP_REPEAT(n, BOOST_ODEINT_COMPUTE_PRM_FAC, ~) \ ) \ : BOOST_PP_REPEAT(n, BOOST_ODEINT_COMPUTE_INIT_FAC, ~) \ { } \ template< BOOST_PP_ENUM_PARAMS(BOOST_PP_INC(n), class StateType) > \ void operator()( \ BOOST_PP_REPEAT( \ BOOST_PP_INC(n), \ BOOST_ODEINT_COMPUTE_PRM_STATE, ~) \ ) const \ { \ namespace bc = boost::compute; \ bc::transform( \ bc::make_zip_iterator( \ boost::make_tuple( \ BOOST_PP_REPEAT_FROM_TO( \ 1, BOOST_PP_INC(n), \ BOOST_ODEINT_COMPUTE_BEGIN_STATE, ~) \ ) \ ), \ bc::make_zip_iterator( \ boost::make_tuple( \ BOOST_PP_REPEAT_FROM_TO( \ 1, BOOST_PP_INC(n), \ BOOST_ODEINT_COMPUTE_END_STATE, ~) \ ) \ ), \ s0.begin(), \ BOOST_PP_REPEAT(n, BOOST_ODEINT_COMPUTE_LAMBDA, ~) \ ); \ } \ }; BOOST_PP_REPEAT_FROM_TO(2, 8, BOOST_ODEINT_COMPUTE_OPERATIONS, ~) #undef BOOST_ODEINT_COMPUTE_TEMPL_FAC #undef BOOST_ODEINT_COMPUTE_MEMB_FAC #undef BOOST_ODEINT_COMPUTE_PRM_FAC #undef BOOST_ODEINT_COMPUTE_INIT_FAC #undef BOOST_ODEINT_COMPUTE_PRM_STATE #undef BOOST_ODEINT_COMPUTE_BEGIN_STATE #undef BOOST_ODEINT_COMPUTE_END_STATE #undef BOOST_ODEINT_COMPUTE_LAMBDA #undef BOOST_ODEINT_COMPUTE_OPERATIONS template struct scale_sum_swap2 { const Fac1 m_alpha1; const Fac2 m_alpha2; scale_sum_swap2(const Fac1 alpha1, const Fac2 alpha2) : m_alpha1(alpha1), m_alpha2(alpha2) { } template void operator()(State0 &s0, State1 &s1, State2 &s2) const { namespace bc = boost::compute; bc::command_queue &queue = bc::system::default_queue(); const bc::context &context = queue.get_context(); const char source[] = BOOST_COMPUTE_STRINGIZE_SOURCE( kernel void scale_sum_swap2( F1 a1, F2 a2, global T0 *x0, global T1 *x1, global T2 *x2, ) { uint i = get_global_id(0); T0 tmp = x0[i]; x0[i] = a1 * x1[i] + a2 * x2[i]; x1[i] = tmp; } ); std::stringstream options; options << " -DT0=" << bc::type_name() << " -DT1=" << bc::type_name() << " -DT2=" << bc::type_name() << " -DF1=" << bc::type_name() << " -DF2=" << bc::type_name(); bc::program program = bc::program::build_with_source(source, context, options.str()); bc::kernel kernel(program, "scale_sum_swap2"); kernel.set_arg(0, m_alpha1); kernel.set_arg(1, m_alpha2); kernel.set_arg(2, s0.get_buffer()); kernel.set_arg(3, s1.get_buffer()); kernel.set_arg(4, s2.get_buffer()); queue.enqueue_1d_range_kernel(kernel, 0, s0.size()); } }; template struct rel_error { const Fac1 m_eps_abs, m_eps_rel, m_a_x, m_a_dxdt; rel_error(const Fac1 eps_abs, const Fac1 eps_rel, const Fac1 a_x, const Fac1 a_dxdt) : m_eps_abs(eps_abs), m_eps_rel(eps_rel), m_a_x(a_x), m_a_dxdt(a_dxdt) { } template void operator()(State0 &s0, State1 &s1, State2 &s2) const { namespace bc = boost::compute; using bc::_1; using bc::lambda::get; bc::for_each( bc::make_zip_iterator( boost::make_tuple( s0.begin(), s1.begin(), s2.begin() ) ), bc::make_zip_iterator( boost::make_tuple( s0.end(), s1.end(), s2.end() ) ), get<0>(_1) = abs( get<0>(_1) ) / (m_eps_abs + m_eps_rel * (m_a_x * abs(get<1>(_1) + m_a_dxdt * abs(get<2>(_1))))) ); } }; }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_OPERATIONS_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/external/compute/compute_operations_dispatcher.hpp000066400000000000000000000022621265471724600341120ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/compute/compute_operations_dispatcher.hpp [begin_description] operations_dispatcher specialization for Boost.Compute [end_description] Copyright 2009-2013 Karsten Ahnert Copyright 2009-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_OPERATIONS_DISPATCHER_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_OPERATIONS_DISPATCHER_HPP_DEFINED #include #include #include namespace boost { namespace numeric { namespace odeint { // specialization for Boost.Compute vector template< class T , class A > struct operations_dispatcher< boost::compute::vector< T , A > > { typedef compute_operations operations_type; }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_OPERATIONS_DISPATCHER_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/external/compute/compute_resize.hpp000066400000000000000000000046671265471724600310350ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/compute/compute_resize.hpp [begin_description] Enable resizing for Boost.Compute vector [end_description] Copyright 2009-2011 Karsten Ahnert Copyright 2009-2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_RESIZE_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_RESIZE_HPP_DEFINED #include #include namespace boost { namespace numeric { namespace odeint { template< class T, class A > struct is_resizeable< boost::compute::vector< T , A > > { struct type : public boost::true_type { }; const static bool value = type::value; }; template< class T, class A > struct same_size_impl< boost::compute::vector< T, A > , boost::compute::vector< T, A > > { static bool same_size( const boost::compute::vector< T, A > &x , const boost::compute::vector< T, A > &y ) { return x.size() == y.size(); } }; template< class T, class A > struct resize_impl< boost::compute::vector< T, A > , boost::compute::vector< T, A > > { static void resize( boost::compute::vector< T, A > &x , const boost::compute::vector< T, A > &y ) { x.resize( y.size() ); } }; template< class Container1, class T, class A > struct copy_impl< Container1 , boost::compute::vector< T, A > > { static void copy( const Container1 &from , boost::compute::vector< T, A > &to ) { boost::compute::copy( boost::begin( from ) , boost::end( from ) , boost::begin( to ) ); } }; template< class T, class A, class Container2 > struct copy_impl< boost::compute::vector< T, A > , Container2 > { static void copy( const boost::compute::vector< T, A > &from , Container2 &to ) { boost::compute::copy( boost::begin( from ) , boost::end( from ) , boost::begin( to ) ); } }; template< class T, class A > struct copy_impl< boost::compute::vector< T, A > , boost::compute::vector< T, A > > { static void copy( const boost::compute::vector< T, A > &from , boost::compute::vector< T, A > &to ) { boost::compute::copy( boost::begin( from ) , boost::end( from ) , boost::begin( to ) ); } }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_COMPUTE_COMPUTE_RESIZE_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/external/eigen/000077500000000000000000000000001265471724600246655ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/external/eigen/eigen.hpp000066400000000000000000000013621265471724600264670ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/eigen/eigen.hpp [begin_description] tba. [end_description] Copyright 2009-2012 Karsten Ahnert Copyright 2009-2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_EIGEN_EIGEN_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_EIGEN_EIGEN_HPP_INCLUDED #include #include #include #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_EIGEN_EIGEN_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/eigen/eigen_algebra.hpp000066400000000000000000000060111265471724600301400ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/eigen/eigen_algebra.hpp [begin_description] tba. [end_description] Copyright 2013 Christian Shelton Copyright 2013 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_EIGEN_EIGEN_ALGEBRA_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_EIGEN_EIGEN_ALGEBRA_HPP_INCLUDED #include #include // Necessary routines for Eigen matrices to work with vector_space_algebra // from odeint // (that is, it lets odeint treat the eigen matrices correctly, knowing // how to add, multiply, compute the norm, etc) namespace Eigen { template inline const typename Eigen::CwiseUnaryOp< typename Eigen::internal::scalar_add_op< typename Eigen::internal::traits::Scalar>, const D > operator+(const typename Eigen::MatrixBase &m, const typename Eigen::internal::traits::Scalar &s) { return Eigen::CwiseUnaryOp< typename Eigen::internal::scalar_add_op< typename Eigen::internal::traits::Scalar>, const D >(m.derived(),Eigen::internal::scalar_add_op< typename Eigen::internal::traits::Scalar>(s)); } template inline const typename Eigen::CwiseUnaryOp< typename Eigen::internal::scalar_add_op< typename Eigen::internal::traits::Scalar>, const D > operator+(const typename Eigen::internal::traits::Scalar &s, const typename Eigen::MatrixBase &m) { return Eigen::CwiseUnaryOp< typename Eigen::internal::scalar_add_op< typename Eigen::internal::traits::Scalar>, const D >(m.derived(),Eigen::internal::scalar_add_op< typename Eigen::internal::traits::Scalar>(s)); } template inline const typename Eigen::CwiseBinaryOp< typename Eigen::internal::scalar_quotient_op< typename Eigen::internal::traits::Scalar>, const D1, const D2> operator/(const Eigen::MatrixBase &x1, const Eigen::MatrixBase &x2) { return x1.cwiseQuotient(x2); } template< typename D > inline const typename Eigen::CwiseUnaryOp< typename Eigen::internal::scalar_abs_op< typename Eigen::internal::traits< D >::Scalar > , const D > abs( const Eigen::MatrixBase< D > &m ) { return m.cwiseAbs(); } } // end Eigen namespace namespace boost { namespace numeric { namespace odeint { template struct vector_space_norm_inf< Eigen::Matrix > { typedef B result_type; result_type operator()( const Eigen::Matrix &m ) const { return m.template lpNorm(); } }; } } } // end boost::numeric::odeint namespace #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_EIGEN_EIGEN_ALGEBRA_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/eigen/eigen_algebra_dispatcher.hpp000066400000000000000000000023661265471724600323570ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/eigen/eigen_algebra_dispatcher.hpp [begin_description] tba. [end_description] Copyright 2009-2012 Karsten Ahnert Copyright 2009-2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_EIGEN_EIGEN_ALGEBRA_DISPATCHER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_EIGEN_EIGEN_ALGEBRA_DISPATCHER_HPP_INCLUDED namespace boost { namespace numeric { namespace odeint { template< class Derived > struct algebra_dispatcher_sfinae< Derived , typename boost::enable_if< typename boost::is_base_of< Eigen::MatrixBase< Derived > , Derived >::type >::type > { typedef vector_space_algebra algebra_type; }; template < class Derived > struct algebra_dispatcher_sfinae< Derived , typename boost::enable_if< typename boost::is_base_of< Eigen::ArrayBase< Derived > , Derived >::type >::type > { typedef vector_space_algebra algebra_type; }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_EIGEN_EIGEN_ALGEBRA_DISPATCHER_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/eigen/eigen_resize.hpp000066400000000000000000000060571265471724600300560ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/eigen/eigen_resize.hpp [begin_description] tba. [end_description] Copyright 2013 Ankur Sinha Copyright 2013 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_EIGEN_EIGEN_RESIZE_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_EXTERNAL_EIGEN_EIGEN_RESIZE_HPP_DEFINED #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class Derived > struct is_resizeable_sfinae< Derived , typename boost::enable_if< typename boost::is_base_of< Eigen::MatrixBase< Derived > , Derived >::type >::type > { typedef boost::true_type type; const static bool value = type::value; }; template < class Derived > struct is_resizeable_sfinae< Derived , typename boost::enable_if< typename boost::is_base_of< Eigen::ArrayBase< Derived > , Derived >::type >::type > { typedef boost::true_type type; const static bool value = type::value; }; template< class Derived > struct same_size_impl_sfinae< Derived , Derived , typename boost::enable_if< typename boost::is_base_of< Eigen::MatrixBase< Derived > , Derived >::type >::type > { static bool same_size( const Eigen::MatrixBase< Derived > &m1 , const Eigen::MatrixBase< Derived > &m2 ) { return ( ( m1.innerSize () == m2.innerSize () ) && ( m1.outerSize() == m2.outerSize() ) ); } }; template< class Derived > struct same_size_impl_sfinae< Derived , Derived , typename boost::enable_if< typename boost::is_base_of< Eigen::ArrayBase< Derived > , Derived >::type >::type > { static bool same_size( const Eigen::ArrayBase< Derived > &v1 , const Eigen::ArrayBase< Derived > &v2 ) { return ( ( v1.innerSize () == v2.innerSize () ) && ( v1.outerSize() == v2.outerSize() ) ); } }; template< class Derived > struct resize_impl_sfinae< Derived , Derived , typename boost::enable_if< typename boost::is_base_of< Eigen::MatrixBase< Derived > , Derived >::type >::type > { static void resize( Eigen::MatrixBase< Derived > &m1 , const Eigen::MatrixBase< Derived > &m2 ) { m1.derived().resizeLike(m2); } }; template< class Derived > struct resize_impl_sfinae< Derived , Derived , typename boost::enable_if< typename boost::is_base_of< Eigen::ArrayBase< Derived > , Derived >::type >::type > { static void resize( Eigen::ArrayBase< Derived > &v1 , const Eigen::ArrayBase< Derived > &v2 ) { v1.derived().resizeLike(v2); } }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_EIGEN_EIGEN_RESIZE_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/external/gsl/000077500000000000000000000000001265471724600243635ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/external/gsl/gsl_wrapper.hpp000066400000000000000000000122001265471724600274140ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/gsl/gsl_wrapper.hpp [begin_description] Wrapper for gsl_vector. [end_description] Copyright 2011-2012 Mario Mulansky Copyright 2011 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_GSL_GSL_WRAPPER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_GSL_GSL_WRAPPER_HPP_INCLUDED #include #include #include #include #include #include #include #include class const_gsl_vector_iterator; /* * defines an iterator for gsl_vector */ class gsl_vector_iterator : public boost::iterator_facade< gsl_vector_iterator , double , boost::random_access_traversal_tag > { public : gsl_vector_iterator( void ): m_p(0) , m_stride( 0 ) { } explicit gsl_vector_iterator( gsl_vector *p ) : m_p( p->data ) , m_stride( p->stride ) { } friend gsl_vector_iterator end_iterator( gsl_vector * ); private : friend class boost::iterator_core_access; friend class const_gsl_vector_iterator; void increment( void ) { m_p += m_stride; } void decrement( void ) { m_p -= m_stride; } void advance( ptrdiff_t n ) { m_p += n*m_stride; } bool equal( const gsl_vector_iterator &other ) const { return this->m_p == other.m_p; } bool equal( const const_gsl_vector_iterator &other ) const; double& dereference( void ) const { return *m_p; } double *m_p; size_t m_stride; }; /* * defines an const iterator for gsl_vector */ class const_gsl_vector_iterator : public boost::iterator_facade< const_gsl_vector_iterator , const double , boost::random_access_traversal_tag > { public : const_gsl_vector_iterator( void ): m_p(0) , m_stride( 0 ) { } explicit const_gsl_vector_iterator( const gsl_vector *p ) : m_p( p->data ) , m_stride( p->stride ) { } const_gsl_vector_iterator( const gsl_vector_iterator &p ) : m_p( p.m_p ) , m_stride( p.m_stride ) { } private : friend class boost::iterator_core_access; friend class gsl_vector_iterator; friend const_gsl_vector_iterator end_iterator( const gsl_vector * ); void increment( void ) { m_p += m_stride; } void decrement( void ) { m_p -= m_stride; } void advance( ptrdiff_t n ) { m_p += n*m_stride; } bool equal( const const_gsl_vector_iterator &other ) const { return this->m_p == other.m_p; } bool equal( const gsl_vector_iterator &other ) const { return this->m_p == other.m_p; } const double& dereference( void ) const { return *m_p; } const double *m_p; size_t m_stride; }; bool gsl_vector_iterator::equal( const const_gsl_vector_iterator &other ) const { return this->m_p == other.m_p; } gsl_vector_iterator end_iterator( gsl_vector *x ) { gsl_vector_iterator iter( x ); iter.m_p += iter.m_stride * x->size; return iter; } const_gsl_vector_iterator end_iterator( const gsl_vector *x ) { const_gsl_vector_iterator iter( x ); iter.m_p += iter.m_stride * x->size; return iter; } namespace boost { template<> struct range_mutable_iterator< gsl_vector* > { typedef gsl_vector_iterator type; }; template<> struct range_const_iterator< gsl_vector* > { typedef const_gsl_vector_iterator type; }; } // namespace boost // template<> inline gsl_vector_iterator range_begin( gsl_vector *x ) { return gsl_vector_iterator( x ); } // template<> inline const_gsl_vector_iterator range_begin( const gsl_vector *x ) { return const_gsl_vector_iterator( x ); } // template<> inline gsl_vector_iterator range_end( gsl_vector *x ) { return end_iterator( x ); } // template<> inline const_gsl_vector_iterator range_end( const gsl_vector *x ) { return end_iterator( x ); } namespace boost { namespace numeric { namespace odeint { template<> struct is_resizeable< gsl_vector* > { //struct type : public boost::true_type { }; typedef boost::true_type type; const static bool value = type::value; }; template <> struct same_size_impl< gsl_vector* , gsl_vector* > { static bool same_size( const gsl_vector* x , const gsl_vector* y ) { return x->size == y->size; } }; template <> struct resize_impl< gsl_vector* , gsl_vector* > { static void resize( gsl_vector* &x , const gsl_vector* y ) { gsl_vector_free( x ); x = gsl_vector_alloc( y->size ); } }; template<> struct state_wrapper< gsl_vector* > { typedef double value_type; typedef gsl_vector* state_type; typedef state_wrapper< gsl_vector* > state_wrapper_type; state_type m_v; state_wrapper( ) { m_v = gsl_vector_alloc( 1 ); } state_wrapper( const state_wrapper_type &x ) { resize( m_v , x.m_v ); gsl_vector_memcpy( m_v , x.m_v ); } ~state_wrapper() { gsl_vector_free( m_v ); } }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_GSL_GSL_WRAPPER_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/mkl/000077500000000000000000000000001265471724600243615ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/external/mkl/mkl_operations.hpp000066400000000000000000000151131265471724600301210ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/mkl/mkl_operations.hpp [begin_description] Wrapper classes for intel math kernel library types. Get a free, non-commercial download of MKL at http://software.intel.com/en-us/articles/non-commercial-software-download/ [end_description] Copyright 2010-2011 Mario Mulansky Copyright 2011-2013 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_MKL_MKL_OPERATIONS_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_MKL_MKL_OPERATIONS_HPP_INCLUDED #include #include #include /* exemplary example for writing bindings to the Intel MKL library * see test/mkl for how to use mkl with odeint * this is a quick and dirty implementation showing the general possibility. * It works only with containers based on double and sequential memory allocation. */ namespace boost { namespace numeric { namespace odeint { /* only defined for doubles */ struct mkl_operations { //template< class Fac1 , class Fac2 > struct scale_sum2; template< class F1 = double , class F2 = F1 > struct scale_sum2 { typedef double Fac1; typedef double Fac2; const Fac1 m_alpha1; const Fac2 m_alpha2; scale_sum2( const Fac1 alpha1 , const Fac2 alpha2 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) { } template< class T1 , class T2 , class T3 > void operator()( T1 &t1 , const T2 &t2 , const T3 &t3) const { // t1 = m_alpha1 * t2 + m_alpha2 * t3; // we get Containers that have size() and [i]-access const int n = t1.size(); //boost::numeric::odeint::copy( t1 , t3 ); if( &(t2[0]) != &(t1[0]) ) { cblas_dcopy( n , &(t2[0]) , 1 , &(t1[0]) , 1 ); } cblas_dscal( n , m_alpha1 , &(t1[0]) , 1 ); cblas_daxpy( n , m_alpha2 , &(t3[0]) , 1 , &(t1[0]) , 1 ); //daxpby( &n , &m_alpha2 , &(t3[0]) , &one , &m_alpha1 , &(t1[0]) , &one ); } }; template< class F1 = double , class F2 = F1 , class F3 = F2 > struct scale_sum3 { typedef double Fac1; typedef double Fac2; typedef double Fac3; const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; scale_sum3( const Fac1 alpha1 , const Fac2 alpha2 , const Fac3 alpha3 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) { } template< class T1 , class T2 , class T3 , class T4 > void operator()( T1 &t1 , const T2 &t2 , const T3 &t3 , const T4 &t4 ) const { // t1 = m_alpha1 * t2 + m_alpha2 * t3 + m_alpha3 * t4; // we get Containers that have size() and [i]-access const int n = t1.size(); //boost::numeric::odeint::copy( t1 , t3 ); if( &(t2[0]) != &(t1[0]) ) { cblas_dcopy( n , &(t2[0]) , 1 , &(t1[0]) , 1 ); } cblas_dscal( n , m_alpha1 , &(t1[0]) , 1 ); cblas_daxpy( n , m_alpha2 , &(t3[0]) , 1 , &(t1[0]) , 1 ); //daxpby( &n , &m_alpha2 , &(t3[0]) , &one , &m_alpha1 , &(t1[0]) , &one ); cblas_daxpy( n , m_alpha3 , &(t4[0]) , 1 , &(t1[0]) , 1 ); } }; template< class F1 = double , class F2 = F1 , class F3 = F2 , class F4 = F3 > struct scale_sum4 { typedef double Fac1; typedef double Fac2; typedef double Fac3; typedef double Fac4; const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; scale_sum4( const Fac1 alpha1 , const Fac2 alpha2 , const Fac3 alpha3 , const Fac4 alpha4 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) { } template< class T1 , class T2 , class T3 , class T4 , class T5 > void operator()( T1 &t1 , const T2 &t2 , const T3 &t3 , const T4 &t4 , const T5 &t5 ) const { // t1 = m_alpha1 * t2 + m_alpha2 * t3 + m_alpha3 * t4 + m_alpha4 * t5; // we get Containers that have size() and [i]-access const int n = t1.size(); //boost::numeric::odeint::copy( t1 , t3 ); if( &(t2[0]) != &(t1[0]) ) { cblas_dcopy( n , &(t2[0]) , 1 , &(t1[0]) , 1 ); } cblas_dscal( n , m_alpha1 , &(t1[0]) , 1 ); cblas_daxpy( n , m_alpha2 , &(t3[0]) , 1 , &(t1[0]) , 1 ); //daxpby( &n , &m_alpha2 , &(t3[0]) , &one , &m_alpha1 , &(t1[0]) , &one ); cblas_daxpy( n , m_alpha3 , &(t4[0]) , 1 , &(t1[0]) , 1 ); cblas_daxpy( n , m_alpha4 , &(t5[0]) , 1 , &(t1[0]) , 1 ); } }; template< class F1 = double , class F2 = F1 , class F3 = F2 , class F4 = F3 , class F5 = F4 > struct scale_sum5 { typedef double Fac1; typedef double Fac2; typedef double Fac3; typedef double Fac4; typedef double Fac5; const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; const Fac5 m_alpha5; scale_sum5( const Fac1 alpha1 , const Fac2 alpha2 , const Fac3 alpha3 , const Fac4 alpha4 , const Fac5 alpha5 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) , m_alpha5( alpha5 ) { } template< class T1 , class T2 , class T3 , class T4 , class T5 , class T6 > void operator()( T1 &t1 , const T2 &t2 , const T3 &t3 , const T4 &t4 , const T5 &t5 , const T6 &t6 ) const { // t1 = m_alpha1 * t2 + m_alpha2 * t3 + m_alpha3 * t4 + m_alpha4 * t5 + m_alpha5 * t6; // we get Containers that have size() and [i]-access const int n = t1.size(); //boost::numeric::odeint::copy( t1 , t3 ); if( &(t2[0]) != &(t1[0]) ) { cblas_dcopy( n , &(t2[0]) , 1 , &(t1[0]) , 1 ); } cblas_dscal( n , m_alpha1 , &(t1[0]) , 1 ); cblas_daxpy( n , m_alpha2 , &(t3[0]) , 1 , &(t1[0]) , 1 ); //daxpby( &n , &m_alpha2 , &(t3[0]) , &one , &m_alpha1 , &(t1[0]) , &one ); cblas_daxpy( n , m_alpha3 , &(t4[0]) , 1 , &(t1[0]) , 1 ); cblas_daxpy( n , m_alpha4 , &(t5[0]) , 1 , &(t1[0]) , 1 ); cblas_daxpy( n , m_alpha5 , &(t6[0]) , 1 , &(t1[0]) , 1 ); } }; }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_MKL_MKL_OPERATIONS_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/mpi/000077500000000000000000000000001265471724600243635ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/external/mpi/mpi.hpp000066400000000000000000000011751265471724600256650ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/mpi/mpi.hpp [begin_description] Wrappers for MPI. [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Copyright 2013 Pascal Germroth Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_MPI_MPI_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_MPI_MPI_HPP_INCLUDED #include #include #endif KWStyle-master/Utilities/boost/numeric/odeint/external/mpi/mpi_nested_algebra.hpp000066400000000000000000000031341265471724600307010ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/mpi/mpi_nested_algebra.hpp [begin_description] Nested parallelized algebra for MPI. [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Copyright 2013 Pascal Germroth Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_MPI_MPI_NESTED_ALGEBRA_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_MPI_MPI_NESTED_ALGEBRA_HPP_INCLUDED #include #include namespace boost { namespace numeric { namespace odeint { /** \brief MPI-parallelized algebra, wrapping another algebra. */ template< class InnerAlgebra > struct mpi_nested_algebra { // execute the InnerAlgebra on each node's local data. #define BOOST_ODEINT_GEN_BODY(n) \ InnerAlgebra::for_each##n( \ BOOST_PP_ENUM_BINARY_PARAMS(n, s, () BOOST_PP_INTERCEPT) , \ op \ ); BOOST_ODEINT_GEN_FOR_EACH(BOOST_ODEINT_GEN_BODY) #undef BOOST_ODEINT_GEN_BODY template< class NestedState > static typename norm_result_type< typename NestedState::value_type >::type norm_inf( const NestedState &s ) { typedef typename norm_result_type< typename NestedState::value_type >::type result_type; // local maximum result_type value = InnerAlgebra::norm_inf( s() ); // global maximum return boost::mpi::all_reduce(s.world, value, boost::mpi::maximum()); } }; } } } #endif KWStyle-master/Utilities/boost/numeric/odeint/external/mpi/mpi_state.hpp000066400000000000000000000056221265471724600270660ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/mpi/mpi_state.hpp [begin_description] A generic split state, storing partial data on each node. [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Copyright 2013 Pascal Germroth Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_MPI_MPI_STATE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_MPI_MPI_STATE_HPP_INCLUDED #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { /** \brief A container which has its contents distributed among the nodes. */ template< class InnerState > struct mpi_state { typedef InnerState value_type; // the node's local data. InnerState m_data; boost::mpi::communicator world; mpi_state() {} mpi_state(boost::mpi::communicator comm) : world(comm) {} inline InnerState &operator()() { return m_data; } inline const InnerState &operator()() const { return m_data; } }; template< class InnerState > struct is_resizeable< mpi_state< InnerState > > : is_resizeable< InnerState > { }; template< class InnerState1 , class InnerState2 > struct same_size_impl< mpi_state< InnerState1 > , mpi_state< InnerState2 > > { static bool same_size( const mpi_state< InnerState1 > &x , const mpi_state< InnerState2 > &y ) { const bool local = boost::numeric::odeint::same_size(x(), y()); return boost::mpi::all_reduce(x.world, local, mpi::bitwise_and()); } }; template< class InnerState1 , class InnerState2 > struct resize_impl< mpi_state< InnerState1 > , mpi_state< InnerState2 > > { static void resize( mpi_state< InnerState1 > &x , const mpi_state< InnerState2 > &y ) { // resize local parts on each node. boost::numeric::odeint::resize(x(), y()); } }; /** \brief Copy data between mpi_states of same size. */ template< class InnerState1 , class InnerState2 > struct copy_impl< mpi_state< InnerState1 > , mpi_state< InnerState2 > > { static void copy( const mpi_state< InnerState1 > &from , mpi_state< InnerState2 > &to ) { // copy local parts on each node. boost::numeric::odeint::copy(from(), to()); } }; /** \brief Use `mpi_algebra` for `mpi_state`. */ template< class InnerState > struct algebra_dispatcher< mpi_state< InnerState > > { typedef mpi_nested_algebra< typename algebra_dispatcher< InnerState >::algebra_type > algebra_type; }; } } } #endif KWStyle-master/Utilities/boost/numeric/odeint/external/mpi/mpi_vector_state.hpp000066400000000000000000000056561265471724600304570ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/mpi/mpi_vector_state.hpp [begin_description] Copying a container from/to an mpi_state splits/joins it. [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Copyright 2013 Pascal Germroth Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_MPI_MPI_VECTOR_STATE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_MPI_MPI_VECTOR_STATE_HPP_INCLUDED #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { /** \brief Split data from some container on node 0 to the slaves. * Source must be a model of Random Access Range. */ template< class Source , class InnerState > struct split_impl< Source, mpi_state< InnerState >, typename boost::enable_if< boost::has_range_const_iterator >::type > { typedef typename boost::range_iterator::type iterator; static void split( const Source &from, mpi_state< InnerState > &to ) { std::vector< InnerState > pieces; if(to.world.rank() == 0) { const size_t num = static_cast(to.world.size()); pieces.resize(num); for(size_t i = 0 ; i < num ; i++) { iterator_range part = detail::make_split_range(from, i, num); boost::numeric::odeint::resize(pieces[i], part); boost::numeric::odeint::copy(part, pieces[i]); } } // send to nodes boost::mpi::scatter(to.world, pieces, to(), 0); } }; /** \brief Merge data from an mpi_state to some container on node 0. * Target must be a model Single Pass Range. */ template< class Target, class InnerState > struct unsplit_impl< mpi_state< InnerState >, Target, typename boost::enable_if< boost::has_range_iterator >::type > { typedef typename boost::range_iterator::type iterator; static void unsplit( const mpi_state< InnerState > &from , Target &to ) { std::vector< InnerState > pieces; // send data to root boost::mpi::gather(from.world, from(), pieces, 0); if(from.world.rank() == 0) { // check target size size_t total_size = 0; for(size_t i = 0 ; i < pieces.size() ; i++) total_size += boost::size(pieces[i]); BOOST_ASSERT( total_size <= boost::size(to) ); // copy parts iterator out = boost::begin(to); for(size_t i = 0 ; i < pieces.size() ; i++) out = boost::copy(pieces[i], out); } } }; } } } #endif KWStyle-master/Utilities/boost/numeric/odeint/external/mtl4/000077500000000000000000000000001265471724600244565ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/external/mtl4/implicit_euler_mtl4.hpp000066400000000000000000000110421265471724600311330ustar00rootroot00000000000000/* [begin_description] Modification of the implicit Euler method, works with the MTL4 matrix library only. [end_description] Copyright 2012-2013 Andreas Angelopoulos Copyright 2012-2013 Karsten Ahnert Copyright 2012-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_IMPLICIT_EULER_MTL4_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_IMPLICIT_EULER_MTL4_HPP_INCLUDED #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class ValueType , class Resizer = initially_resizer > class implicit_euler_mtl4 { public: typedef ValueType value_type; typedef value_type time_type; typedef mtl::dense_vector state_type; typedef state_wrapper< state_type > wrapped_state_type; typedef state_type deriv_type; typedef state_wrapper< deriv_type > wrapped_deriv_type; typedef mtl::compressed2D< value_type > matrix_type; typedef state_wrapper< matrix_type > wrapped_matrix_type; typedef Resizer resizer_type; typedef stepper_tag stepper_category; typedef implicit_euler_mtl4< ValueType , Resizer > stepper_type; implicit_euler_mtl4( const value_type epsilon = 1E-6 ) : m_epsilon( epsilon ) , m_resizer() , m_dxdt() , m_x() , m_identity() , m_jacobi() { } template< class System > void do_step( System system , state_type &x , time_type t , time_type dt ) { typedef typename odeint::unwrap_reference< System >::type system_type; typedef typename odeint::unwrap_reference< typename system_type::first_type >::type deriv_func_type; typedef typename odeint::unwrap_reference< typename system_type::second_type >::type jacobi_func_type; system_type &sys = system; deriv_func_type &deriv_func = sys.first; jacobi_func_type &jacobi_func = sys.second; m_resizer.adjust_size( x , detail::bind( &stepper_type::template resize_impl< state_type > , detail::ref( *this ) , detail::_1 ) ); m_identity.m_v = 1; t += dt; m_x.m_v = x; deriv_func( x , m_dxdt.m_v , t ); jacobi_func( x , m_jacobi.m_v , t ); m_dxdt.m_v *= -dt; m_jacobi.m_v *= dt; m_jacobi.m_v -= m_identity.m_v ; // using ilu_0 preconditioning -incomplete LU factorisation // itl::pc::diagonal L(m_jacobi.m_v); itl::pc::ilu_0 L( m_jacobi.m_v ); solve( m_jacobi.m_v , m_x.m_v , m_dxdt.m_v , L ); x+= m_x.m_v; } template< class StateType > void adjust_size( const StateType &x ) { resize_impl( x ); } private: /* Applying approximate iterative linear solvers default solver is Biconjugate gradient stabilized method itl::bicgstab(A, x, b, L, iter); */ template < class LinearOperator, class HilbertSpaceX, class HilbertSpaceB, class Preconditioner> void solve(const LinearOperator& A, HilbertSpaceX& x, const HilbertSpaceB& b, const Preconditioner& L, int max_iteractions =500) { // Termination criterion: r < 1e-6 * b or N iterations itl::basic_iteration< double > iter( b , max_iteractions , 1e-6 ); itl::bicgstab( A , x , b , L , iter ); } template< class StateIn > bool resize_impl( const StateIn &x ) { bool resized = false; resized |= adjust_size_by_resizeability( m_dxdt , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_x , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_identity , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_jacobi , x , typename is_resizeable::type() ); return resized; } private: value_type m_epsilon; resizer_type m_resizer; wrapped_deriv_type m_dxdt; wrapped_state_type m_x; wrapped_matrix_type m_identity; wrapped_matrix_type m_jacobi; }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_IMPLICIT_EULER_MTL4_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/mtl4/mtl4.hpp000066400000000000000000000013001265471724600260410ustar00rootroot00000000000000/* [auto_generated] /boost/numeric/odeint/external/mtl4/mtl4.hpp [begin_description] includes all headers required for using mtl4 with odeint [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_MTL4_MTL4_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_MTL4_MTL4_HPP_INCLUDED #include #include #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_MTL4_MTL4_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/mtl4/mtl4_algebra_dispatcher.hpp000066400000000000000000000052721265471724600317400ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/mtl4/mtl4_algebra_dispatcher.hpp [begin_description] specialization of the algebra dispatcher for mtl4 [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_MTL4_MTL4_ALGEBRA_DISPATCHER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_MTL4_MTL4_ALGEBRA_DISPATCHER_HPP_INCLUDED #include #include #include namespace boost { namespace numeric { namespace odeint { template struct algebra_dispatcher< mtl::dense_vector< Value , Parameters > > { typedef vector_space_algebra algebra_type; }; template struct algebra_dispatcher< mtl::dense2D< Value , Parameters > > { typedef vector_space_algebra algebra_type; }; template struct algebra_dispatcher< mtl::morton_dense< Value , BitMask, Parameters > > { typedef vector_space_algebra algebra_type; }; template struct algebra_dispatcher< mtl::compressed2D< Value , Parameters > > { typedef vector_space_algebra algebra_type; }; // specialization of infinity norm calculation template struct vector_space_norm_inf< mtl::dense_vector< Value , Parameters > > { typedef Value result_type; Value operator()( const mtl::dense_vector< Value , Parameters > &x ) const { return mtl::infinity_norm(x); } }; template struct vector_space_norm_inf< mtl::dense2D< Value , Parameters > > { typedef Value result_type; Value operator()( const mtl::dense2D< Value , Parameters > &x ) const { return mtl::infinity_norm(x); } }; template struct vector_space_norm_inf< mtl::morton_dense< Value , BitMask , Parameters > > { typedef Value result_type; Value operator()( const mtl::morton_dense< Value , BitMask , Parameters > &x ) const { return mtl::infinity_norm(x); } }; template struct vector_space_norm_inf< mtl::compressed2D< Value , Parameters > > { typedef Value result_type; Value operator()( const mtl::compressed2D< Value , Parameters > &x ) const { return mtl::infinity_norm(x); } }; } } } #endif // BOOST_NUMERIC_ODEINT_MTL4_MTL4_ALGEBRA_DISPATCHER_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/mtl4/mtl4_resize.hpp000066400000000000000000000100201265471724600274210ustar00rootroot00000000000000/* [begin_description] Modification of the implicit Euler method, works with the MTL4 matrix library only. [end_description] Copyright 2012-2013 Andreas Angelopoulos Copyright 2012-2013 Karsten Ahnert Copyright 2012-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_MTL4_RESIZE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_MTL4_RESIZE_HPP_INCLUDED #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class Value , class Parameters > struct is_resizeable< mtl::dense_vector< Value , Parameters > > { typedef boost::true_type type; const static bool value = type::value; }; template< class Value , class Parameters > struct is_resizeable< mtl::dense2D< Value , Parameters > > { typedef boost::true_type type; const static bool value = type::value; }; template< class Value , class Parameters > struct is_resizeable< mtl::compressed2D< Value , Parameters > > { typedef boost::true_type type; const static bool value = type::value; }; template< class Value , class Parameters > struct same_size_impl< mtl::dense_vector< Value , Parameters > , mtl::dense_vector< Value , Parameters > > { static bool same_size( const mtl::dense_vector< Value , Parameters > &v1 , const mtl::dense_vector< Value , Parameters > &v2 ) { return mtl::size( v1 ) == mtl::size( v2 ); } }; template< class Value , class Parameters > struct resize_impl< mtl::dense_vector< Value , Parameters > , mtl::dense_vector< Value , Parameters > > { static void resize( mtl::dense_vector< Value , Parameters > &v1 , const mtl::dense_vector< Value , Parameters > &v2 ) { v1.change_dim( mtl::size( v2 ) ); } }; template< class Value , class MatrixParameters , class VectorParameters > struct same_size_impl< mtl::dense2D< Value , MatrixParameters > , mtl::dense_vector< Value , VectorParameters > > { static bool same_size( const mtl::dense2D< Value , MatrixParameters > &m , const mtl::dense_vector< Value , VectorParameters > &v ) { return ( ( mtl::size( v ) == m.num_cols() ) && ( mtl::size( v ) == m.num_rows() ) ); } }; template< class Value , class MatrixParameters , class VectorParameters > struct resize_impl< mtl::dense2D< Value , MatrixParameters > , mtl::dense_vector< Value , VectorParameters > > { static void resize( mtl::dense2D< Value , MatrixParameters > &m , const mtl::dense_vector< Value , VectorParameters > &v ) { m.change_dim( mtl::size( v ) , mtl::size( v ) , false ); } }; template< class Value , class MatrixParameters , class VectorParameters > struct same_size_impl< mtl::compressed2D< Value , MatrixParameters > , mtl::dense_vector< Value , VectorParameters > > { static bool same_size( const mtl::compressed2D< Value , MatrixParameters > &m , const mtl::dense_vector< Value , VectorParameters > &v ) { return ( ( mtl::size( v ) == m.num_cols() ) && ( mtl::size( v ) == m.num_rows() ) ); } }; template< class Value , class MatrixParameters , class VectorParameters > struct resize_impl< mtl::compressed2D< Value , MatrixParameters > , mtl::dense_vector< Value , VectorParameters > > { static void resize( mtl::compressed2D< Value , MatrixParameters > &m , const mtl::dense_vector< Value , VectorParameters > &v ) { m.change_dim( mtl::size( v ) , mtl::size( v ) ); } }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_MTL4_RESIZE_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/nt2/000077500000000000000000000000001265471724600243015ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/external/nt2/nt2_algebra_dispatcher.hpp000066400000000000000000000020001265471724600313700ustar00rootroot00000000000000//============================================================================== // Copyright 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI // Copyright 2014 NumScale SAS // // Distributed under the Boost Software License, Version 1.0. // See accompanying file LICENSE.txt or copy at // http://www.boost.org/LICENSE_1_0.txt //============================================================================== #ifndef BOOST_NUMERIC_ODEINT_EXTERNAL_NT2_NT2_ALGEBRA_DISPATCHER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_NT2_NT2_ALGEBRA_DISPATCHER_HPP_INCLUDED #include #include #include namespace boost { namespace numeric { namespace odeint { template struct algebra_dispatcher > { typedef vector_space_algebra algebra_type; }; } } } #endif KWStyle-master/Utilities/boost/numeric/odeint/external/nt2/nt2_copy.hpp000066400000000000000000000021761265471724600265550ustar00rootroot00000000000000//============================================================================== // Copyright 2014 LASMEA UMR 6602 CNRS/Univ. Clermont II // Copyright 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI // Copyright 2014 MetaScale SAS // // Distributed under the Boost Software License, Version 1.0. // See accompanying file LICENSE.txt or copy at // http://www.boost.org/LICENSE_1_0.txt //============================================================================== #ifndef BOOST_NUMERIC_ODEINT_EXTERNAL_NT2_NT2_COPY_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_NT2_NT2_COPY_HPP_INCLUDED #include #include namespace boost { namespace numeric { namespace odeint { template struct copy_impl< nt2::container::table , nt2::container::table > { static void copy ( const nt2::container::table &v1 , nt2::container::table &v2 ) { v2 = v1; } }; } } } #endif KWStyle-master/Utilities/boost/numeric/odeint/external/nt2/nt2_norm_inf.hpp000066400000000000000000000021741265471724600274100ustar00rootroot00000000000000//============================================================================== // Copyright 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI // Copyright 2014 NumScale SAS // // Distributed under the Boost Software License, Version 1.0. // See accompanying file LICENSE.txt or copy at // http://www.boost.org/LICENSE_1_0.txt //============================================================================== #ifndef BOOST_NUMERIC_ODEINT_EXTERNAL_NT2_NT2_NORM_INF_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_NT2_NT2_NORM_INF_HPP_INCLUDED #include #include #include #include namespace boost { namespace numeric { namespace odeint { template struct vector_space_norm_inf > { typedef T result_type; result_type operator()(const nt2::container::table &v1) const { return nt2::globalmax(nt2::abs(v1)); } }; } } } #endif KWStyle-master/Utilities/boost/numeric/odeint/external/nt2/nt2_resize.hpp000066400000000000000000000031461265471724600271020ustar00rootroot00000000000000//============================================================================== // Copyright 2014 LRI UMR 8623 CNRS/Univ Paris Sud XI // Copyright 2014 NumScale SAS // // Distributed under the Boost Software License, Version 1.0. // See accompanying file LICENSE.txt or copy at // http://www.boost.org/LICENSE_1_0.txt //============================================================================== #ifndef BOOST_NUMERIC_ODEINT_EXTERNAL_NT2_NT2_RESIZE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_NT2_NT2_RESIZE_HPP_INCLUDED #include #include namespace boost { namespace numeric { namespace odeint { template struct is_resizeable< nt2::container::table > { typedef boost::true_type type; static const bool value = type::value; }; template struct same_size_impl< nt2::container::table , nt2::container::table > { static bool same_size ( const nt2::container::table &v1 , const nt2::container::table &v2 ) { return v1.extent() == v2.extent(); } }; template struct resize_impl< nt2::container::table , nt2::container::table > { static void resize ( nt2::container::table &v1 , const nt2::container::table &v2 ) { v1.resize( v2.extent() ); } }; } } } #endif KWStyle-master/Utilities/boost/numeric/odeint/external/openmp/000077500000000000000000000000001265471724600250745ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/external/openmp/openmp.hpp000066400000000000000000000016041265471724600271040ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/openmp/openmp.hpp [begin_description] Wrappers for OpenMP. [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Copyright 2013 Pascal Germroth Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_OPENMP_OPENMP_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_OPENMP_OPENMP_HPP_INCLUDED // level 1: parallel iteration over random access container #include // level 2: split range state #include // level 3: process a random access container of sub-states in parallel #include #endif KWStyle-master/Utilities/boost/numeric/odeint/external/openmp/openmp_nested_algebra.hpp000066400000000000000000000446771265471724600321440ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/openmp/openmp_nested_algebra.hpp [begin_description] Nested parallelized algebra for OpenMP. [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Copyright 2013 Pascal Germroth Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_OPENMP_OPENMP_NESTED_ALGEBRA_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_OPENMP_OPENMP_NESTED_ALGEBRA_HPP_INCLUDED #include #include #include #include namespace boost { namespace numeric { namespace odeint { /** \brief OpenMP-parallelized algebra, wrapping another, non-parallelized algebra. * * NestedState must be a model of Random Access Range, where the elements are sub-states * which will be processed in parallel. */ template< class InnerAlgebra > struct openmp_nested_algebra { #if __cplusplus >= 201103L // C++11 supports _Pragma #define BOOST_ODEINT_GEN_LOCAL(z, n, unused) \ BOOST_ASSERT_MSG( len == boost::size(s ## n), "All nested state ranges must have the same size." ); \ typename boost::range_iterator::type beg ## n = boost::begin(s ## n); #define BOOST_ODEINT_GEN_BODY(n) \ const size_t len = boost::size(s0); \ BOOST_PP_REPEAT(n, BOOST_ODEINT_GEN_LOCAL, ~) \ _Pragma("omp parallel for schedule(runtime)") \ for( size_t i = 0 ; i < len ; i++ ) \ InnerAlgebra::for_each##n( \ BOOST_PP_ENUM_BINARY_PARAMS(n, beg, [i] BOOST_PP_INTERCEPT) , \ op \ ); BOOST_ODEINT_GEN_FOR_EACH(BOOST_ODEINT_GEN_BODY) #undef BOOST_ODEINT_GEN_BODY #undef BOOST_ODEINT_GEN_LOCAL #else template< class S0 , class Op > static void for_each1 ( S0 &s0 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) InnerAlgebra::for_each1( beg0 [i] , op ); } template< class S0 , class S1 , class Op > static void for_each2 ( S0 &s0 , S1 &s1 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) InnerAlgebra::for_each2( beg0 [i] , beg1 [i] , op ); } template< class S0 , class S1 , class S2 , class Op > static void for_each3 ( S0 &s0 , S1 &s1 , S2 &s2 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) InnerAlgebra::for_each3( beg0 [i] , beg1 [i] , beg2 [i] , op ); } template< class S0 , class S1 , class S2 , class S3 , class Op > static void for_each4 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) InnerAlgebra::for_each4( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , op ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class Op > static void for_each5 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) InnerAlgebra::for_each5( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , op ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class Op > static void for_each6 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) InnerAlgebra::for_each6( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , op ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class Op > static void for_each7 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) InnerAlgebra::for_each7( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , op ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class Op > static void for_each8 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); typename boost::range_iterator::type beg7 = boost::begin(s7); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) InnerAlgebra::for_each8( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , beg7 [i] , op ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class Op > static void for_each9 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); typename boost::range_iterator::type beg7 = boost::begin(s7); typename boost::range_iterator::type beg8 = boost::begin(s8); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) InnerAlgebra::for_each9( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , beg7 [i] , beg8 [i] , op ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class Op > static void for_each10 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); typename boost::range_iterator::type beg7 = boost::begin(s7); typename boost::range_iterator::type beg8 = boost::begin(s8); typename boost::range_iterator::type beg9 = boost::begin(s9); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) InnerAlgebra::for_each10( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , beg7 [i] , beg8 [i] , beg9 [i] , op ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class S10 , class Op > static void for_each11 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); typename boost::range_iterator::type beg7 = boost::begin(s7); typename boost::range_iterator::type beg8 = boost::begin(s8); typename boost::range_iterator::type beg9 = boost::begin(s9); typename boost::range_iterator::type beg10 = boost::begin(s10); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) InnerAlgebra::for_each11( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , beg7 [i] , beg8 [i] , beg9 [i] , beg10 [i] , op ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class S10 , class S11 , class Op > static void for_each12 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); typename boost::range_iterator::type beg7 = boost::begin(s7); typename boost::range_iterator::type beg8 = boost::begin(s8); typename boost::range_iterator::type beg9 = boost::begin(s9); typename boost::range_iterator::type beg10 = boost::begin(s10); typename boost::range_iterator::type beg11 = boost::begin(s11); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) InnerAlgebra::for_each12( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , beg7 [i] , beg8 [i] , beg9 [i] , beg10 [i] , beg11 [i] , op ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class Op > static void for_each13 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); typename boost::range_iterator::type beg7 = boost::begin(s7); typename boost::range_iterator::type beg8 = boost::begin(s8); typename boost::range_iterator::type beg9 = boost::begin(s9); typename boost::range_iterator::type beg10 = boost::begin(s10); typename boost::range_iterator::type beg11 = boost::begin(s11); typename boost::range_iterator::type beg12 = boost::begin(s12); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) InnerAlgebra::for_each13( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , beg7 [i] , beg8 [i] , beg9 [i] , beg10 [i] , beg11 [i] , beg12 [i] , op ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class S13 , class Op > static void for_each14 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , S13 &s13 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); typename boost::range_iterator::type beg7 = boost::begin(s7); typename boost::range_iterator::type beg8 = boost::begin(s8); typename boost::range_iterator::type beg9 = boost::begin(s9); typename boost::range_iterator::type beg10 = boost::begin(s10); typename boost::range_iterator::type beg11 = boost::begin(s11); typename boost::range_iterator::type beg12 = boost::begin(s12); typename boost::range_iterator::type beg13 = boost::begin(s13); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) InnerAlgebra::for_each14( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , beg7 [i] , beg8 [i] , beg9 [i] , beg10 [i] , beg11 [i] , beg12 [i] , beg13 [i] , op ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class S13 , class S14 , class Op > static void for_each15 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , S13 &s13 , S14 &s14 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); typename boost::range_iterator::type beg7 = boost::begin(s7); typename boost::range_iterator::type beg8 = boost::begin(s8); typename boost::range_iterator::type beg9 = boost::begin(s9); typename boost::range_iterator::type beg10 = boost::begin(s10); typename boost::range_iterator::type beg11 = boost::begin(s11); typename boost::range_iterator::type beg12 = boost::begin(s12); typename boost::range_iterator::type beg13 = boost::begin(s13); typename boost::range_iterator::type beg14 = boost::begin(s14); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) InnerAlgebra::for_each15( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , beg7 [i] , beg8 [i] , beg9 [i] , beg10 [i] , beg11 [i] , beg12 [i] , beg13 [i] , beg14 [i] , op ); } #endif template< class NestedState > static typename norm_result_type< typename NestedState::value_type >::type norm_inf( const NestedState &s ) { typedef typename boost::range_iterator::type iterator; typedef typename std::iterator_traits::value_type value_type; typedef typename norm_result_type::type result_type; result_type init = static_cast< result_type >( 0 ); const size_t len = boost::size(s); iterator beg = boost::begin(s); # pragma omp parallel for reduction(max: init) schedule(dynamic) for( size_t i = 0 ; i < len ; i++ ) init = (std::max)( init , InnerAlgebra::norm_inf( beg[i] ) ); return init; } }; } } } #endif KWStyle-master/Utilities/boost/numeric/odeint/external/openmp/openmp_range_algebra.hpp000066400000000000000000000432341265471724600317420ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/openmp/openmp_range_algebra.hpp [begin_description] Range algebra for OpenMP. [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Copyright 2013 Pascal Germroth Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_OPENMP_OPENMP_RANGE_ALGEBRA_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_OPENMP_OPENMP_RANGE_ALGEBRA_HPP_INCLUDED #include #include #include #include namespace boost { namespace numeric { namespace odeint { /** \brief OpenMP-parallelized range algebra. * * State must be a model of Random Access Range. */ struct openmp_range_algebra { #if __cplusplus >= 201103L // C++11 supports _Pragma #define BOOST_ODEINT_GEN_LOCAL(z, n, unused) \ BOOST_ASSERT_MSG( len == boost::size(s ## n), "All state ranges must have the same size." ); \ typename boost::range_iterator::type beg ## n = boost::begin(s ## n); #define BOOST_ODEINT_GEN_BODY(n) \ const size_t len = boost::size(s0); \ BOOST_PP_REPEAT(n, BOOST_ODEINT_GEN_LOCAL, ~) \ _Pragma("omp parallel for schedule(runtime)") \ for( size_t i = 0 ; i < len ; i++ ) \ op( BOOST_PP_ENUM_BINARY_PARAMS(n, beg, [i] BOOST_PP_INTERCEPT) ); BOOST_ODEINT_GEN_FOR_EACH(BOOST_ODEINT_GEN_BODY) #undef BOOST_ODEINT_GEN_BODY #undef BOOST_ODEINT_GEN_LOCAL #else template< class S0 , class Op > static void for_each1 ( S0 &s0 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) op( beg0 [i] ); } template< class S0 , class S1 , class Op > static void for_each2 ( S0 &s0 , S1 &s1 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) op( beg0 [i] , beg1 [i] ); } template< class S0 , class S1 , class S2 , class Op > static void for_each3 ( S0 &s0 , S1 &s1 , S2 &s2 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) op( beg0 [i] , beg1 [i] , beg2 [i] ); } template< class S0 , class S1 , class S2 , class S3 , class Op > static void for_each4 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) op( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class Op > static void for_each5 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) op( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class Op > static void for_each6 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) op( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class Op > static void for_each7 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) op( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class Op > static void for_each8 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); typename boost::range_iterator::type beg7 = boost::begin(s7); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) op( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , beg7 [i] ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class Op > static void for_each9 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); typename boost::range_iterator::type beg7 = boost::begin(s7); typename boost::range_iterator::type beg8 = boost::begin(s8); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) op( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , beg7 [i] , beg8 [i] ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class Op > static void for_each10 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); typename boost::range_iterator::type beg7 = boost::begin(s7); typename boost::range_iterator::type beg8 = boost::begin(s8); typename boost::range_iterator::type beg9 = boost::begin(s9); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) op( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , beg7 [i] , beg8 [i] , beg9 [i] ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class S10 , class Op > static void for_each11 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); typename boost::range_iterator::type beg7 = boost::begin(s7); typename boost::range_iterator::type beg8 = boost::begin(s8); typename boost::range_iterator::type beg9 = boost::begin(s9); typename boost::range_iterator::type beg10 = boost::begin(s10); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) op( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , beg7 [i] , beg8 [i] , beg9 [i] , beg10 [i] ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class S10 , class S11 , class Op > static void for_each12 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); typename boost::range_iterator::type beg7 = boost::begin(s7); typename boost::range_iterator::type beg8 = boost::begin(s8); typename boost::range_iterator::type beg9 = boost::begin(s9); typename boost::range_iterator::type beg10 = boost::begin(s10); typename boost::range_iterator::type beg11 = boost::begin(s11); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) op( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , beg7 [i] , beg8 [i] , beg9 [i] , beg10 [i] , beg11 [i] ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class Op > static void for_each13 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); typename boost::range_iterator::type beg7 = boost::begin(s7); typename boost::range_iterator::type beg8 = boost::begin(s8); typename boost::range_iterator::type beg9 = boost::begin(s9); typename boost::range_iterator::type beg10 = boost::begin(s10); typename boost::range_iterator::type beg11 = boost::begin(s11); typename boost::range_iterator::type beg12 = boost::begin(s12); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) op( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , beg7 [i] , beg8 [i] , beg9 [i] , beg10 [i] , beg11 [i] , beg12 [i] ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class S13 , class Op > static void for_each14 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , S13 &s13 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); typename boost::range_iterator::type beg7 = boost::begin(s7); typename boost::range_iterator::type beg8 = boost::begin(s8); typename boost::range_iterator::type beg9 = boost::begin(s9); typename boost::range_iterator::type beg10 = boost::begin(s10); typename boost::range_iterator::type beg11 = boost::begin(s11); typename boost::range_iterator::type beg12 = boost::begin(s12); typename boost::range_iterator::type beg13 = boost::begin(s13); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) op( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , beg7 [i] , beg8 [i] , beg9 [i] , beg10 [i] , beg11 [i] , beg12 [i] , beg13 [i] ); } template< class S0 , class S1 , class S2 , class S3 , class S4 , class S5 , class S6 , class S7 , class S8 , class S9 , class S10 , class S11 , class S12 , class S13 , class S14 , class Op > static void for_each15 ( S0 &s0 , S1 &s1 , S2 &s2 , S3 &s3 , S4 &s4 , S5 &s5 , S6 &s6 , S7 &s7 , S8 &s8 , S9 &s9 , S10 &s10 , S11 &s11 , S12 &s12 , S13 &s13 , S14 &s14 , Op op ) { const size_t len = boost::size(s0); typename boost::range_iterator::type beg0 = boost::begin(s0); typename boost::range_iterator::type beg1 = boost::begin(s1); typename boost::range_iterator::type beg2 = boost::begin(s2); typename boost::range_iterator::type beg3 = boost::begin(s3); typename boost::range_iterator::type beg4 = boost::begin(s4); typename boost::range_iterator::type beg5 = boost::begin(s5); typename boost::range_iterator::type beg6 = boost::begin(s6); typename boost::range_iterator::type beg7 = boost::begin(s7); typename boost::range_iterator::type beg8 = boost::begin(s8); typename boost::range_iterator::type beg9 = boost::begin(s9); typename boost::range_iterator::type beg10 = boost::begin(s10); typename boost::range_iterator::type beg11 = boost::begin(s11); typename boost::range_iterator::type beg12 = boost::begin(s12); typename boost::range_iterator::type beg13 = boost::begin(s13); typename boost::range_iterator::type beg14 = boost::begin(s14); #pragma omp parallel for schedule(runtime) for( size_t i = 0 ; i < len ; i++ ) op( beg0 [i] , beg1 [i] , beg2 [i] , beg3 [i] , beg4 [i] , beg5 [i] , beg6 [i] , beg7 [i] , beg8 [i] , beg9 [i] , beg10 [i] , beg11 [i] , beg12 [i] , beg13 [i] , beg14 [i] ); } #endif template< class S > static typename norm_result_type< S >::type norm_inf( const S &s ) { using std::max; using std::abs; typedef typename norm_result_type< S >::type result_type; result_type init = static_cast< result_type >( 0 ); const size_t len = boost::size(s); typename boost::range_iterator::type beg = boost::begin(s); # pragma omp parallel for reduction(max: init) schedule(dynamic) for( size_t i = 0 ; i < len ; ++i ) init = max( init , abs( beg[i] ) ); return init; } }; } } } #endif KWStyle-master/Utilities/boost/numeric/odeint/external/openmp/openmp_state.hpp000066400000000000000000000121241265471724600303030ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/openmp/openmp_state.hpp [begin_description] Wrappers for OpenMP. [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Copyright 2013 Pascal Germroth Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_OPENMP_OPENMP_STATE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_OPENMP_OPENMP_STATE_HPP_INCLUDED #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { /** \brief A container that is split into distinct parts, for threading. * Just a wrapper for vector>, use `copy` for splitting/joining. */ template< class T > struct openmp_state : public std::vector< std::vector< T > > { openmp_state() {} openmp_state(size_t n, const std::vector& val = std::vector()) : std::vector< std::vector< T > >(n, val) {} template openmp_state(InputIterator first, InputIterator last) : std::vector< std::vector< T > >(first, last) {} openmp_state(const std::vector< std::vector< T > > &orig) : std::vector< std::vector< T > >(orig) {} }; template< class T > struct is_resizeable< openmp_state< T > > : boost::true_type { }; template< class T > struct same_size_impl< openmp_state< T > , openmp_state< T > > { static bool same_size( const openmp_state< T > &x , const openmp_state< T > &y ) { if( x.size() != y.size() ) return false; for( size_t i = 0 ; i != x.size() ; i++ ) if( x[i].size() != y[i].size() ) return false; return true; } }; template< class T > struct resize_impl< openmp_state< T > , openmp_state< T > > { static void resize( openmp_state< T > &x , const openmp_state< T > &y ) { x.resize( y.size() ); # pragma omp parallel for schedule(dynamic) for(size_t i = 0 ; i < x.size() ; i++) x[i].resize( y[i].size() ); } }; /** \brief Copy data between openmp_states of same size. */ template< class T > struct copy_impl< openmp_state< T >, openmp_state< T > > { static void copy( const openmp_state< T > &from, openmp_state< T > &to ) { # pragma omp parallel for schedule(dynamic) for(size_t i = 0 ; i < from.size() ; i++) std::copy( from[i].begin() , from[i].end() , to.begin() ); } }; /** \brief Copy data from some container to an openmp_state and resize it. * Target container size will determine number of blocks to split into. * If it is empty, it will be resized to the maximum number of OpenMP threads. * SourceContainer must support `s::value_type`, `s::const_iterator`, `s.begin()`, `s.end()` and `s.size()`, * with Random Access Iterators; i.e. it must be a Random Access Container. */ template< class SourceContainer > struct split_impl< SourceContainer, openmp_state< typename SourceContainer::value_type > > { static void split( const SourceContainer &from, openmp_state< typename SourceContainer::value_type > &to ) { if(to.size() == 0) to.resize( omp_get_max_threads() ); const size_t part = from.size() / to.size(); # pragma omp parallel for schedule(dynamic) for(size_t i = 0 ; i < to.size() ; i++) { typedef typename SourceContainer::const_iterator it_t; const it_t begin = from.begin() + i * part; it_t end = begin + part; // for cases where from.size() % to.size() > 0 if(i + 1 == to.size() || end > from.end()) end = from.end(); to[i].resize(end - begin); std::copy(begin, end, to[i].begin()); } } }; /** \brief Copy data from an openmp_state to some container and resize it. * TargetContainer must support `s::value_type`, `s::iterator`, `s.begin()` and `s.resize(n)`, * i.e. it must be a `std::vector`. */ template< class TargetContainer > struct unsplit_impl< openmp_state< typename TargetContainer::value_type >, TargetContainer > { static void unsplit( const openmp_state< typename TargetContainer::value_type > &from , TargetContainer &to ) { // resize target size_t total_size = 0; for(size_t i = 0 ; i < from.size() ; i++) total_size += from[i].size(); to.resize( total_size ); // copy parts typename TargetContainer::iterator out = to.begin(); for(size_t i = 0 ; i < from.size() ; i++) out = std::copy(from[i].begin(), from[i].end(), out); } }; /** \brief OpenMP-parallelized algebra. * For use with openmp_state. */ typedef openmp_nested_algebra< range_algebra > openmp_algebra; /** \brief Use `openmp_algebra` for `openmp_state`. */ template< class T > struct algebra_dispatcher< openmp_state< T > > { typedef openmp_algebra algebra_type; }; } } } #endif KWStyle-master/Utilities/boost/numeric/odeint/external/thrust/000077500000000000000000000000001265471724600251275ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/external/thrust/thrust.hpp000066400000000000000000000016511265471724600271740ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/thrust/thrust.hpp [begin_description] includes all headers required for using odeint with thrust [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_THRUST_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_HPP_DEFINED #include #include #include #include #include #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/external/thrust/thrust_algebra.hpp000066400000000000000000000177011265471724600306540ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/thrust/thrust_algebra.hpp [begin_description] An algebra for thrusts device_vectors. [end_description] Copyright 2010-2013 Mario Mulansky Copyright 2010-2011 Karsten Ahnert Copyright 2013 Kyle Lutz Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_ALGEBRA_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_ALGEBRA_HPP_INCLUDED #include #include #include #include namespace boost { namespace numeric { namespace odeint { namespace detail { // to use in thrust::reduce template< class Value > struct maximum { template< class Fac1 , class Fac2 > __host__ __device__ Value operator()( const Fac1 t1 , const Fac2 t2 ) const { return ( abs( t1 ) < abs( t2 ) ) ? t2 : t1 ; } typedef Value result_type; }; } /** ToDO extend until for_each14 for rk78 */ /* * The const versions are needed for boost.range to work, i.e. * it allows you to do * for_each1( make_pair( vec1.begin() , vec1.begin() + 10 ) , op ); */ struct thrust_algebra { template< class StateType , class Operation > static void for_each1( StateType &s , Operation op ) { thrust::for_each( boost::begin(s) , boost::end(s) , op ); } template< class StateType1 , class StateType2 , class Operation > static void for_each2( StateType1 &s1 , StateType2 &s2 , Operation op ) { thrust::for_each( thrust::make_zip_iterator( thrust::make_tuple( boost::begin(s1) , boost::begin(s2) ) ) , thrust::make_zip_iterator( thrust::make_tuple( boost::end(s1) , boost::end(s2) ) ) , op); } template< class StateType1 , class StateType2 , class StateType3 , class Operation > static void for_each3( StateType1 &s1 , StateType2 &s2 , StateType3 &s3 , Operation op ) { thrust::for_each( thrust::make_zip_iterator( thrust::make_tuple( boost::begin(s1) , boost::begin(s2) , boost::begin(s3) ) ) , thrust::make_zip_iterator( thrust::make_tuple( boost::end(s1) , boost::end(s2) , boost::end(s3) ) ) , op); } template< class StateType1 , class StateType2 , class StateType3 , class StateType4 , class Operation > static void for_each4( StateType1 &s1 , StateType2 &s2 , StateType3 &s3 , StateType4 &s4 , Operation op ) { thrust::for_each( thrust::make_zip_iterator( thrust::make_tuple( boost::begin(s1) , boost::begin(s2) , boost::begin(s3) , boost::begin(s4) ) ) , thrust::make_zip_iterator( thrust::make_tuple( boost::end(s1) , boost::end(s2) , boost::end(s3) , boost::end(s4) ) ) , op); } template< class StateType1 , class StateType2 , class StateType3 , class StateType4 , class StateType5 ,class Operation > static void for_each5( StateType1 &s1 , StateType2 &s2 , StateType3 &s3 , StateType4 &s4 , StateType5 &s5 , Operation op ) { thrust::for_each( thrust::make_zip_iterator( thrust::make_tuple( boost::begin(s1) , boost::begin(s2) , boost::begin(s3) , boost::begin(s4) , boost::begin(s5) ) ) , thrust::make_zip_iterator( thrust::make_tuple( boost::end(s1) , boost::end(s2) , boost::end(s3) , boost::end(s4) , boost::end(s5) ) ) , op); } template< class StateType1 , class StateType2 , class StateType3 , class StateType4 , class StateType5 , class StateType6 , class Operation > static void for_each6( StateType1 &s1 , StateType2 &s2 , StateType3 &s3 , StateType4 &s4 , StateType5 &s5 , StateType6 &s6 , Operation op ) { thrust::for_each( thrust::make_zip_iterator( thrust::make_tuple( boost::begin(s1) , boost::begin(s2) , boost::begin(s3) , boost::begin(s4) , boost::begin(s5) , boost::begin(s6) ) ) , thrust::make_zip_iterator( thrust::make_tuple( boost::end(s1) , boost::end(s2) , boost::end(s3) , boost::end(s4) , boost::end(s5) , boost::end(s6) ) ) , op); } template< class StateType1 , class StateType2 , class StateType3 , class StateType4 , class StateType5 , class StateType6 , class StateType7 , class Operation > static void for_each7( StateType1 &s1 , StateType2 &s2 , StateType3 &s3 , StateType4 &s4 , StateType5 &s5 , StateType6 &s6 , StateType7 &s7 , Operation op ) { thrust::for_each( thrust::make_zip_iterator( thrust::make_tuple( boost::begin(s1) , boost::begin(s2) , boost::begin(s3) , boost::begin(s4) , boost::begin(s5) , boost::begin(s6) , boost::begin(s7) ) ) , thrust::make_zip_iterator( thrust::make_tuple( boost::end(s1) , boost::end(s2) , boost::end(s3) , boost::end(s4) , boost::end(s5) , boost::end(s6) , boost::end(s7) ) ) , op); } template< class StateType1 , class StateType2 , class StateType3 , class StateType4 , class StateType5 , class StateType6 , class StateType7 , class StateType8 , class Operation > static void for_each8( StateType1 &s1 , StateType2 &s2 , StateType3 &s3 , StateType4 &s4 , StateType5 &s5 , StateType6 &s6 , StateType7 &s7 , StateType8 &s8 , Operation op ) { thrust::for_each( thrust::make_zip_iterator( thrust::make_tuple( boost::begin(s1) , boost::begin(s2) , boost::begin(s3) , boost::begin(s4) , boost::begin(s5) , boost::begin(s6) , boost::begin(s7) , boost::begin(s8) ) ) , thrust::make_zip_iterator( thrust::make_tuple( boost::end(s1) , boost::end(s2) , boost::end(s3) , boost::end(s4) , boost::end(s5) , boost::end(s6) , boost::end(s7) , boost::end(s8) ) ) , op); } template< class S > static typename S::value_type norm_inf( const S &s ) { typedef typename S::value_type value_type; return thrust::reduce( boost::begin( s ) , boost::end( s ) , static_cast(0) , detail::maximum() ); } }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_ALGEBRA_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/thrust/thrust_algebra_dispatcher.hpp000066400000000000000000000054511265471724600330610ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/thrust/thrust_algebra_dispatcher.hpp [begin_description] algebra_dispatcher specialization for thrust [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_ALGEBRA_DISPATCHER_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_ALGEBRA_DISPATCHER_HPP_DEFINED #include #include #include #include // specializations for the standard thrust containers namespace boost { namespace numeric { namespace odeint { // specialization for thrust host_vector template< class T , class A > struct algebra_dispatcher< thrust::host_vector< T , A > > { typedef thrust_algebra algebra_type; }; // specialization for thrust device_vector template< class T , class A > struct algebra_dispatcher< thrust::device_vector< T , A > > { typedef thrust_algebra algebra_type; }; } // namespace odeint } // namespace numeric } // namespace boost // add support for thrust backend vectors, if available #include #if THRUST_VERSION >= 100600 // specialization for thrust cpp vector #include namespace boost { namespace numeric { namespace odeint { template< class T , class A > struct algebra_dispatcher< thrust::cpp::vector< T , A > > { typedef thrust_algebra algebra_type; }; } } } // specialization for thrust omp vector #ifdef _OPENMP #include namespace boost { namespace numeric { namespace odeint { template< class T , class A > struct algebra_dispatcher< thrust::omp::vector< T , A > > { typedef thrust_algebra algebra_type; }; } } } #endif // _OPENMP // specialization for thrust tbb vector #ifdef TBB_VERSION_MAJOR #include namespace boost { namespace numeric { namespace odeint { template< class T , class A > struct algebra_dispatcher< thrust::tbb::vector< T , A > > { typedef thrust_algebra algebra_type; }; } } } #endif // TBB_VERSION_MAJOR // specialization for thrust cuda vector #ifdef __CUDACC__ #include namespace boost { namespace numeric { namespace odeint { template< class T , class A > struct algebra_dispatcher< thrust::cuda::vector< T , A > > { typedef thrust_algebra algebra_type; }; } } } #endif // __CUDACC__ #endif // THRUST_VERSION >= 100600 #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_ALGEBRA_DISPATCHER_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/external/thrust/thrust_operations.hpp000066400000000000000000000164211265471724600314400ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/thrust/thrust_operations.hpp [begin_description] Operations of thrust zipped iterators. Is the counterpart of the thrust_algebra. [end_description] Copyright 2010-2013 Mario Mulansky Copyright 2010-2012 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_OPERATIONS_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_OPERATIONS_HPP_INCLUDED namespace boost { namespace numeric { namespace odeint { #include #include /**ToDo extend to scale_sum13 for rk78 */ struct thrust_operations { template< class Fac1 = double , class Fac2 = Fac1 > struct scale_sum2 { const Fac1 m_alpha1; const Fac2 m_alpha2; scale_sum2( const Fac1 alpha1 , const Fac2 alpha2 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) { } template< class Tuple > __host__ __device__ void operator()( Tuple t ) const { thrust::get<0>(t) = m_alpha1 * thrust::get<1>(t) + m_alpha2 * thrust::get<2>(t); } }; template< class Fac1 = double , class Fac2 = Fac1 > struct scale_sum_swap2 { const Fac1 m_alpha1; const Fac2 m_alpha2; scale_sum_swap2( const Fac1 alpha1 , const Fac2 alpha2 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) { } template< class Tuple > __host__ __device__ void operator()( Tuple t ) const { typename thrust::tuple_element<0,Tuple>::type tmp = thrust::get<0>(t); thrust::get<0>(t) = m_alpha1 * thrust::get<1>(t) + m_alpha2 * thrust::get<2>(t); thrust::get<1>(t) = tmp; } }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 > struct scale_sum3 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; scale_sum3( const Fac1 alpha1 , const Fac2 alpha2 , const Fac3 alpha3 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) { } template< class Tuple > __host__ __device__ void operator()( Tuple t ) const { thrust::get<0>(t) = m_alpha1 * thrust::get<1>(t) + m_alpha2 * thrust::get<2>(t) + m_alpha3 * thrust::get<3>(t); } }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 > struct scale_sum4 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; scale_sum4( const Fac1 alpha1 , const Fac2 alpha2 , const Fac3 alpha3 , const Fac4 alpha4 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ){ } template< class Tuple > __host__ __device__ void operator()( Tuple t ) const { thrust::get<0>(t) = m_alpha1 * thrust::get<1>(t) + m_alpha2 * thrust::get<2>(t) + m_alpha3 * thrust::get<3>(t) + m_alpha4 * thrust::get<4>(t); } }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 , class Fac5 = Fac4 > struct scale_sum5 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; const Fac5 m_alpha5; scale_sum5( const Fac1 alpha1 , const Fac2 alpha2 , const Fac3 alpha3 , const Fac4 alpha4 , const Fac5 alpha5 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) , m_alpha5( alpha5 ) { } template< class Tuple > __host__ __device__ void operator()( Tuple t ) const { thrust::get<0>(t) = m_alpha1 * thrust::get<1>(t) + m_alpha2 * thrust::get<2>(t) + m_alpha3 * thrust::get<3>(t) + m_alpha4 * thrust::get<4>(t) + m_alpha5 * thrust::get<5>(t); } }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 , class Fac5 = Fac4 , class Fac6 = Fac5 > struct scale_sum6 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; const Fac5 m_alpha5; const Fac6 m_alpha6; scale_sum6( const Fac1 alpha1 , const Fac2 alpha2 , const Fac3 alpha3 , const Fac4 alpha4 , const Fac5 alpha5 , const Fac6 alpha6 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) , m_alpha5( alpha5 ) , m_alpha6( alpha6 ) { } template< class Tuple > __host__ __device__ void operator()( Tuple t ) const { thrust::get<0>(t) = m_alpha1 * thrust::get<1>(t) + m_alpha2 * thrust::get<2>(t) + m_alpha3 * thrust::get<3>(t) + m_alpha4 * thrust::get<4>(t) + m_alpha5 * thrust::get<5>(t) + m_alpha6 * thrust::get<6>(t); } }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 , class Fac5 = Fac4 , class Fac6 = Fac5 , class Fac7 = Fac6 > struct scale_sum7 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; const Fac5 m_alpha5; const Fac6 m_alpha6; const Fac7 m_alpha7; scale_sum7( const Fac1 alpha1 , const Fac2 alpha2 , const Fac3 alpha3 , const Fac4 alpha4 , const Fac5 alpha5 , const Fac6 alpha6 , const Fac7 alpha7 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) , m_alpha5( alpha5 ) , m_alpha6( alpha6 ) , m_alpha7( alpha7 ) { } template< class Tuple > __host__ __device__ void operator()( Tuple t ) const { thrust::get<0>(t) = m_alpha1 * thrust::get<1>(t) + m_alpha2 * thrust::get<2>(t) + m_alpha3 * thrust::get<3>(t) + m_alpha4 * thrust::get<4>(t) + m_alpha5 * thrust::get<5>(t) + m_alpha6 * thrust::get<6>(t) + m_alpha7 * thrust::get<7>(t) ; } }; template< class Fac1 = double > struct rel_error { const Fac1 m_eps_abs , m_eps_rel , m_a_x , m_a_dxdt; rel_error( const Fac1 eps_abs , const Fac1 eps_rel , const Fac1 a_x , const Fac1 a_dxdt ) : m_eps_abs( eps_abs ) , m_eps_rel( eps_rel ) , m_a_x( a_x ) , m_a_dxdt( a_dxdt ) { } template< class Tuple > __host__ __device__ void operator()( Tuple t ) const { using std::abs; thrust::get< 0 >( t ) = abs( thrust::get< 0 >( t ) ) / ( m_eps_abs + m_eps_rel * ( m_a_x * abs( thrust::get< 1 >( t ) + m_a_dxdt * abs( thrust::get< 2 >( t ) ) ) ) ); } typedef void result_type; }; }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_OPERATIONS_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/thrust/thrust_operations_dispatcher.hpp000066400000000000000000000055661265471724600336560ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/thrust/thrust_operations_dispatcher.hpp [begin_description] operations_dispatcher specialization for thrust [end_description] Copyright 2013-2014 Karsten Ahnert Copyright 2013-2014 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_OPERATIONS_DISPATCHER_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_OPERATIONS_DISPATCHER_HPP_DEFINED #include #include #include #include // support for the standard thrust containers namespace boost { namespace numeric { namespace odeint { // specialization for thrust host_vector template< class T , class A > struct operations_dispatcher< thrust::host_vector< T , A > > { typedef thrust_operations operations_type; }; // specialization for thrust device_vector template< class T , class A > struct operations_dispatcher< thrust::device_vector< T , A > > { typedef thrust_operations operations_type; }; } // namespace odeint } // namespace numeric } // namespace boost // add support for thrust backend vectors, if available #include #if THRUST_VERSION >= 100600 // specialization for thrust cpp vector #include namespace boost { namespace numeric { namespace odeint { template< class T , class A > struct operations_dispatcher< thrust::cpp::vector< T , A > > { typedef thrust_operations operations_type; }; } } } // specialization for thrust omp vector #ifdef _OPENMP #include namespace boost { namespace numeric { namespace odeint { template< class T , class A > struct operations_dispatcher< thrust::omp::vector< T , A > > { typedef thrust_operations operations_type; }; } } } #endif // _OPENMP // specialization for thrust tbb vector #ifdef TBB_VERSION_MAJOR #include namespace boost { namespace numeric { namespace odeint { template< class T , class A > struct operations_dispatcher< thrust::tbb::vector< T , A > > { typedef thrust_operations operations_type; }; } } } #endif // TBB_VERSION_MAJOR // specialization for thrust cuda vector #ifdef __CUDACC__ #include namespace boost { namespace numeric { namespace odeint { template< class T , class A > struct operations_dispatcher< thrust::cuda::vector< T , A > > { typedef thrust_operations operations_type; }; } } } #endif // __CUDACC__ #endif // THRUST_VERSION >= 100600 #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_OPERATIONS_DISPATCHER_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/external/thrust/thrust_resize.hpp000066400000000000000000000204461265471724600305600ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/thrust/thrust_resize.hpp [begin_description] Enable resizing for thrusts device and host_vector. [end_description] Copyright 2010-2014 Mario Mulansky Copyright 2010-2011 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_RESIZE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_RESIZE_HPP_INCLUDED #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { // some macros that define the necessary utilities #define ODEINT_THRUST_VECTOR_IS_RESIZEABLE( THRUST_VECTOR ) \ template< class T , class A > \ struct is_resizeable< THRUST_VECTOR > \ { \ struct type : public boost::true_type { }; \ const static bool value = type::value; \ }; \ #define ODEINT_TRHUST_VECTOR_RESIZE_IMPL( THRUST_VECTOR ) \ template< class T, class A > \ struct resize_impl< THRUST_VECTOR , THRUST_VECTOR > \ { \ static void resize( THRUST_VECTOR &x , \ const THRUST_VECTOR &y ) \ { \ x.resize( y.size() ); \ } \ }; \ template< class T, class A, typename Range > \ struct resize_impl< THRUST_VECTOR , Range > \ { \ static void resize( THRUST_VECTOR &x , \ const Range &y ) \ { \ x.resize( thrust::distance(boost::begin(y), \ boost::end(y))); \ } \ }; \ #define ODEINT_THRUST_SAME_SIZE_IMPL( THRUST_VECTOR ) \ template< class T , class A > \ struct same_size_impl< THRUST_VECTOR , THRUST_VECTOR > \ { \ static bool same_size( const THRUST_VECTOR &x , \ const THRUST_VECTOR &y ) \ { \ return x.size() == y.size(); \ } \ }; \ template< class T , class A, typename Range > \ struct same_size_impl< THRUST_VECTOR , Range > \ { \ static bool same_size( const THRUST_VECTOR &x , \ const Range &y ) \ { \ return x.size() == thrust::distance(boost::begin(y), \ boost::end(y)); \ } \ }; \ #define ODEINT_THRUST_COPY_IMPL( THRUST_VECTOR ) \ template< class Container1 , class T , class A > \ struct copy_impl< Container1 , THRUST_VECTOR > \ { \ static void copy( const Container1 &from , THRUST_VECTOR &to ) \ { \ thrust::copy( boost::begin( from ) , boost::end( from ) , \ boost::begin( to ) ); \ } \ }; \ \ template< class T , class A , class Container2 > \ struct copy_impl< THRUST_VECTOR , Container2 > \ { \ static void copy( const THRUST_VECTOR &from , Container2 &to ) \ { \ thrust::copy( boost::begin( from ) , boost::end( from ) , \ boost::begin( to ) ); \ } \ }; \ \ template< class T , class A > \ struct copy_impl< THRUST_VECTOR , THRUST_VECTOR > \ { \ static void copy( const THRUST_VECTOR &from , \ THRUST_VECTOR &to ) \ { \ thrust::copy( boost::begin( from ) , boost::end( from ) , \ boost::begin( to ) ); \ } \ }; \ // add support for the standard thrust containers ODEINT_THRUST_VECTOR_IS_RESIZEABLE( thrust::device_vector ) ODEINT_TRHUST_VECTOR_RESIZE_IMPL( thrust::device_vector ) ODEINT_THRUST_SAME_SIZE_IMPL( thrust::device_vector ) ODEINT_THRUST_COPY_IMPL( thrust::device_vector ) ODEINT_THRUST_VECTOR_IS_RESIZEABLE( thrust::host_vector ) ODEINT_TRHUST_VECTOR_RESIZE_IMPL( thrust::host_vector ) ODEINT_THRUST_SAME_SIZE_IMPL( thrust::host_vector ) ODEINT_THRUST_COPY_IMPL( thrust::host_vector ) } // odeint } // numeric } // boost // add support for thrust backend vectors, if available #include #if THRUST_VERSION >= 100600 #include namespace boost { namespace numeric { namespace odeint { ODEINT_THRUST_VECTOR_IS_RESIZEABLE( thrust::cpp::vector ) ODEINT_TRHUST_VECTOR_RESIZE_IMPL( thrust::cpp::vector ) ODEINT_THRUST_SAME_SIZE_IMPL( thrust::cpp::vector ) ODEINT_THRUST_COPY_IMPL( thrust::cpp::vector ) } } } #ifdef _OPENMP #include namespace boost { namespace numeric { namespace odeint { ODEINT_THRUST_VECTOR_IS_RESIZEABLE( thrust::omp::vector ) ODEINT_TRHUST_VECTOR_RESIZE_IMPL( thrust::omp::vector ) ODEINT_THRUST_SAME_SIZE_IMPL( thrust::omp::vector ) ODEINT_THRUST_COPY_IMPL( thrust::omp::vector ) } } } #endif // _OPENMP #ifdef TBB_VERSION_MAJOR #include namespace boost { namespace numeric { namespace odeint { ODEINT_THRUST_VECTOR_IS_RESIZEABLE( thrust::tbb::vector ) ODEINT_TRHUST_VECTOR_RESIZE_IMPL( thrust::tbb::vector ) ODEINT_THRUST_SAME_SIZE_IMPL( thrust::tbb::vector ) ODEINT_THRUST_COPY_IMPL( thrust::tbb::vector ) } } } #endif // TBB_VERSION_MAJOR #ifdef __CUDACC__ #include namespace boost { namespace numeric { namespace odeint { ODEINT_THRUST_VECTOR_IS_RESIZEABLE( thrust::cuda::vector ) ODEINT_TRHUST_VECTOR_RESIZE_IMPL( thrust::cuda::vector ) ODEINT_THRUST_SAME_SIZE_IMPL( thrust::cuda::vector ) ODEINT_THRUST_COPY_IMPL( thrust::cuda::vector ) } } } #endif // __CUDACC__ #endif // THRUST_VERSION >= 100600 #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_THRUST_THRUST_RESIZE_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/vexcl/000077500000000000000000000000001265471724600247175ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/external/vexcl/vexcl.hpp000066400000000000000000000017311265471724600265530ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/vexcl/vexcl.hpp [begin_description] includes all headers required for using vexcl in odeint [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_HPP_DEFINED #include #include #include #include #include #include #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/external/vexcl/vexcl_abs.hpp000066400000000000000000000030471265471724600274020ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/vexcl/vexcl_abs.hpp [begin_description] abs() specialization for vexcl [end_description] Copyright 2009-2013 Karsten Ahnert Copyright 2009-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_ABS_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_ABS_HPP_DEFINED #include #include #include namespace vex { template typename std::enable_if< std::is_integral::value, typename boost::proto::result_of::make_expr< boost::proto::tag::function, abs_func, const vex::multivector& >::type const >::type abs(const multivector &arg) { return boost::proto::make_expr( abs_func(), boost::ref(arg) ); } template typename std::enable_if< !std::is_integral::value, typename boost::proto::result_of::make_expr< boost::proto::tag::function, fabs_func, const vex::multivector& >::type const >::type abs(const multivector &arg) { return boost::proto::make_expr( fabs_func(), boost::ref(arg) ); } } // namespace vex #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_ABS_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/external/vexcl/vexcl_algebra_dispatcher.hpp000066400000000000000000000024311265471724600324340ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/vexcl/vexcl_algebra_dispatcher.hpp [begin_description] algebra_dispatcher specialization for vexcl [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_ALGEBRA_DISPATCHER_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_ALGEBRA_DISPATCHER_HPP_DEFINED #include #include #include #include namespace boost { namespace numeric { namespace odeint { // specialization for vexcl vector template< typename T > struct algebra_dispatcher< vex::vector< T > > { typedef vector_space_algebra algebra_type; }; // specialization for vexcl multivector template< typename T , size_t N > struct algebra_dispatcher< vex::multivector< T , N > > { typedef vector_space_algebra algebra_type; }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_ALGEBRA_DISPATCHER_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/external/vexcl/vexcl_copy.hpp000066400000000000000000000023651265471724600276110ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/vexcl/vexcl_copy.hpp [begin_description] copy_impl specializations for vexcl [end_description] Copyright 2009-2011 Karsten Ahnert Copyright 2009-2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_COPY_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_COPY_HPP_INCLUDED #include #include #include namespace boost { namespace numeric { namespace odeint { template< typename T1, typename T2 > struct copy_impl< vex::vector, vex::vector > { static void copy( const vex::vector &from , vex::vector &to ) { to = from; } }; template< typename T1, typename T2, size_t N > struct copy_impl< vex::multivector, vex::multivector > { static void copy( const vex::multivector &from , vex::multivector &to ) { to = from; } }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_COPY_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/vexcl/vexcl_norm_inf.hpp000066400000000000000000000033251265471724600304430ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/vexcl/vexcl_norm_inf.hpp [begin_description] vector_space_norm_inf specialization for vexcl [end_description] Copyright 2009-2013 Karsten Ahnert Copyright 2009-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_NORM_INF_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_NORM_INF_HPP_DEFINED #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { // specialization for vexcl vector template struct vector_space_norm_inf< vex::vector > { typedef T result_type; T operator()( const vex::vector &x ) const { const auto &max = vex::get_reductor(x.queue_list()); return max( fabs(x) ); } }; // specialization for vexcl multivector template struct vector_space_norm_inf< vex::multivector > { typedef T result_type; T operator()( const vex::multivector &x ) const { const auto &max = vex::get_reductor(x.queue_list()); // Reducing a multivector results in std::array: auto m = max( fabs(x) ); // We will need to reduce it even further: return *std::max_element(m.begin(), m.end()); } }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_NORM_INF_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/external/vexcl/vexcl_resize.hpp000066400000000000000000000043421265471724600301350ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/vexcl/vexcl_resize.hpp [begin_description] Enable resizing for vexcl vector and multivector. [end_description] Copyright 2012 Karsten Ahnert Copyright 2012 Mario Mulansky Copyright 2012 Denis Demidov Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_RESIZE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_RESIZE_HPP_INCLUDED #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { /* * specializations for vex::vector< T > */ template< typename T > struct is_resizeable< vex::vector< T > > : boost::true_type { }; template< typename T > struct resize_impl< vex::vector< T > , vex::vector< T > > { static void resize( vex::vector< T > &x1 , const vex::vector< T > &x2 ) { x1.resize( x2.queue_list() , x2.size() ); } }; template< typename T > struct same_size_impl< vex::vector< T > , vex::vector< T > > { static bool same_size( const vex::vector< T > &x1 , const vex::vector< T > &x2 ) { return x1.size() == x2.size(); } }; /* * specializations for vex::multivector< T > */ template< typename T , size_t N > struct is_resizeable< vex::multivector< T , N > > : boost::true_type { }; template< typename T , size_t N > struct resize_impl< vex::multivector< T , N > , vex::multivector< T , N > > { static void resize( vex::multivector< T , N > &x1 , const vex::multivector< T , N > &x2 ) { x1.resize( x2.queue_list() , x2.size() ); } }; template< typename T , size_t N > struct same_size_impl< vex::multivector< T , N > , vex::multivector< T , N > > { static bool same_size( const vex::multivector< T , N > &x1 , const vex::multivector< T , N > &x2 ) { return x1.size() == x2.size(); } }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_RESIZE_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/vexcl/vexcl_same_instance.hpp000066400000000000000000000030321265471724600314400ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/vexcl/vexcl_same_instance.hpp [begin_description] Check if two VexCL containers are the same instance. [end_description] Copyright 2009-2011 Karsten Ahnert Copyright 2009-2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_SAME_INSTANCE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_SAME_INSTANCE_HPP_INCLUDED #include #include #include namespace boost { namespace numeric { namespace odeint { template struct same_instance_impl< vex::vector , vex::vector > { static bool same_instance( const vex::vector &x1 , const vex::vector &x2 ) { return static_cast*>(&x1) == static_cast*>(&x2); } }; template struct same_instance_impl< vex::multivector , vex::multivector > { static bool same_instance( const vex::multivector &x1 , const vex::multivector &x2 ) { return static_cast*>(&x1) == static_cast*>(&x2); } }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_VEXCL_VEXCL_SAME_INSTANCE_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/viennacl/000077500000000000000000000000001265471724600253755ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/external/viennacl/viennacl_operations.hpp000066400000000000000000000171361265471724600321600ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/viennacl_operations.hpp [begin_description] ViennaCL operations. [end_description] Copyright 2012 Denis Demidov Copyright 2012 Karsten Ahnert Copyright 2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_VIENNACL_VIENNACL_OPERATIONS_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_VIENNACL_VIENNACL_OPERATIONS_HPP_INCLUDED #include #ifdef VIENNACL_WITH_OPENCL # include #endif namespace boost { namespace numeric { namespace odeint { #ifdef VIENNACL_WITH_OPENCL struct viennacl_operations { template< class Fac1 = double , class Fac2 = Fac1 > struct scale_sum2 { const Fac1 m_alpha1; const Fac2 m_alpha2; scale_sum2( Fac1 alpha1 , Fac2 alpha2 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) { } template< class T1 , class T2 , class T3 > void operator()( viennacl::vector &v1 , const viennacl::vector &v2 , const viennacl::vector &v3 ) const { using namespace viennacl; static generator::symbolic_vector <0, T1> sym_v1; static generator::symbolic_vector <1, T2> sym_v2; static generator::symbolic_vector <2, T3> sym_v3; static generator::cpu_symbolic_scalar<3, Fac1> sym_a1; static generator::cpu_symbolic_scalar<4, Fac2> sym_a2; static generator::custom_operation op( sym_v1 = sym_a1 * sym_v2 + sym_a2 * sym_v3, "scale_sum2" ); ocl::enqueue( op(v1, v2, v3, m_alpha1, m_alpha2) ); } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 > struct scale_sum3 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; scale_sum3( Fac1 alpha1 , Fac2 alpha2 , Fac3 alpha3 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) { } template< class T1 , class T2 , class T3 , class T4 > void operator()( viennacl::vector &v1 , const viennacl::vector &v2 , const viennacl::vector &v3 , const viennacl::vector &v4 ) const { using namespace viennacl; static generator::symbolic_vector <0, T1> sym_v1; static generator::symbolic_vector <1, T2> sym_v2; static generator::symbolic_vector <2, T3> sym_v3; static generator::symbolic_vector <3, T4> sym_v4; static generator::cpu_symbolic_scalar<4, Fac1> sym_a1; static generator::cpu_symbolic_scalar<5, Fac2> sym_a2; static generator::cpu_symbolic_scalar<6, Fac3> sym_a3; static generator::custom_operation op( sym_v1 = sym_a1 * sym_v2 + sym_a2 * sym_v3 + sym_a3 * sym_v4, "scale_sum3" ); ocl::enqueue( op(v1, v2, v3, v4, m_alpha1, m_alpha2, m_alpha3) ); } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 > struct scale_sum4 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; scale_sum4( Fac1 alpha1 , Fac2 alpha2 , Fac3 alpha3 , Fac4 alpha4 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) { } template< class T1 , class T2 , class T3 , class T4 , class T5 > void operator()( viennacl::vector &v1 , const viennacl::vector &v2 , const viennacl::vector &v3 , const viennacl::vector &v4 , const viennacl::vector &v5 ) const { using namespace viennacl; static generator::symbolic_vector <0, T1> sym_v1; static generator::symbolic_vector <1, T2> sym_v2; static generator::symbolic_vector <2, T3> sym_v3; static generator::symbolic_vector <3, T4> sym_v4; static generator::symbolic_vector <4, T5> sym_v5; static generator::cpu_symbolic_scalar<5, Fac1> sym_a1; static generator::cpu_symbolic_scalar<6, Fac2> sym_a2; static generator::cpu_symbolic_scalar<7, Fac3> sym_a3; static generator::cpu_symbolic_scalar<8, Fac4> sym_a4; static generator::custom_operation op( sym_v1 = sym_a1 * sym_v2 + sym_a2 * sym_v3 + sym_a3 * sym_v4 + sym_a4 * sym_v5, "scale_sum4" ); ocl::enqueue( op(v1, v2, v3, v4, v5, m_alpha1, m_alpha2, m_alpha3, m_alpha4) ); } typedef void result_type; }; template< class Fac1 = double , class Fac2 = Fac1 , class Fac3 = Fac2 , class Fac4 = Fac3 , class Fac5 = Fac4 > struct scale_sum5 { const Fac1 m_alpha1; const Fac2 m_alpha2; const Fac3 m_alpha3; const Fac4 m_alpha4; const Fac5 m_alpha5; scale_sum5( Fac1 alpha1 , Fac2 alpha2 , Fac3 alpha3 , Fac4 alpha4 , Fac5 alpha5 ) : m_alpha1( alpha1 ) , m_alpha2( alpha2 ) , m_alpha3( alpha3 ) , m_alpha4( alpha4 ) , m_alpha5( alpha5 ) { } template< class T1 , class T2 , class T3 , class T4 , class T5 , class T6 > void operator()( viennacl::vector &v1 , const viennacl::vector &v2 , const viennacl::vector &v3 , const viennacl::vector &v4 , const viennacl::vector &v5 , const viennacl::vector &v6 ) const { using namespace viennacl; static generator::symbolic_vector < 0, T1> sym_v1; static generator::symbolic_vector < 1, T2> sym_v2; static generator::symbolic_vector < 2, T3> sym_v3; static generator::symbolic_vector < 3, T4> sym_v4; static generator::symbolic_vector < 4, T5> sym_v5; static generator::symbolic_vector < 5, T6> sym_v6; static generator::cpu_symbolic_scalar< 6, Fac1> sym_a1; static generator::cpu_symbolic_scalar< 7, Fac2> sym_a2; static generator::cpu_symbolic_scalar< 8, Fac3> sym_a3; static generator::cpu_symbolic_scalar< 9, Fac4> sym_a4; static generator::cpu_symbolic_scalar<10, Fac5> sym_a5; static generator::custom_operation op( sym_v1 = sym_a1 * sym_v2 + sym_a2 * sym_v3 + sym_a3 * sym_v4 + sym_a4 * sym_v5 + sym_a5 * sym_v6, "scale_sum5" ); ocl::enqueue( op(v1, v2, v3, v4, v5, v6, m_alpha1, m_alpha2, m_alpha3, m_alpha4, m_alpha5) ); } typedef void result_type; }; }; #else struct viennacl_operations : public default_operations {}; #endif } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_VIENNACL_VIENNACL_OPERATIONS_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/external/viennacl/viennacl_resize.hpp000066400000000000000000000030621265471724600312670ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/external/viennacl/viennacl_resize.hpp [begin_description] Enable resizing for viennacl vector. [end_description] Copyright 2012 Denis Demidov Copyright 2012 Karsten Ahnert Copyright 2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_EXTERNAL_VIENNACL_VIENNACL_RESIZE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_EXTERNAL_VIENNACL_VIENNACL_RESIZE_HPP_INCLUDED #include #include #include #include namespace boost { namespace numeric { namespace odeint { /* * specializations for viennacl::vector< T > */ template< typename T > struct is_resizeable< viennacl::vector< T > > : boost::true_type { }; template< typename T > struct resize_impl< viennacl::vector< T > , viennacl::vector< T > > { static void resize( viennacl::vector< T > &x1 , const viennacl::vector< T > &x2 ) { x1.resize( x2.size() , false ); } }; template< typename T > struct same_size_impl< viennacl::vector< T > , viennacl::vector< T > > { static bool same_size( const viennacl::vector< T > &x1 , const viennacl::vector< T > &x2 ) { return x1.size() == x2.size(); } }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_EXTERNAL_VIENNACL_VIENNACL_RESIZE_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/integrate/000077500000000000000000000000001265471724600237365ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/integrate/detail/000077500000000000000000000000001265471724600252005ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/integrate/detail/functors.hpp000066400000000000000000000032601265471724600275550ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/integrate/detail/functors.hpp [begin_description] some functors for the iterator based integrate routines [end_description] Copyright 2009-2013 Karsten Ahnert Copyright 2009-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_INTEGRATE_DETAIL_FUNCTORS_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_INTEGRATE_DETAIL_FUNCTORS_HPP_INCLUDED #include namespace boost { namespace numeric { namespace odeint { namespace detail { template< class Observer > struct obs_caller { size_t &m_n; Observer m_obs; obs_caller( size_t &m , Observer &obs ) : m_n(m) , m_obs( obs ) {} template< class State , class Time > void operator()( std::pair< const State & , const Time & > x ) { typedef typename odeint::unwrap_reference< Observer >::type observer_type; observer_type &obs = m_obs; obs( x.first , x.second ); m_n++; } }; template< class Observer , class Time > struct obs_caller_time { Time &m_t; Observer m_obs; obs_caller_time( Time &t , Observer &obs ) : m_t(t) , m_obs( obs ) {} template< class State > void operator()( std::pair< const State & , const Time & > x ) { typedef typename odeint::unwrap_reference< Observer >::type observer_type; observer_type &obs = m_obs; obs( x.first , x.second ); m_t = x.second; } }; } // namespace detail } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_INTEGRATE_DETAIL_FUNCTORS_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp000066400000000000000000000124001265471724600315450ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/integrate/detail/integrate_adaptive.hpp [begin_description] Default Integrate adaptive implementation. [end_description] Copyright 2011-2013 Karsten Ahnert Copyright 2011-2012 Mario Mulansky Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_INTEGRATE_DETAIL_INTEGRATE_ADAPTIVE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_INTEGRATE_DETAIL_INTEGRATE_ADAPTIVE_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { namespace detail { // forward declaration template< class Stepper , class System , class State , class Time , class Observer> size_t integrate_const( Stepper stepper , System system , State &start_state , Time start_time , Time end_time , Time dt , Observer observer , stepper_tag ); /* * integrate_adaptive for simple stepper is basically an integrate_const + some last step */ template< class Stepper , class System , class State , class Time , class Observer > size_t integrate_adaptive( Stepper stepper , System system , State &start_state , Time start_time , Time end_time , Time dt , Observer observer , stepper_tag ) { size_t steps = detail::integrate_const( stepper , system , start_state , start_time , end_time , dt , observer , stepper_tag() ); typename odeint::unwrap_reference< Observer >::type &obs = observer; typename odeint::unwrap_reference< Stepper >::type &st = stepper; Time end = start_time + dt*steps; if( less_with_sign( end , end_time , dt ) ) { //make a last step to end exactly at end_time st.do_step( system , start_state , end , end_time - end ); steps++; obs( start_state , end_time ); } return steps; } /* * classical integrate adaptive */ template< class Stepper , class System , class State , class Time , class Observer > size_t integrate_adaptive( Stepper stepper , System system , State &start_state , Time &start_time , Time end_time , Time &dt , Observer observer , controlled_stepper_tag ) { typename odeint::unwrap_reference< Observer >::type &obs = observer; typename odeint::unwrap_reference< Stepper >::type &st = stepper; const size_t max_attempts = 1000; const char *error_string = "Integrate adaptive : Maximal number of iterations reached. A step size could not be found."; size_t count = 0; while( less_with_sign( start_time , end_time , dt ) ) { obs( start_state , start_time ); if( less_with_sign( end_time , static_casten.wikipedia.org/wiki/Linear_multistep_method. * Currently, a maximum of Steps=8 is supported. * The method is explicit and fulfills the Stepper concept. Step size control * or continuous output are not provided. * * This class derives from algebra_base and inherits its interface via * CRTP (current recurring template pattern). For more details see * algebra_stepper_base. * * \tparam Steps The number of steps (maximal 8). * \tparam State The state type. * \tparam Value The value type. * \tparam Deriv The type representing the time derivative of the state. * \tparam Time The time representing the independent variable - the time. * \tparam Algebra The algebra type. * \tparam Operations The operations type. * \tparam Resizer The resizer policy type. * \tparam InitializingStepper The stepper for the first two steps. */ /** * \fn adams_bashforth::adams_bashforth( const algebra_type &algebra ) * \brief Constructs the adams_bashforth class. This constructor can be used as a default * constructor if the algebra has a default constructor. * \param algebra A copy of algebra is made and stored. */ /** * \fn order_type adams_bashforth::order( void ) const * \brief Returns the order of the algorithm, which is equal to the number of steps. * \return order of the method. */ /** * \fn void adams_bashforth::do_step( System system , StateInOut &x , time_type t , time_type dt ) * \brief This method performs one step. It transforms the result in-place. * * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. * \param t The value of the time, at which the step should be performed. * \param dt The step size. */ /** * \fn void adams_bashforth::do_step( System system , const StateIn &in , time_type t , StateOut &out , time_type dt ) * \brief The method performs one step with the stepper passed by Stepper. The state of the ODE is updated out-of-place. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. */ /** * \fn void adams_bashforth::adjust_size( const StateType &x ) * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ /** * \fn const step_storage_type& adams_bashforth::step_storage( void ) const * \brief Returns the storage of intermediate results. * \return The storage of intermediate results. */ /** * \fn step_storage_type& adams_bashforth::step_storage( void ) * \brief Returns the storage of intermediate results. * \return The storage of intermediate results. */ /** * \fn void adams_bashforth::initialize( ExplicitStepper explicit_stepper , System system , StateIn &x , time_type &t , time_type dt ) * \brief Initialized the stepper. Does Steps-1 steps with the explicit_stepper to fill the buffer. * \param explicit_stepper the stepper used to fill the buffer of previous step results * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. * \param t The value of the time, at which the step should be performed. * \param dt The step size. */ /** * \fn void adams_bashforth::initialize( System system , StateIn &x , time_type &t , time_type dt ) * \brief Initialized the stepper. Does Steps-1 steps with an internal instance of InitializingStepper to fill the buffer. * \note The state x and time t are updated to the values after Steps-1 initial steps. * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the * Simple System concept. * \param x The initial state of the ODE which should be solved, updated in this method. * \param t The initial value of the time, updated in this method. * \param dt The step size. */ /** * \fn void adams_bashforth::reset( void ) * \brief Resets the internal buffer of the stepper. */ /** * \fn bool adams_bashforth::is_initialized( void ) const * \brief Returns true if the stepper has been initialized. * \return bool true if stepper is initialized, false otherwise */ /** * \fn const initializing_stepper_type& adams_bashforth::initializing_stepper( void ) const * \brief Returns the internal initializing stepper instance. * \return initializing_stepper */ /** * \fn const initializing_stepper_type& adams_bashforth::initializing_stepper( void ) const * \brief Returns the internal initializing stepper instance. * \return initializing_stepper */ /** * \fn initializing_stepper_type& adams_bashforth::initializing_stepper( void ) * \brief Returns the internal initializing stepper instance. * \return initializing_stepper */ } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_ADAMS_BASHFORTH_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp000066400000000000000000000270511265471724600310560ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp [begin_description] Implementation of the Adams-Bashforth-Moulton method, a predictor-corrector multistep method. [end_description] Copyright 2011-2013 Karsten Ahnert Copyright 2011-2013 Mario Mulansky Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_ADAMS_BASHFORTH_MOULTON_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_ADAMS_BASHFORTH_MOULTON_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< size_t Steps , class State , class Value = double , class Deriv = State , class Time = Value , class Algebra = typename algebra_dispatcher< State >::algebra_type , class Operations = typename operations_dispatcher< State >::operations_type , class Resizer = initially_resizer, class InitializingStepper = runge_kutta4< State , Value , Deriv , Time , Algebra , Operations, Resizer > > class adams_bashforth_moulton { #ifndef DOXYGEN_SKIP BOOST_STATIC_ASSERT(( Steps > 0 )); BOOST_STATIC_ASSERT(( Steps < 9 )); #endif public : typedef State state_type; typedef state_wrapper< state_type > wrapped_state_type; typedef Value value_type; typedef Deriv deriv_type; typedef state_wrapper< deriv_type > wrapped_deriv_type; typedef Time time_type; typedef Algebra algebra_type; typedef Operations operations_type; typedef Resizer resizer_type; typedef stepper_tag stepper_category; typedef InitializingStepper initializing_stepper_type; static const size_t steps = Steps; #ifndef DOXYGEN_SKIP typedef adams_bashforth< steps , state_type , value_type , deriv_type , time_type , algebra_type , operations_type , resizer_type, initializing_stepper_type > adams_bashforth_type; typedef adams_moulton< steps , state_type , value_type , deriv_type , time_type , algebra_type , operations_type , resizer_type > adams_moulton_type; typedef adams_bashforth_moulton< steps , state_type , value_type , deriv_type , time_type , algebra_type , operations_type , resizer_type , initializing_stepper_type> stepper_type; #endif //DOXYGEN_SKIP typedef unsigned short order_type; static const order_type order_value = steps; /** \brief Constructs the adams_bashforth class. */ adams_bashforth_moulton( void ) : m_adams_bashforth() , m_adams_moulton( m_adams_bashforth.algebra() ) , m_x() , m_resizer() { } adams_bashforth_moulton( const algebra_type &algebra ) : m_adams_bashforth( algebra ) , m_adams_moulton( m_adams_bashforth.algebra() ) , m_x() , m_resizer() { } order_type order( void ) const { return order_value; } template< class System , class StateInOut > void do_step( System system , StateInOut &x , time_type t , time_type dt ) { do_step_impl1( system , x , t , dt ); } /** * \brief Second version to solve the forwarding problem, can be called with Boost.Range as StateInOut. */ template< class System , class StateInOut > void do_step( System system , const StateInOut &x , time_type t , time_type dt ) { do_step_impl1( system , x , t , dt ); } template< class System , class StateIn , class StateOut > void do_step( System system , const StateIn &in , time_type t , const StateOut &out , time_type dt ) { do_step_impl2( system , in , t , out , dt ); } /** * \brief Second version to solve the forwarding problem, can be called with Boost.Range as StateOut. */ template< class System , class StateIn , class StateOut > void do_step( System system , const StateIn &in , time_type t , StateOut &out , time_type dt ) { do_step_impl2( system , in ,t , out , dt ); } template< class StateType > void adjust_size( const StateType &x ) { m_adams_bashforth.adjust_size( x ); m_adams_moulton.adjust_size( x ); resize_impl( x ); } template< class ExplicitStepper , class System , class StateIn > void initialize( ExplicitStepper explicit_stepper , System system , StateIn &x , time_type &t , time_type dt ) { m_adams_bashforth.initialize( explicit_stepper , system , x , t , dt ); } template< class System , class StateIn > void initialize( System system , StateIn &x , time_type &t , time_type dt ) { m_adams_bashforth.initialize( system , x , t , dt ); } private: template< typename System , typename StateInOut > void do_step_impl1( System system , StateInOut &x , time_type t , time_type dt ) { if( m_adams_bashforth.is_initialized() ) { m_resizer.adjust_size( x , detail::bind( &stepper_type::template resize_impl< StateInOut > , detail::ref( *this ) , detail::_1 ) ); m_adams_bashforth.do_step( system , x , t , m_x.m_v , dt ); m_adams_moulton.do_step( system , x , m_x.m_v , t+dt , x , dt , m_adams_bashforth.step_storage() ); } else { m_adams_bashforth.do_step( system , x , t , dt ); } } template< typename System , typename StateIn , typename StateInOut > void do_step_impl2( System system , StateIn const &in , time_type t , StateInOut & out , time_type dt ) { if( m_adams_bashforth.is_initialized() ) { m_resizer.adjust_size( in , detail::bind( &stepper_type::template resize_impl< StateInOut > , detail::ref( *this ) , detail::_1 ) ); m_adams_bashforth.do_step( system , in , t , m_x.m_v , dt ); m_adams_moulton.do_step( system , in , m_x.m_v , t , out , dt , m_adams_bashforth.step_storage() ); } else { m_adams_bashforth.do_step( system , in , t , out , dt ); } } template< class StateIn > bool resize_impl( const StateIn &x ) { return adjust_size_by_resizeability( m_x , x , typename is_resizeable< state_type >::type() ); } adams_bashforth_type m_adams_bashforth; adams_moulton_type m_adams_moulton; wrapped_state_type m_x; resizer_type m_resizer; }; /********* DOXYGEN ********/ /** * \class adams_bashforth_moulton * \brief The Adams-Bashforth-Moulton multistep algorithm. * * The Adams-Bashforth method is a multi-step predictor-corrector algorithm * with configurable step number. The step number is specified as template * parameter Steps and it then uses the result from the previous Steps steps. * See also * en.wikipedia.org/wiki/Linear_multistep_method. * Currently, a maximum of Steps=8 is supported. * The method is explicit and fulfills the Stepper concept. Step size control * or continuous output are not provided. * * This class derives from algebra_base and inherits its interface via * CRTP (current recurring template pattern). For more details see * algebra_stepper_base. * * \tparam Steps The number of steps (maximal 8). * \tparam State The state type. * \tparam Value The value type. * \tparam Deriv The type representing the time derivative of the state. * \tparam Time The time representing the independent variable - the time. * \tparam Algebra The algebra type. * \tparam Operations The operations type. * \tparam Resizer The resizer policy type. * \tparam InitializingStepper The stepper for the first two steps. */ /** * \fn adams_bashforth_moulton::adams_bashforth_moulton( const algebra_type &algebra ) * \brief Constructs the adams_bashforth class. This constructor can be used as a default * constructor if the algebra has a default constructor. * \param algebra A copy of algebra is made and stored. */ /** * \fn adams_bashforth_moulton::order( void ) const * \brief Returns the order of the algorithm, which is equal to the number of steps+1. * \return order of the method. */ /** * \fn adams_bashforth_moulton::do_step( System system , StateInOut &x , time_type t , time_type dt ) * \brief This method performs one step. It transforms the result in-place. * * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. * \param t The value of the time, at which the step should be performed. * \param dt The step size. */ /** * \fn adams_bashforth_moulton::do_step( System system , const StateIn &in , time_type t , const StateOut &out , time_type dt ) * \brief The method performs one step with the stepper passed by Stepper. The state of the ODE is updated out-of-place. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. */ /** * \fn adams_bashforth_moulton::adjust_size( const StateType &x ) * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ /** * \fn adams_bashforth_moulton::initialize( ExplicitStepper explicit_stepper , System system , StateIn &x , time_type &t , time_type dt ) * \brief Initialized the stepper. Does Steps-1 steps with the explicit_stepper to fill the buffer. * \note The state x and time t are updated to the values after Steps-1 initial steps. * \param explicit_stepper the stepper used to fill the buffer of previous step results * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the * Simple System concept. * \param x The initial state of the ODE which should be solved, updated after in this method. * \param t The initial time, updated in this method. * \param dt The step size. */ /** * \fn adams_bashforth_moulton::initialize( System system , StateIn &x , time_type &t , time_type dt ) * \brief Initialized the stepper. Does Steps-1 steps using the standard initializing stepper * of the underlying adams_bashforth stepper. * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. * \param t The value of the time, at which the step should be performed. * \param dt The step size. */ } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_ADAMS_BASHFORTH_MOULTON_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/adams_moulton.hpp000066400000000000000000000137401265471724600270160ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/adams_moulton.hpp [begin_description] Implementation of the Adams-Moulton method. This is method is not a real stepper, it is more a helper class which computes the corrector step in the Adams-Bashforth-Moulton method. [end_description] Copyright 2011-2012 Karsten Ahnert Copyright 2011-2013 Mario Mulansky Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_ADAMS_MOULTON_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_ADAMS_MOULTON_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { /* * Static implicit Adams-Moulton multistep-solver without step size control and without dense output. */ template< size_t Steps , class State , class Value = double , class Deriv = State , class Time = Value , class Algebra = typename algebra_dispatcher< State >::algebra_type , class Operations = typename operations_dispatcher< State >::operations_type , class Resizer = initially_resizer > class adams_moulton { private: public : typedef State state_type; typedef state_wrapper< state_type > wrapped_state_type; typedef Value value_type; typedef Deriv deriv_type; typedef state_wrapper< deriv_type > wrapped_deriv_type; typedef Time time_type; typedef Algebra algebra_type; typedef Operations operations_type; typedef Resizer resizer_type; typedef stepper_tag stepper_category; typedef adams_moulton< Steps , State , Value , Deriv , Time , Algebra , Operations , Resizer > stepper_type; static const size_t steps = Steps; typedef unsigned short order_type; static const order_type order_value = steps + 1; typedef detail::rotating_buffer< wrapped_deriv_type , steps > step_storage_type; adams_moulton( ) : m_coefficients() , m_dxdt() , m_resizer() , m_algebra_instance() , m_algebra( m_algebra_instance ) { } adams_moulton( algebra_type &algebra ) : m_coefficients() , m_dxdt() , m_resizer() , m_algebra_instance() , m_algebra( algebra ) { } adams_moulton& operator=( const adams_moulton &stepper ) { m_dxdt = stepper.m_dxdt; m_resizer = stepper.m_resizer; m_algebra = stepper.m_algebra; return *this; } order_type order( void ) const { return order_value; } /* * Version 1 : do_step( system , x , t , dt , buf ); * * solves the forwarding problem */ template< class System , class StateInOut , class StateIn , class ABBuf > void do_step( System system , StateInOut &x , StateIn const & pred , time_type t , time_type dt , const ABBuf &buf ) { do_step( system , x , pred , t , x , dt , buf ); } template< class System , class StateInOut , class StateIn , class ABBuf > void do_step( System system , const StateInOut &x , StateIn const & pred , time_type t , time_type dt , const ABBuf &buf ) { do_step( system , x , pred , t , x , dt , buf ); } /* * Version 2 : do_step( system , in , t , out , dt , buf ); * * solves the forwarding problem */ template< class System , class StateIn , class PredIn , class StateOut , class ABBuf > void do_step( System system , const StateIn &in , const PredIn &pred , time_type t , StateOut &out , time_type dt , const ABBuf &buf ) { do_step_impl( system , in , pred , t , out , dt , buf ); } template< class System , class StateIn , class PredIn , class StateOut , class ABBuf > void do_step( System system , const StateIn &in , const PredIn &pred , time_type t , const StateOut &out , time_type dt , const ABBuf &buf ) { do_step_impl( system , in , pred , t , out , dt , buf ); } template< class StateType > void adjust_size( const StateType &x ) { resize_impl( x ); } algebra_type& algebra() { return m_algebra; } const algebra_type& algebra() const { return m_algebra; } private: template< class System , class StateIn , class PredIn , class StateOut , class ABBuf > void do_step_impl( System system , const StateIn &in , const PredIn &pred , time_type t , StateOut &out , time_type dt , const ABBuf &buf ) { typename odeint::unwrap_reference< System >::type &sys = system; m_resizer.adjust_size( in , detail::bind( &stepper_type::template resize_impl , detail::ref( *this ) , detail::_1 ) ); sys( pred , m_dxdt.m_v , t ); detail::adams_moulton_call_algebra< steps , algebra_type , operations_type >()( m_algebra , in , out , m_dxdt.m_v , buf , m_coefficients , dt ); } template< class StateIn > bool resize_impl( const StateIn &x ) { return adjust_size_by_resizeability( m_dxdt , x , typename is_resizeable::type() ); } const detail::adams_moulton_coefficients< value_type , steps > m_coefficients; wrapped_deriv_type m_dxdt; resizer_type m_resizer; protected: algebra_type m_algebra_instance; algebra_type &m_algebra; }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_ADAMS_MOULTON_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/base/000077500000000000000000000000001265471724600243505ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/stepper/base/algebra_stepper_base.hpp000066400000000000000000000047261265471724600312230ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/base/algebra_stepper_base.hpp [begin_description] Base class for all steppers with an algebra and operations. [end_description] Copyright 2012-2013 Karsten Ahnert Copyright 2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_BASE_ALGEBRA_STEPPER_BASE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_BASE_ALGEBRA_STEPPER_BASE_HPP_INCLUDED namespace boost { namespace numeric { namespace odeint { template< class Algebra , class Operations > class algebra_stepper_base { public: typedef Algebra algebra_type; typedef Operations operations_type; algebra_stepper_base( const algebra_type &algebra = algebra_type() ) : m_algebra( algebra ) { } algebra_type& algebra() { return m_algebra; } const algebra_type& algebra() const { return m_algebra; } protected: algebra_type m_algebra; }; /******* DOXYGEN *******/ /** * \class algebra_stepper_base * \brief Base class for all steppers with algebra and operations. * * This class serves a base class for all steppers with algebra and operations. It holds the * algebra and provides access to the algebra. The operations are not instantiated, since they are * static classes inside the operations class. * * \tparam Algebra The type of the algebra. Must fulfill the Algebra Concept, at least partially to work * with the stepper. * \tparam Operations The type of the operations. Must fulfill the Operations Concept, at least partially * to work with the stepper. */ /** * \fn algebra_stepper_base::algebra_stepper_base( const algebra_type &algebra = algebra_type() ) * \brief Constructs a algebra_stepper_base and creates the algebra. This constructor can be used as a default * constructor if the algebra has a default constructor. * \param algebra The algebra_stepper_base stores and uses a copy of algebra. */ /** * \fn algebra_type& algebra_stepper_base::algebra() * \return A reference to the algebra which is held by this class. */ /** * \fn const algebra_type& algebra_stepper_base::algebra() const * \return A const reference to the algebra which is held by this class. */ } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_BASE_ALGEBRA_STEPPER_BASE_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/base/explicit_error_stepper_base.hpp000066400000000000000000000615141265471724600326560ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/base/explicit_error_stepper_base.hpp [begin_description] Base class for all explicit Runge Kutta stepper which are also error steppers. [end_description] Copyright 2010-2013 Karsten Ahnert Copyright 2010-2012 Mario Mulansky Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_BASE_EXPLICIT_ERROR_STEPPER_BASE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_BASE_EXPLICIT_ERROR_STEPPER_BASE_HPP_INCLUDED #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { /* * base class for explicit stepper and error steppers * models the stepper AND the error stepper concept * * this class provides the following do_step variants: * do_step( sys , x , t , dt ) * do_step( sys , x , dxdt , t , dt ) * do_step( sys , in , t , out , dt ) * do_step( sys , in , dxdt , t , out , dt ) * do_step( sys , x , t , dt , xerr ) * do_step( sys , x , dxdt , t , dt , xerr ) * do_step( sys , in , t , out , dt , xerr ) * do_step( sys , in , dxdt , t , out , dt , xerr ) */ template< class Stepper , unsigned short Order , unsigned short StepperOrder , unsigned short ErrorOrder , class State , class Value , class Deriv , class Time , class Algebra , class Operations , class Resizer > class explicit_error_stepper_base : public algebra_stepper_base< Algebra , Operations > { public: typedef algebra_stepper_base< Algebra , Operations > algebra_stepper_base_type; typedef typename algebra_stepper_base_type::algebra_type algebra_type; typedef State state_type; typedef Value value_type; typedef Deriv deriv_type; typedef Time time_type; typedef Resizer resizer_type; typedef Stepper stepper_type; typedef explicit_error_stepper_tag stepper_category; #ifndef DOXYGEN_SKIP typedef state_wrapper< state_type > wrapped_state_type; typedef state_wrapper< deriv_type > wrapped_deriv_type; typedef explicit_error_stepper_base< Stepper , Order , StepperOrder , ErrorOrder , State , Value , Deriv , Time , Algebra , Operations , Resizer > internal_stepper_base_type; #endif typedef unsigned short order_type; static const order_type order_value = Order; static const order_type stepper_order_value = StepperOrder; static const order_type error_order_value = ErrorOrder; explicit_error_stepper_base( const algebra_type &algebra = algebra_type() ) : algebra_stepper_base_type( algebra ) { } order_type order( void ) const { return order_value; } order_type stepper_order( void ) const { return stepper_order_value; } order_type error_order( void ) const { return error_order_value; } /* * Version 1 : do_step( sys , x , t , dt ) * * the two overloads are needed in order to solve the forwarding problem */ template< class System , class StateInOut > void do_step( System system , StateInOut &x , time_type t , time_type dt ) { do_step_v1( system , x , t , dt ); } /** * \brief Second version to solve the forwarding problem, can be called with Boost.Range as StateInOut. */ template< class System , class StateInOut > void do_step( System system , const StateInOut &x , time_type t , time_type dt ) { do_step_v1( system , x , t , dt ); } /* * Version 2 : do_step( sys , x , dxdt , t , dt ) * * this version does not solve the forwarding problem, boost.range can not be used * * the disable is needed to avoid ambiguous overloads if state_type = time_type */ template< class System , class StateInOut , class DerivIn > typename boost::disable_if< boost::is_same< DerivIn , time_type > , void >::type do_step( System system , StateInOut &x , const DerivIn &dxdt , time_type t , time_type dt ) { this->stepper().do_step_impl( system , x , dxdt , t , x , dt ); } /* * named Version 2: do_step_dxdt_impl( sys , in , dxdt , t , dt ) * * this version is needed when this stepper is used for initializing * multistep stepper like adams-bashforth. Hence we provide an explicitely * named version that is not disabled. Meant for internal use only. */ template < class System, class StateInOut, class DerivIn > void do_step_dxdt_impl( System system, StateInOut &x, const DerivIn &dxdt, time_type t, time_type dt ) { this->stepper().do_step_impl( system , x , dxdt , t , x , dt ); } /* * Version 3 : do_step( sys , in , t , out , dt ) * * this version does not solve the forwarding problem, boost.range can not be used * * the disable is needed to avoid ambiguous overloads if state_type = time_type */ template< class System , class StateIn , class StateOut > typename boost::disable_if< boost::is_same< StateIn , time_type > , void >::type do_step( System system , const StateIn &in , time_type t , StateOut &out , time_type dt ) { typename odeint::unwrap_reference< System >::type &sys = system; m_resizer.adjust_size( in , detail::bind( &internal_stepper_base_type::template resize_impl , detail::ref( *this ) , detail::_1 ) ); sys( in , m_dxdt.m_v ,t ); this->stepper().do_step_impl( system , in , m_dxdt.m_v , t , out , dt ); } /* * Version 4 :do_step( sys , in , dxdt , t , out , dt ) * * this version does not solve the forwarding problem, boost.range can not be used * * the disable is needed to avoid ambiguous overloads if state_type = time_type */ template< class System , class StateIn , class DerivIn , class StateOut > typename boost::disable_if< boost::is_same< DerivIn , time_type > , void >::type do_step( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt ) { this->stepper().do_step_impl( system , in , dxdt , t , out , dt ); } /* * named Version 4: do_step_dxdt_impl( sys , in , dxdt , t , out, dt ) * * this version is needed when this stepper is used for initializing * multistep stepper like adams-bashforth. Hence we provide an explicitely * named version that is not disabled. Meant for internal use only. */ template < class System, class StateIn, class DerivIn, class StateOut > void do_step_dxdt_impl( System system, const StateIn &in, const DerivIn &dxdt, time_type t, StateOut &out, time_type dt ) { this->stepper().do_step_impl( system , in , dxdt , t , out , dt ); } /* * Version 5 :do_step( sys , x , t , dt , xerr ) * * the two overloads are needed in order to solve the forwarding problem */ template< class System , class StateInOut , class Err > void do_step( System system , StateInOut &x , time_type t , time_type dt , Err &xerr ) { do_step_v5( system , x , t , dt , xerr ); } /** * \brief Second version to solve the forwarding problem, can be called with Boost.Range as StateInOut. */ template< class System , class StateInOut , class Err > void do_step( System system , const StateInOut &x , time_type t , time_type dt , Err &xerr ) { do_step_v5( system , x , t , dt , xerr ); } /* * Version 6 :do_step( sys , x , dxdt , t , dt , xerr ) * * this version does not solve the forwarding problem, boost.range can not be used * * the disable is needed to avoid ambiguous overloads if state_type = time_type */ template< class System , class StateInOut , class DerivIn , class Err > typename boost::disable_if< boost::is_same< DerivIn , time_type > , void >::type do_step( System system , StateInOut &x , const DerivIn &dxdt , time_type t , time_type dt , Err &xerr ) { this->stepper().do_step_impl( system , x , dxdt , t , x , dt , xerr ); } /* * Version 7 : do_step( sys , in , t , out , dt , xerr ) * * this version does not solve the forwarding problem, boost.range can not be used */ template< class System , class StateIn , class StateOut , class Err > void do_step( System system , const StateIn &in , time_type t , StateOut &out , time_type dt , Err &xerr ) { typename odeint::unwrap_reference< System >::type &sys = system; m_resizer.adjust_size( in , detail::bind( &internal_stepper_base_type::template resize_impl , detail::ref( *this ) , detail::_1 ) ); sys( in , m_dxdt.m_v ,t ); this->stepper().do_step_impl( system , in , m_dxdt.m_v , t , out , dt , xerr ); } /* * Version 8 : do_step( sys , in , dxdt , t , out , dt , xerr ) * * this version does not solve the forwarding problem, boost.range can not be used */ template< class System , class StateIn , class DerivIn , class StateOut , class Err > void do_step( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt , Err &xerr ) { this->stepper().do_step_impl( system , in , dxdt , t , out , dt , xerr ); } template< class StateIn > void adjust_size( const StateIn &x ) { resize_impl( x ); } private: template< class System , class StateInOut > void do_step_v1( System system , StateInOut &x , time_type t , time_type dt ) { typename odeint::unwrap_reference< System >::type &sys = system; m_resizer.adjust_size( x , detail::bind( &internal_stepper_base_type::template resize_impl , detail::ref( *this ) , detail::_1 ) ); sys( x , m_dxdt.m_v , t ); this->stepper().do_step_impl( system , x , m_dxdt.m_v , t , x , dt ); } template< class System , class StateInOut , class Err > void do_step_v5( System system , StateInOut &x , time_type t , time_type dt , Err &xerr ) { typename odeint::unwrap_reference< System >::type &sys = system; m_resizer.adjust_size( x , detail::bind( &internal_stepper_base_type::template resize_impl , detail::ref( *this ) , detail::_1 ) ); sys( x , m_dxdt.m_v ,t ); this->stepper().do_step_impl( system , x , m_dxdt.m_v , t , x , dt , xerr ); } template< class StateIn > bool resize_impl( const StateIn &x ) { return adjust_size_by_resizeability( m_dxdt , x , typename is_resizeable::type() ); } stepper_type& stepper( void ) { return *static_cast< stepper_type* >( this ); } const stepper_type& stepper( void ) const { return *static_cast< const stepper_type* >( this ); } resizer_type m_resizer; protected: wrapped_deriv_type m_dxdt; }; /******** DOXYGEN *******/ /** * \class explicit_error_stepper_base * \brief Base class for explicit steppers with error estimation. This class can used with * controlled steppers for step size control. * * This class serves as the base class for all explicit steppers with algebra and operations. In contrast to * explicit_stepper_base it also estimates the error and can be used in a controlled stepper to provide * step size control. * * \note This stepper provides `do_step` methods with and without error estimation. It has therefore three orders, * one for the order of a step if the error is not estimated. The other two orders are the orders of the step and * the error step if the error estimation is performed. * * explicit_error_stepper_base is used as the interface in a CRTP (currently recurring template * pattern). In order to work correctly the parent class needs to have a method * `do_step_impl( system , in , dxdt_in , t , out , dt , xerr )`. * explicit_error_stepper_base derives from algebra_stepper_base. * * explicit_error_stepper_base provides several overloaded `do_step` methods, see the list below. Only two of them * are needed to fulfill the Error Stepper concept. The other ones are for convenience and for performance. Some * of them simply update the state out-of-place, while other expect that the first derivative at `t` is passed to the * stepper. * * - `do_step( sys , x , t , dt )` - The classical `do_step` method needed to fulfill the Error Stepper concept. The * state is updated in-place. A type modelling a Boost.Range can be used for x. * - `do_step( sys , x , dxdt , t , dt )` - This method updates the state in-place, but the derivative at the point `t` * must be explicitly passed in `dxdt`. * - `do_step( sys , in , t , out , dt )` - This method updates the state out-of-place, hence the result of the step * is stored in `out`. * - `do_step( sys , in , dxdt , t , out , dt )` - This method update the state out-of-place and expects that the * derivative at the point `t` is explicitly passed in `dxdt`. It is a combination of the two `do_step` methods * above. * - `do_step( sys , x , t , dt , xerr )` - This `do_step` method is needed to fulfill the Error Stepper concept. The * state is updated in-place and an error estimate is calculated. A type modelling a Boost.Range can be used for x. * - `do_step( sys , x , dxdt , t , dt , xerr )` - This method updates the state in-place, but the derivative at the * point `t` must be passed in `dxdt`. An error estimate is calculated. * - `do_step( sys , in , t , out , dt , xerr )` - This method updates the state out-of-place and estimates the error * during the step. * - `do_step( sys , in , dxdt , t , out , dt , xerr )` - This methods updates the state out-of-place and estimates * the error during the step. Furthermore, the derivative at `t` must be passed in `dxdt`. * * \note The system is always passed as value, which might result in poor performance if it contains data. In this * case it can be used with `boost::ref` or `std::ref`, for example `stepper.do_step( boost::ref( sys ) , x , t , dt );` * * \note The time `t` is not advanced by the stepper. This has to done manually, or by the appropriate `integrate` * routines or `iterator`s. * * \tparam Stepper The stepper on which this class should work. It is used via CRTP, hence explicit_stepper_base * provides the interface for the Stepper. * \tparam Order The order of a stepper if the stepper is used without error estimation. * \tparam StepperOrder The order of a step if the stepper is used with error estimation. Usually Order and StepperOrder have * the same value. * \tparam ErrorOrder The order of the error step if the stepper is used with error estimation. * \tparam State The state type for the stepper. * \tparam Value The value type for the stepper. This should be a floating point type, like float, * double, or a multiprecision type. It must not necessary be the value_type of the State. For example * the State can be a `vector< complex< double > >` in this case the Value must be double. * The default value is double. * \tparam Deriv The type representing time derivatives of the state type. It is usually the same type as the * state type, only if used with Boost.Units both types differ. * \tparam Time The type representing the time. Usually the same type as the value type. When Boost.Units is * used, this type has usually a unit. * \tparam Algebra The algebra type which must fulfill the Algebra Concept. * \tparam Operations The type for the operations which must fulfill the Operations Concept. * \tparam Resizer The resizer policy class. */ /** * \fn explicit_error_stepper_base::explicit_error_stepper_base( const algebra_type &algebra = algebra_type() ) * * \brief Constructs a explicit_error_stepper_base class. This constructor can be used as a default * constructor if the algebra has a default constructor. * \param algebra A copy of algebra is made and stored inside explicit_stepper_base. */ /** * \fn explicit_error_stepper_base::order( void ) const * \return Returns the order of the stepper if it used without error estimation. */ /** * \fn explicit_error_stepper_base::stepper_order( void ) const * \return Returns the order of a step if the stepper is used without error estimation. */ /** * \fn explicit_error_stepper_base::error_order( void ) const * \return Returns the order of an error step if the stepper is used without error estimation. */ /** * \fn explicit_error_stepper_base::do_step( System system , StateInOut &x , time_type t , time_type dt ) * \brief This method performs one step. It transforms the result in-place. * * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. * \param t The value of the time, at which the step should be performed. * \param dt The step size. */ /** * \fn explicit_error_stepper_base::do_step( System system , StateInOut &x , const DerivIn &dxdt , time_type t , time_type dt ) * \brief The method performs one step with the stepper passed by Stepper. Additionally to the other method * the derivative of x is also passed to this method. It is supposed to be used in the following way: * * \code * sys( x , dxdt , t ); * stepper.do_step( sys , x , dxdt , t , dt ); * \endcode * * The result is updated in place in x. This method is disabled if Time and Deriv are of the same type. In this * case the method could not be distinguished from other `do_step` versions. * * \note This method does not solve the forwarding problem. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. * \param dxdt The derivative of x at t. * \param t The value of the time, at which the step should be performed. * \param dt The step size. */ /** * \fn explicit_error_stepper_base::do_step( System system , const StateIn &in , time_type t , StateOut &out , time_type dt ) * \brief The method performs one step with the stepper passed by Stepper. The state of the ODE is updated out-of-place. * This method is disabled if StateIn and Time are the same type. In this case the method can not be distinguished from * other `do_step` variants. * \note This method does not solve the forwarding problem. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. */ /** * \fn explicit_error_stepper_base::do_step( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt ) * \brief The method performs one step with the stepper passed by Stepper. The state of the ODE is updated out-of-place. * Furthermore, the derivative of x at t is passed to the stepper. It is supposed to be used in the following way: * * \code * sys( in , dxdt , t ); * stepper.do_step( sys , in , dxdt , t , out , dt ); * \endcode * * This method is disabled if DerivIn and Time are of same type. * * \note This method does not solve the forwarding problem. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param dxdt The derivative of x at t. * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. */ /** * \fn explicit_error_stepper_base::do_step( System system , StateInOut &x , time_type t , time_type dt , Err &xerr ) * \brief The method performs one step with the stepper passed by Stepper and estimates the error. The state of the ODE * is updated in-place. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. x is updated by this method. * \param t The value of the time, at which the step should be performed. * \param dt The step size. * \param xerr The estimation of the error is stored in xerr. */ /** * \fn explicit_error_stepper_base::do_step( System system , StateInOut &x , const DerivIn &dxdt , time_type t , time_type dt , Err &xerr ) * \brief The method performs one step with the stepper passed by Stepper. Additionally to the other method * the derivative of x is also passed to this method. It is supposed to be used in the following way: * * \code * sys( x , dxdt , t ); * stepper.do_step( sys , x , dxdt , t , dt , xerr ); * \endcode * * The result is updated in place in x. This method is disabled if Time and DerivIn are of the same type. In this * case the method could not be distinguished from other `do_step` versions. * * \note This method does not solve the forwarding problem. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. * \param dxdt The derivative of x at t. * \param t The value of the time, at which the step should be performed. * \param dt The step size. * \param xerr The error estimate is stored in xerr. */ /** * \fn explicit_error_stepper_base::do_step( System system , const StateIn &in , time_type t , StateOut &out , time_type dt , Err &xerr ) * \brief The method performs one step with the stepper passed by Stepper. The state of the ODE is updated out-of-place. * Furthermore, the error is estimated. * * \note This method does not solve the forwarding problem. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. * \param xerr The error estimate. */ /** * \fn explicit_error_stepper_base::do_step( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt , Err &xerr ) * \brief The method performs one step with the stepper passed by Stepper. The state of the ODE is updated out-of-place. * Furthermore, the derivative of x at t is passed to the stepper and the error is estimated. It is supposed to be used in the following way: * * \code * sys( in , dxdt , t ); * stepper.do_step( sys , in , dxdt , t , out , dt ); * \endcode * * This method is disabled if DerivIn and Time are of same type. * * \note This method does not solve the forwarding problem. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param dxdt The derivative of x at t. * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. * \param xerr The error estimate. */ /** * \fn explicit_error_stepper_base::adjust_size( const StateIn &x ) * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_BASE_EXPLICIT_ERROR_STEPPER_BASE_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/base/explicit_error_stepper_fsal_base.hpp000066400000000000000000000710501265471724600336570ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/base/explicit_error_stepper_fsal_base.hpp [begin_description] Base class for all explicit first-same-as-last Runge Kutta steppers. [end_description] Copyright 2010-2013 Karsten Ahnert Copyright 2010-2012 Mario Mulansky Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_BASE_EXPLICIT_ERROR_STEPPER_FSAL_BASE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_BASE_EXPLICIT_ERROR_STEPPER_FSAL_BASE_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { /* * base class for explicit stepper and error steppers with the fsal property * models the stepper AND the error stepper fsal concept * * this class provides the following do_step overloads * do_step( sys , x , t , dt ) * do_step( sys , x , dxdt , t , dt ) * do_step( sys , in , t , out , dt ) * do_step( sys , in , dxdt_in , t , out , dxdt_out , dt ) * do_step( sys , x , t , dt , xerr ) * do_step( sys , x , dxdt , t , dt , xerr ) * do_step( sys , in , t , out , dt , xerr ) * do_step( sys , in , dxdt_in , t , out , dxdt_out , dt , xerr ) */ template< class Stepper , unsigned short Order , unsigned short StepperOrder , unsigned short ErrorOrder , class State , class Value , class Deriv , class Time , class Algebra , class Operations , class Resizer > class explicit_error_stepper_fsal_base : public algebra_stepper_base< Algebra , Operations > { public: typedef algebra_stepper_base< Algebra , Operations > algebra_stepper_base_type; typedef typename algebra_stepper_base_type::algebra_type algebra_type; typedef State state_type; typedef Value value_type; typedef Deriv deriv_type; typedef Time time_type; typedef Resizer resizer_type; typedef Stepper stepper_type; typedef explicit_error_stepper_fsal_tag stepper_category; #ifndef DOXYGEN_SKIP typedef state_wrapper< state_type > wrapped_state_type; typedef state_wrapper< deriv_type > wrapped_deriv_type; typedef explicit_error_stepper_fsal_base< Stepper , Order , StepperOrder , ErrorOrder , State , Value , Deriv , Time , Algebra , Operations , Resizer > internal_stepper_base_type; #endif typedef unsigned short order_type; static const order_type order_value = Order; static const order_type stepper_order_value = StepperOrder; static const order_type error_order_value = ErrorOrder; explicit_error_stepper_fsal_base( const algebra_type &algebra = algebra_type() ) : algebra_stepper_base_type( algebra ) , m_first_call( true ) { } order_type order( void ) const { return order_value; } order_type stepper_order( void ) const { return stepper_order_value; } order_type error_order( void ) const { return error_order_value; } /* * version 1 : do_step( sys , x , t , dt ) * * the two overloads are needed in order to solve the forwarding problem */ template< class System , class StateInOut > void do_step( System system , StateInOut &x , time_type t , time_type dt ) { do_step_v1( system , x , t , dt ); } /** * \brief Second version to solve the forwarding problem, can be called with Boost.Range as StateInOut. */ template< class System , class StateInOut > void do_step( System system , const StateInOut &x , time_type t , time_type dt ) { do_step_v1( system , x , t , dt ); } /* * version 2 : do_step( sys , x , dxdt , t , dt ) * * this version does not solve the forwarding problem, boost.range can not be used * * the disable is needed to avoid ambiguous overloads if state_type = time_type */ template< class System , class StateInOut , class DerivInOut > typename boost::disable_if< boost::is_same< StateInOut , time_type > , void >::type do_step( System system , StateInOut &x , DerivInOut &dxdt , time_type t , time_type dt ) { m_first_call = true; this->stepper().do_step_impl( system , x , dxdt , t , x , dxdt , dt ); } /* * named Version 2: do_step_dxdt_impl( sys , in , dxdt , t , dt ) * * this version is needed when this stepper is used for initializing * multistep stepper like adams-bashforth. Hence we provide an explicitely * named version that is not disabled. Meant for internal use only. */ template< class System , class StateInOut , class DerivInOut > void do_step_dxdt_impl( System system , StateInOut &x , DerivInOut &dxdt , time_type t , time_type dt ) { m_first_call = true; this->stepper().do_step_impl( system , x , dxdt , t , x , dxdt , dt ); } /* * version 3 : do_step( sys , in , t , out , dt ) * * this version does not solve the forwarding problem, boost.range can not * be used. * * the disable is needed to avoid ambiguous overloads if * state_type = time_type */ template< class System , class StateIn , class StateOut > typename boost::disable_if< boost::is_same< StateIn , time_type > , void >::type do_step( System system , const StateIn &in , time_type t , StateOut &out , time_type dt ) { if( m_resizer.adjust_size( in , detail::bind( &internal_stepper_base_type::template resize_impl< StateIn > , detail::ref( *this ) , detail::_1 ) ) || m_first_call ) { initialize( system , in , t ); } this->stepper().do_step_impl( system , in , m_dxdt.m_v , t , out , m_dxdt.m_v , dt ); } /* * version 4 : do_step( sys , in , dxdt_in , t , out , dxdt_out , dt ) * * this version does not solve the forwarding problem, boost.range can not be used */ template< class System, class StateIn, class DerivIn, class StateOut, class DerivOut > void do_step( System system, const StateIn &in, const DerivIn &dxdt_in, time_type t, StateOut &out, DerivOut &dxdt_out, time_type dt ) { m_first_call = true; this->stepper().do_step_impl( system, in, dxdt_in, t, out, dxdt_out, dt ); } /* * version 5 : do_step( sys , x , t , dt , xerr ) * * the two overloads are needed in order to solve the forwarding problem */ template< class System , class StateInOut , class Err > void do_step( System system , StateInOut &x , time_type t , time_type dt , Err &xerr ) { do_step_v5( system , x , t , dt , xerr ); } /** * \brief Second version to solve the forwarding problem, can be called with Boost.Range as StateInOut. */ template< class System , class StateInOut , class Err > void do_step( System system , const StateInOut &x , time_type t , time_type dt , Err &xerr ) { do_step_v5( system , x , t , dt , xerr ); } /* * version 6 : do_step( sys , x , dxdt , t , dt , xerr ) * * this version does not solve the forwarding problem, boost.range can not be used * * the disable is needed to avoid ambiguous overloads if state_type = time_type */ template< class System , class StateInOut , class DerivInOut , class Err > typename boost::disable_if< boost::is_same< StateInOut , time_type > , void >::type do_step( System system , StateInOut &x , DerivInOut &dxdt , time_type t , time_type dt , Err &xerr ) { m_first_call = true; this->stepper().do_step_impl( system , x , dxdt , t , x , dxdt , dt , xerr ); } /* * version 7 : do_step( sys , in , t , out , dt , xerr ) * * this version does not solve the forwarding problem, boost.range can not be used */ template< class System , class StateIn , class StateOut , class Err > void do_step( System system , const StateIn &in , time_type t , StateOut &out , time_type dt , Err &xerr ) { if( m_resizer.adjust_size( in , detail::bind( &internal_stepper_base_type::template resize_impl< StateIn > , detail::ref( *this ) , detail::_1 ) ) || m_first_call ) { initialize( system , in , t ); } this->stepper().do_step_impl( system , in , m_dxdt.m_v , t , out , m_dxdt.m_v , dt , xerr ); } /* * version 8 : do_step( sys , in , dxdt_in , t , out , dxdt_out , dt , xerr ) * * this version does not solve the forwarding problem, boost.range can not be used */ template< class System , class StateIn , class DerivIn , class StateOut , class DerivOut , class Err > void do_step( System system , const StateIn &in , const DerivIn &dxdt_in , time_type t , StateOut &out , DerivOut &dxdt_out , time_type dt , Err &xerr ) { m_first_call = true; this->stepper().do_step_impl( system , in , dxdt_in , t , out , dxdt_out , dt , xerr ); } template< class StateIn > void adjust_size( const StateIn &x ) { resize_impl( x ); } void reset( void ) { m_first_call = true; } template< class DerivIn > void initialize( const DerivIn &deriv ) { boost::numeric::odeint::copy( deriv , m_dxdt.m_v ); m_first_call = false; } template< class System , class StateIn > void initialize( System system , const StateIn &x , time_type t ) { typename odeint::unwrap_reference< System >::type &sys = system; sys( x , m_dxdt.m_v , t ); m_first_call = false; } bool is_initialized( void ) const { return ! m_first_call; } private: template< class System , class StateInOut > void do_step_v1( System system , StateInOut &x , time_type t , time_type dt ) { if( m_resizer.adjust_size( x , detail::bind( &internal_stepper_base_type::template resize_impl< StateInOut > , detail::ref( *this ) , detail::_1 ) ) || m_first_call ) { initialize( system , x , t ); } this->stepper().do_step_impl( system , x , m_dxdt.m_v , t , x , m_dxdt.m_v , dt ); } template< class System , class StateInOut , class Err > void do_step_v5( System system , StateInOut &x , time_type t , time_type dt , Err &xerr ) { if( m_resizer.adjust_size( x , detail::bind( &internal_stepper_base_type::template resize_impl< StateInOut > , detail::ref( *this ) , detail::_1 ) ) || m_first_call ) { initialize( system , x , t ); } this->stepper().do_step_impl( system , x , m_dxdt.m_v , t , x , m_dxdt.m_v , dt , xerr ); } template< class StateIn > bool resize_impl( const StateIn &x ) { return adjust_size_by_resizeability( m_dxdt , x , typename is_resizeable::type() ); } stepper_type& stepper( void ) { return *static_cast< stepper_type* >( this ); } const stepper_type& stepper( void ) const { return *static_cast< const stepper_type* >( this ); } resizer_type m_resizer; bool m_first_call; protected: wrapped_deriv_type m_dxdt; }; /******* DOXYGEN *******/ /** * \class explicit_error_stepper_fsal_base * \brief Base class for explicit steppers with error estimation and stepper fulfilling the FSAL (first-same-as-last) * property. This class can be used with controlled steppers for step size control. * * This class serves as the base class for all explicit steppers with algebra and operations and which fulfill the FSAL * property. In contrast to explicit_stepper_base it also estimates the error and can be used in a controlled stepper * to provide step size control. * * The FSAL property means that the derivative of the system at t+dt is already used in the current step going from * t to t +dt. Therefore, some more do_steps method can be introduced and the controlled steppers can explicitly make use * of this property. * * \note This stepper provides `do_step` methods with and without error estimation. It has therefore three orders, * one for the order of a step if the error is not estimated. The other two orders are the orders of the step and * the error step if the error estimation is performed. * * explicit_error_stepper_fsal_base is used as the interface in a CRTP (currently recurring template * pattern). In order to work correctly the parent class needs to have a method * `do_step_impl( system , in , dxdt_in , t , out , dxdt_out , dt , xerr )`. * explicit_error_stepper_fsal_base derives from algebra_stepper_base. * * This class can have an intrinsic state depending on the explicit usage of the `do_step` method. This means that some * `do_step` methods are expected to be called in order. For example the `do_step( sys , x , t , dt , xerr )` will keep track * of the derivative of `x` which is the internal state. The first call of this method is recognized such that one * does not explicitly initialize the internal state, so it is safe to use this method like * * \code * stepper_type stepper; * stepper.do_step( sys , x , t , dt , xerr ); * stepper.do_step( sys , x , t , dt , xerr ); * stepper.do_step( sys , x , t , dt , xerr ); * \endcode * * But it is unsafe to call this method with different system functions after each other. Do do so, one must initialize the * internal state with the `initialize` method or reset the internal state with the `reset` method. * * explicit_error_stepper_fsal_base provides several overloaded `do_step` methods, see the list below. Only two of them are needed * to fulfill the Error Stepper concept. The other ones are for convenience and for better performance. Some of them * simply update the state out-of-place, while other expect that the first derivative at `t` is passed to the stepper. * * - `do_step( sys , x , t , dt )` - The classical `do_step` method needed to fulfill the Error Stepper concept. The * state is updated in-place. A type modelling a Boost.Range can be used for x. * - `do_step( sys , x , dxdt , t , dt )` - This method updates the state x and the derivative dxdt in-place. It is expected * that dxdt has the value of the derivative of x at time t. * - `do_step( sys , in , t , out , dt )` - This method updates the state out-of-place, hence the result of the step * is stored in `out`. * - `do_step( sys , in , dxdt_in , t , out , dxdt_out , dt )` - This method updates the state and the derivative * out-of-place. It expects that the derivative at the point `t` is explicitly passed in `dxdt_in`. * - `do_step( sys , x , t , dt , xerr )` - This `do_step` method is needed to fulfill the Error Stepper concept. The * state is updated in-place and an error estimate is calculated. A type modelling a Boost.Range can be used for x. * - `do_step( sys , x , dxdt , t , dt , xerr )` - This method updates the state and the derivative in-place. It is assumed * that the dxdt has the value of the derivative of x at time t. An error estimate is calculated. * - `do_step( sys , in , t , out , dt , xerr )` - This method updates the state out-of-place and estimates the error * during the step. * - `do_step( sys , in , dxdt_in , t , out , dxdt_out , dt , xerr )` - This methods updates the state and the derivative * out-of-place and estimates the error during the step. It is assumed the dxdt_in is derivative of in at time t. * * \note The system is always passed as value, which might result in poor performance if it contains data. In this * case it can be used with `boost::ref` or `std::ref`, for example `stepper.do_step( boost::ref( sys ) , x , t , dt );` * * \note The time `t` is not advanced by the stepper. This has to done manually, or by the appropriate `integrate` * routines or `iterator`s. * * \tparam Stepper The stepper on which this class should work. It is used via CRTP, hence explicit_stepper_base * provides the interface for the Stepper. * \tparam Order The order of a stepper if the stepper is used without error estimation. * \tparam StepperOrder The order of a step if the stepper is used with error estimation. Usually Order and StepperOrder have * the same value. * \tparam ErrorOrder The order of the error step if the stepper is used with error estimation. * \tparam State The state type for the stepper. * \tparam Value The value type for the stepper. This should be a floating point type, like float, * double, or a multiprecision type. It must not necessary be the value_type of the State. For example * the State can be a `vector< complex< double > >` in this case the Value must be double. * The default value is double. * \tparam Deriv The type representing time derivatives of the state type. It is usually the same type as the * state type, only if used with Boost.Units both types differ. * \tparam Time The type representing the time. Usually the same type as the value type. When Boost.Units is * used, this type has usually a unit. * \tparam Algebra The algebra type which must fulfill the Algebra Concept. * \tparam Operations The type for the operations which must fulfill the Operations Concept. * \tparam Resizer The resizer policy class. */ /** * \fn explicit_error_stepper_fsal_base::explicit_error_stepper_fsal_base( const algebra_type &algebra ) * \brief Constructs a explicit_stepper_fsal_base class. This constructor can be used as a default * constructor if the algebra has a default constructor. * \param algebra A copy of algebra is made and stored inside explicit_stepper_base. */ /** * \fn explicit_error_stepper_fsal_base::order( void ) const * \return Returns the order of the stepper if it used without error estimation. */ /** * \fn explicit_error_stepper_fsal_base::stepper_order( void ) const * \return Returns the order of a step if the stepper is used without error estimation. */ /** * \fn explicit_error_stepper_fsal_base::error_order( void ) const * \return Returns the order of an error step if the stepper is used without error estimation. */ /** * \fn explicit_error_stepper_fsal_base::do_step( System system , StateInOut &x , time_type t , time_type dt ) * \brief This method performs one step. It transforms the result in-place. * * \note This method uses the internal state of the stepper. * * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. * \param t The value of the time, at which the step should be performed. * \param dt The step size. */ /** * \fn explicit_error_stepper_fsal_base::do_step( System system , StateInOut &x , DerivInOut &dxdt , time_type t , time_type dt ) * \brief The method performs one step with the stepper passed by Stepper. Additionally to the other methods * the derivative of x is also passed to this method. Therefore, dxdt must be evaluated initially: * * \code * ode( x , dxdt , t ); * for( ... ) * { * stepper.do_step( ode , x , dxdt , t , dt ); * t += dt; * } * \endcode * * \note This method does NOT use the initial state, since the first derivative is explicitly passed to this method. * * The result is updated in place in x as well as the derivative dxdt. This method is disabled if * Time and StateInOut are of the same type. In this case the method could not be distinguished from other `do_step` * versions. * * \note This method does not solve the forwarding problem. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. * \param dxdt The derivative of x at t. After calling `do_step` dxdt is updated to the new value. * \param t The value of the time, at which the step should be performed. * \param dt The step size. */ /** * \fn explicit_error_stepper_fsal_base::do_step( System system , const StateIn &in , time_type t , StateOut &out , time_type dt ) * \brief The method performs one step with the stepper passed by Stepper. The state of the ODE is updated out-of-place. * This method is disabled if StateIn and Time are the same type. In this case the method can not be distinguished from * other `do_step` variants. * * \note This method uses the internal state of the stepper. * * \note This method does not solve the forwarding problem. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. */ /** * \fn explicit_error_stepper_fsal_base::do_step( System system , const StateIn &in , const DerivIn &dxdt_in , time_type t , StateOut &out , DerivOut &dxdt_out , time_type dt ) * \brief The method performs one step with the stepper passed by Stepper. The state of the ODE is updated out-of-place. * Furthermore, the derivative of x at t is passed to the stepper and updated by the stepper to its new value at * t+dt. * * \note This method does not solve the forwarding problem. * * \note This method does NOT use the internal state of the stepper. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param dxdt_in The derivative of x at t. * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dxdt_out The updated derivative of `out` at `t+dt`. * \param dt The step size. */ /** * \fn explicit_error_stepper_fsal_base::do_step( System system , StateInOut &x , time_type t , time_type dt , Err &xerr ) * \brief The method performs one step with the stepper passed by Stepper and estimates the error. The state of the ODE * is updated in-place. * * * \note This method uses the internal state of the stepper. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. x is updated by this method. * \param t The value of the time, at which the step should be performed. * \param dt The step size. * \param xerr The estimation of the error is stored in xerr. */ /** * \fn explicit_error_stepper_fsal_base::do_step( System system , StateInOut &x , DerivInOut &dxdt , time_type t , time_type dt , Err &xerr ) * \brief The method performs one step with the stepper passed by Stepper. Additionally to the other method * the derivative of x is also passed to this method and updated by this method. * * \note This method does NOT use the internal state of the stepper. * * The result is updated in place in x. This method is disabled if Time and Deriv are of the same type. In this * case the method could not be distinguished from other `do_step` versions. This method is disabled if StateInOut and * Time are of the same type. * * \note This method does NOT use the internal state of the stepper. * * \note This method does not solve the forwarding problem. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. * \param dxdt The derivative of x at t. After calling `do_step` this value is updated to the new value at `t+dt`. * \param t The value of the time, at which the step should be performed. * \param dt The step size. * \param xerr The error estimate is stored in xerr. */ /** * \fn explicit_error_stepper_fsal_base::do_step( System system , const StateIn &in , time_type t , StateOut &out , time_type dt , Err &xerr ) * \brief The method performs one step with the stepper passed by Stepper. The state of the ODE is updated out-of-place. * Furthermore, the error is estimated. * * \note This method uses the internal state of the stepper. * * \note This method does not solve the forwarding problem. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. * \param xerr The error estimate. */ /** * \fn explicit_error_stepper_fsal_base::do_step( System system , const StateIn &in , const DerivIn &dxdt_in , time_type t , StateOut &out , DerivOut &dxdt_out , time_type dt , Err &xerr ) * \brief The method performs one step with the stepper passed by Stepper. The state of the ODE is updated out-of-place. * Furthermore, the derivative of x at t is passed to the stepper and the error is estimated. * * \note This method does NOT use the internal state of the stepper. * * \note This method does not solve the forwarding problem. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param dxdt_in The derivative of x at t. * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dxdt_out The new derivative at `t+dt` is written into this variable. * \param dt The step size. * \param xerr The error estimate. */ /** * \fn explicit_error_stepper_fsal_base::adjust_size( const StateIn &x ) * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ /** * \fn explicit_error_stepper_fsal_base::reset( void ) * \brief Resets the internal state of this stepper. After calling this method it is safe to use all * `do_step` method without explicitly initializing the stepper. */ /** * \fn explicit_error_stepper_fsal_base::initialize( const DerivIn &deriv ) * \brief Initializes the internal state of the stepper. * \param deriv The derivative of x. The next call of `do_step` expects that the derivative of `x` passed to `do_step` * has the value of `deriv`. */ /** * \fn explicit_error_stepper_fsal_base::initialize( System system , const StateIn &x , time_type t ) * \brief Initializes the internal state of the stepper. * * This method is equivalent to * \code * Deriv dxdt; * system( x , dxdt , t ); * stepper.initialize( dxdt ); * \endcode * * \param system The system function for the next calls of `do_step`. * \param x The current state of the ODE. * \param t The current time of the ODE. */ /** * \fn explicit_error_stepper_fsal_base::is_initialized( void ) const * \brief Returns if the stepper is already initialized. If the stepper is not initialized, the first * call of `do_step` will initialize the state of the stepper. If the stepper is already initialized * the system function can not be safely exchanged between consecutive `do_step` calls. */ } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_BASE_EXPLICIT_ERROR_STEPPER_FSAL_BASE_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/base/explicit_stepper_base.hpp000066400000000000000000000400511265471724600314360ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/base/explicit_stepper_base.hpp [begin_description] Base class for all explicit Runge Kutta steppers. [end_description] Copyright 2010-2013 Karsten Ahnert Copyright 2010-2012 Mario Mulansky Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_BASE_EXPLICIT_STEPPER_BASE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_BASE_EXPLICIT_STEPPER_BASE_HPP_INCLUDED #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { /* * base class for explicit steppers * models the stepper concept * * this class provides the following overloads * do_step( sys , x , t , dt ) * do_step( sys , in , t , out , dt ) * do_step( sys , x , dxdt_in , t , dt ) * do_step( sys , in , dxdt_in , t , out , dt ) */ template< class Stepper , unsigned short Order , class State , class Value , class Deriv , class Time , class Algebra , class Operations , class Resizer > class explicit_stepper_base : public algebra_stepper_base< Algebra , Operations > { public: #ifndef DOXYGEN_SKIP typedef explicit_stepper_base< Stepper , Order , State , Value , Deriv , Time , Algebra , Operations , Resizer > internal_stepper_base_type; #endif // DOXYGEN_SKIP typedef State state_type; typedef Value value_type; typedef Deriv deriv_type; typedef Time time_type; typedef Resizer resizer_type; typedef Stepper stepper_type; typedef stepper_tag stepper_category; typedef algebra_stepper_base< Algebra , Operations > algebra_stepper_base_type; typedef typename algebra_stepper_base_type::algebra_type algebra_type; typedef typename algebra_stepper_base_type::operations_type operations_type; typedef unsigned short order_type; #ifndef DOXYGEN_SKIP typedef state_wrapper< state_type > wrapped_state_type; typedef state_wrapper< deriv_type > wrapped_deriv_type; #endif // DOXYGEN_SKIP static const order_type order_value = Order; explicit_stepper_base( const algebra_type &algebra = algebra_type() ) : algebra_stepper_base_type( algebra ) { } /** * \return Returns the order of the stepper. */ order_type order( void ) const { return order_value; } /* * Version 1 : do_step( sys , x , t , dt ) * * the two overloads are needed in order to solve the forwarding problem */ template< class System , class StateInOut > void do_step( System system , StateInOut &x , time_type t , time_type dt ) { do_step_v1( system , x , t , dt ); } /** * \brief Second version to solve the forwarding problem, can be called with Boost.Range as StateInOut. */ template< class System , class StateInOut > void do_step( System system , const StateInOut &x , time_type t , time_type dt ) { do_step_v1( system , x , t , dt ); } /* * Version 2 : do_step( sys , x , dxdt , t , dt ) * * this version does not solve the forwarding problem, boost.range can not be used * * the disable is needed to avoid ambiguous overloads if state_type = time_type */ template< class System , class StateInOut , class DerivIn > typename boost::disable_if< boost::is_same< DerivIn , time_type > , void >::type do_step( System system , StateInOut &x , const DerivIn &dxdt , time_type t , time_type dt ) { this->stepper().do_step_impl( system , x , dxdt , t , x , dt ); } /* * named Version 2: do_step_dxdt_impl( sys , in , dxdt , t , dt ) * * this version is needed when this stepper is used for initializing * multistep stepper like adams-bashforth. Hence we provide an explicitely * named version that is not disabled. Meant for internal use only. */ template < class System, class StateInOut, class DerivIn > void do_step_dxdt_impl( System system, StateInOut &x, const DerivIn &dxdt, time_type t, time_type dt ) { this->stepper().do_step_impl( system , x , dxdt , t , x , dt ); } /* * Version 3 : do_step( sys , in , t , out , dt ) * * this version does not solve the forwarding problem, boost.range can not be used */ template< class System , class StateIn , class StateOut > void do_step( System system , const StateIn &in , time_type t , StateOut &out , time_type dt ) { typename odeint::unwrap_reference< System >::type &sys = system; m_resizer.adjust_size( in , detail::bind( &internal_stepper_base_type::template resize_impl , detail::ref( *this ) , detail::_1 ) ); sys( in , m_dxdt.m_v ,t ); this->stepper().do_step_impl( system , in , m_dxdt.m_v , t , out , dt ); } /* * Version 4 : do_step( sys , in , dxdt , t , out , dt ) * * this version does not solve the forwarding problem, boost.range can not be used */ template< class System , class StateIn , class DerivIn , class StateOut > void do_step( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt ) { this->stepper().do_step_impl( system , in , dxdt , t , out , dt ); } /* * named Version 4: do_step_dxdt_impl( sys , in , dxdt , t , out, dt ) * * this version is needed when this stepper is used for initializing * multistep stepper like adams-bashforth. Hence we provide an explicitely * named version. Meant for internal use only. */ template < class System, class StateIn, class DerivIn, class StateOut > void do_step_dxdt_impl( System system, const StateIn &in, const DerivIn &dxdt, time_type t, StateOut &out, time_type dt ) { this->stepper().do_step_impl( system , in , dxdt , t , out , dt ); } template< class StateIn > void adjust_size( const StateIn &x ) { resize_impl( x ); } private: stepper_type& stepper( void ) { return *static_cast< stepper_type* >( this ); } const stepper_type& stepper( void ) const { return *static_cast< const stepper_type* >( this ); } template< class StateIn > bool resize_impl( const StateIn &x ) { return adjust_size_by_resizeability( m_dxdt , x , typename is_resizeable::type() ); } template< class System , class StateInOut > void do_step_v1( System system , StateInOut &x , time_type t , time_type dt ) { typename odeint::unwrap_reference< System >::type &sys = system; m_resizer.adjust_size( x , detail::bind( &internal_stepper_base_type::template resize_impl< StateInOut > , detail::ref( *this ) , detail::_1 ) ); sys( x , m_dxdt.m_v ,t ); this->stepper().do_step_impl( system , x , m_dxdt.m_v , t , x , dt ); } resizer_type m_resizer; protected: wrapped_deriv_type m_dxdt; }; /******* DOXYGEN *********/ /** * \class explicit_stepper_base * \brief Base class for explicit steppers without step size control and without dense output. * * This class serves as the base class for all explicit steppers with algebra and operations. * Step size control and error estimation as well as dense output are not provided. explicit_stepper_base * is used as the interface in a CRTP (currently recurring template pattern). In order to work * correctly the parent class needs to have a method `do_step_impl( system , in , dxdt_in , t , out , dt )`. * This is method is used by explicit_stepper_base. explicit_stepper_base derives from * algebra_stepper_base. An example how this class can be used is * * \code * template< class State , class Value , class Deriv , class Time , class Algebra , class Operations , class Resizer > * class custom_euler : public explicit_stepper_base< 1 , State , Value , Deriv , Time , Algebra , Operations , Resizer > * { * public: * * typedef explicit_stepper_base< 1 , State , Value , Deriv , Time , Algebra , Operations , Resizer > base_type; * * custom_euler( const Algebra &algebra = Algebra() ) { } * * template< class Sys , class StateIn , class DerivIn , class StateOut > * void do_step_impl( Sys sys , const StateIn &in , const DerivIn &dxdt , Time t , StateOut &out , Time dt ) * { * m_algebra.for_each3( out , in , dxdt , Operations::scale_sum2< Value , Time >( 1.0 , dt ); * } * * template< class State > * void adjust_size( const State &x ) * { * base_type::adjust_size( x ); * } * }; * \endcode * * For the Stepper concept only the `do_step( sys , x , t , dt )` needs to be implemented. But this class * provides additional `do_step` variants since the stepper is explicit. These methods can be used to increase * the performance in some situation, for example if one needs to analyze `dxdt` during each step. In this case * one can use * * \code * sys( x , dxdt , t ); * stepper.do_step( sys , x , dxdt , t , dt ); // the value of dxdt is used here * t += dt; * \endcode * * In detail explicit_stepper_base provides the following `do_step` variants * - `do_step( sys , x , t , dt )` - The classical `do_step` method needed to fulfill the Stepper concept. The state is updated in-place. * A type modelling a Boost.Range can be used for x. * - `do_step( sys , in , t , out , dt )` - This method updates the state out-of-place, hence the result of the step is stored in `out`. * - `do_step( sys , x , dxdt , t , dt )` - This method updates the state in-place, but the derivative at the point `t` must be * explicitly passed in `dxdt`. For an example see the code snippet above. * - `do_step( sys , in , dxdt , t , out , dt )` - This method update the state out-of-place and expects that the derivative at the point * `t` is explicitly passed in `dxdt`. It is a combination of the two `do_step` methods above. * * \note The system is always passed as value, which might result in poor performance if it contains data. In this case it can be used with `boost::ref` * or `std::ref`, for example `stepper.do_step( boost::ref( sys ) , x , t , dt );` * * \note The time `t` is not advanced by the stepper. This has to done manually, or by the appropriate `integrate` routines or `iterator`s. * * \tparam Stepper The stepper on which this class should work. It is used via CRTP, hence explicit_stepper_base * provides the interface for the Stepper. * \tparam Order The order of the stepper. * \tparam State The state type for the stepper. * \tparam Value The value type for the stepper. This should be a floating point type, like float, * double, or a multiprecision type. It must not necessary be the value_type of the State. For example * the State can be a `vector< complex< double > >` in this case the Value must be double. * The default value is double. * \tparam Deriv The type representing time derivatives of the state type. It is usually the same type as the * state type, only if used with Boost.Units both types differ. * \tparam Time The type representing the time. Usually the same type as the value type. When Boost.Units is * used, this type has usually a unit. * \tparam Algebra The algebra type which must fulfill the Algebra Concept. * \tparam Operations The type for the operations which must fulfill the Operations Concept. * \tparam Resizer The resizer policy class. */ /** * \fn explicit_stepper_base::explicit_stepper_base( const algebra_type &algebra ) * \brief Constructs a explicit_stepper_base class. This constructor can be used as a default * constructor if the algebra has a default constructor. * \param algebra A copy of algebra is made and stored inside explicit_stepper_base. */ /** * \fn explicit_stepper_base::order_type order( void ) const * \return Returns the order of the stepper. */ /** * \fn explicit_stepper_base::do_step( System system , StateInOut &x , time_type t , time_type dt ) * \brief This method performs one step. It transforms the result in-place. * * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. * \param t The value of the time, at which the step should be performed. * \param dt The step size. */ /** * \fn explicit_stepper_base::do_step( System system , StateInOut &x , const DerivIn &dxdt , time_type t , time_type dt ) * \brief The method performs one step. Additionally to the other method * the derivative of x is also passed to this method. It is supposed to be used in the following way: * * \code * sys( x , dxdt , t ); * stepper.do_step( sys , x , dxdt , t , dt ); * \endcode * * The result is updated in place in x. This method is disabled if Time and Deriv are of the same type. In this * case the method could not be distinguished from other `do_step` versions. * * \note This method does not solve the forwarding problem. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. After calling do_step the result is updated in x. * \param dxdt The derivative of x at t. * \param t The value of the time, at which the step should be performed. * \param dt The step size. */ /** * \fn void explicit_stepper_base::do_step( System system , const StateIn &in , time_type t , StateOut &out , time_type dt ) * \brief The method performs one step. The state of the ODE is updated out-of-place. * \note This method does not solve the forwarding problem. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. */ /** * \fn void explicit_stepper_base::do_step( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt ) * \brief The method performs one step. The state of the ODE is updated out-of-place. * Furthermore, the derivative of x at t is passed to the stepper. * It is supposed to be used in the following way: * * \code * sys( in , dxdt , t ); * stepper.do_step( sys , in , dxdt , t , out , dt ); * \endcode * * \note This method does not solve the forwarding problem. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param dxdt The derivative of x at t. * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. */ /** * \fn void explicit_stepper_base::adjust_size( const StateIn &x ) * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_BASE_EXPLICIT_STEPPER_BASE_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/base/symplectic_rkn_stepper_base.hpp000066400000000000000000000465021265471724600326520ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/base/symplectic_rkn_stepper_base.hpp [begin_description] Base class for symplectic Runge-Kutta-Nystrom steppers. [end_description] Copyright 2011-2013 Karsten Ahnert Copyright 2011-2013 Mario Mulansky Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_BASE_SYMPLECTIC_RKN_STEPPER_BASE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_BASE_SYMPLECTIC_RKN_STEPPER_BASE_HPP_INCLUDED #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< size_t NumOfStages , unsigned short Order , class Coor , class Momentum , class Value , class CoorDeriv , class MomentumDeriv , class Time , class Algebra , class Operations , class Resizer > class symplectic_nystroem_stepper_base : public algebra_stepper_base< Algebra , Operations > { public: typedef algebra_stepper_base< Algebra , Operations > algebra_stepper_base_type; typedef typename algebra_stepper_base_type::algebra_type algebra_type; typedef typename algebra_stepper_base_type::operations_type operations_type; const static size_t num_of_stages = NumOfStages; typedef Coor coor_type; typedef Momentum momentum_type; typedef std::pair< coor_type , momentum_type > state_type; typedef CoorDeriv coor_deriv_type; typedef state_wrapper< coor_deriv_type> wrapped_coor_deriv_type; typedef MomentumDeriv momentum_deriv_type; typedef state_wrapper< momentum_deriv_type > wrapped_momentum_deriv_type; typedef std::pair< coor_deriv_type , momentum_deriv_type > deriv_type; typedef Value value_type; typedef Time time_type; typedef Resizer resizer_type; typedef stepper_tag stepper_category; #ifndef DOXYGEN_SKIP typedef symplectic_nystroem_stepper_base< NumOfStages , Order , Coor , Momentum , Value , CoorDeriv , MomentumDeriv , Time , Algebra , Operations , Resizer > internal_stepper_base_type; #endif typedef unsigned short order_type; static const order_type order_value = Order; typedef boost::array< value_type , num_of_stages > coef_type; symplectic_nystroem_stepper_base( const coef_type &coef_a , const coef_type &coef_b , const algebra_type &algebra = algebra_type() ) : algebra_stepper_base_type( algebra ) , m_coef_a( coef_a ) , m_coef_b( coef_b ) , m_dqdt_resizer() , m_dpdt_resizer() , m_dqdt() , m_dpdt() { } order_type order( void ) const { return order_value; } /* * Version 1 : do_step( system , x , t , dt ) * * This version does not solve the forwarding problem, boost.range can not be used. */ template< class System , class StateInOut > void do_step( System system , const StateInOut &state , time_type t , time_type dt ) { typedef typename odeint::unwrap_reference< System >::type system_type; do_step_impl( system , state , t , state , dt , typename is_pair< system_type >::type() ); } /** * \brief Same function as above. It differs only in a different const specifier in order * to solve the forwarding problem, can be used with Boost.Range. */ template< class System , class StateInOut > void do_step( System system , StateInOut &state , time_type t , time_type dt ) { typedef typename odeint::unwrap_reference< System >::type system_type; do_step_impl( system , state , t , state , dt , typename is_pair< system_type >::type() ); } /* * Version 2 : do_step( system , q , p , t , dt ); * * For Convenience * * The two overloads are needed in order to solve the forwarding problem. */ template< class System , class CoorInOut , class MomentumInOut > void do_step( System system , CoorInOut &q , MomentumInOut &p , time_type t , time_type dt ) { do_step( system , std::make_pair( detail::ref( q ) , detail::ref( p ) ) , t , dt ); } /** * \brief Same function as do_step( system , q , p , t , dt ). It differs only in a different const specifier in order * to solve the forwarding problem, can be called with Boost.Range. */ template< class System , class CoorInOut , class MomentumInOut > void do_step( System system , const CoorInOut &q , const MomentumInOut &p , time_type t , time_type dt ) { do_step( system , std::make_pair( detail::ref( q ) , detail::ref( p ) ) , t , dt ); } /* * Version 3 : do_step( system , in , t , out , dt ) * * The forwarding problem is not solved in this version */ template< class System , class StateIn , class StateOut > void do_step( System system , const StateIn &in , time_type t , StateOut &out , time_type dt ) { typedef typename odeint::unwrap_reference< System >::type system_type; do_step_impl( system , in , t , out , dt , typename is_pair< system_type >::type() ); } template< class StateType > void adjust_size( const StateType &x ) { resize_dqdt( x ); resize_dpdt( x ); } /** \brief Returns the coefficients a. */ const coef_type& coef_a( void ) const { return m_coef_a; } /** \brief Returns the coefficients b. */ const coef_type& coef_b( void ) const { return m_coef_b; } private: // stepper for systems with function for dq/dt = f(p) and dp/dt = -f(q) template< class System , class StateIn , class StateOut > void do_step_impl( System system , const StateIn &in , time_type /* t */ , StateOut &out , time_type dt , boost::mpl::true_ ) { typedef typename odeint::unwrap_reference< System >::type system_type; typedef typename odeint::unwrap_reference< typename system_type::first_type >::type coor_deriv_func_type; typedef typename odeint::unwrap_reference< typename system_type::second_type >::type momentum_deriv_func_type; system_type &sys = system; coor_deriv_func_type &coor_func = sys.first; momentum_deriv_func_type &momentum_func = sys.second; typedef typename odeint::unwrap_reference< StateIn >::type state_in_type; typedef typename odeint::unwrap_reference< typename state_in_type::first_type >::type coor_in_type; typedef typename odeint::unwrap_reference< typename state_in_type::second_type >::type momentum_in_type; const state_in_type &state_in = in; const coor_in_type &coor_in = state_in.first; const momentum_in_type &momentum_in = state_in.second; typedef typename odeint::unwrap_reference< StateOut >::type state_out_type; typedef typename odeint::unwrap_reference< typename state_out_type::first_type >::type coor_out_type; typedef typename odeint::unwrap_reference< typename state_out_type::second_type >::type momentum_out_type; state_out_type &state_out = out; coor_out_type &coor_out = state_out.first; momentum_out_type &momentum_out = state_out.second; m_dqdt_resizer.adjust_size( coor_in , detail::bind( &internal_stepper_base_type::template resize_dqdt< coor_in_type > , detail::ref( *this ) , detail::_1 ) ); m_dpdt_resizer.adjust_size( momentum_in , detail::bind( &internal_stepper_base_type::template resize_dpdt< momentum_in_type > , detail::ref( *this ) , detail::_1 ) ); // ToDo: check sizes? for( size_t l=0 ; lm_algebra.for_each3( coor_out , coor_in , m_dqdt.m_v , typename operations_type::template scale_sum2< value_type , time_type >( 1.0 , m_coef_a[l] * dt ) ); momentum_func( coor_out , m_dpdt.m_v ); this->m_algebra.for_each3( momentum_out , momentum_in , m_dpdt.m_v , typename operations_type::template scale_sum2< value_type , time_type >( 1.0 , m_coef_b[l] * dt ) ); } else { coor_func( momentum_out , m_dqdt.m_v ); this->m_algebra.for_each3( coor_out , coor_out , m_dqdt.m_v , typename operations_type::template scale_sum2< value_type , time_type >( 1.0 , m_coef_a[l] * dt ) ); momentum_func( coor_out , m_dpdt.m_v ); this->m_algebra.for_each3( momentum_out , momentum_out , m_dpdt.m_v , typename operations_type::template scale_sum2< value_type , time_type >( 1.0 , m_coef_b[l] * dt ) ); } } } // stepper for systems with only function dp /dt = -f(q), dq/dt = p, time not required but still expected for compatibility reasons template< class System , class StateIn , class StateOut > void do_step_impl( System system , const StateIn &in , time_type /* t */ , StateOut &out , time_type dt , boost::mpl::false_ ) { typedef typename odeint::unwrap_reference< System >::type momentum_deriv_func_type; momentum_deriv_func_type &momentum_func = system; typedef typename odeint::unwrap_reference< StateIn >::type state_in_type; typedef typename odeint::unwrap_reference< typename state_in_type::first_type >::type coor_in_type; typedef typename odeint::unwrap_reference< typename state_in_type::second_type >::type momentum_in_type; const state_in_type &state_in = in; const coor_in_type &coor_in = state_in.first; const momentum_in_type &momentum_in = state_in.second; typedef typename odeint::unwrap_reference< StateOut >::type state_out_type; typedef typename odeint::unwrap_reference< typename state_out_type::first_type >::type coor_out_type; typedef typename odeint::unwrap_reference< typename state_out_type::second_type >::type momentum_out_type; state_out_type &state_out = out; coor_out_type &coor_out = state_out.first; momentum_out_type &momentum_out = state_out.second; // m_dqdt not required when called with momentum_func only - don't resize // m_dqdt_resizer.adjust_size( coor_in , detail::bind( &internal_stepper_base_type::template resize_dqdt< coor_in_type > , detail::ref( *this ) , detail::_1 ) ); m_dpdt_resizer.adjust_size( momentum_in , detail::bind( &internal_stepper_base_type::template resize_dpdt< momentum_in_type > , detail::ref( *this ) , detail::_1 ) ); // ToDo: check sizes? // step 0 this->m_algebra.for_each3( coor_out , coor_in , momentum_in , typename operations_type::template scale_sum2< value_type , time_type >( 1.0 , m_coef_a[0] * dt ) ); momentum_func( coor_out , m_dpdt.m_v ); this->m_algebra.for_each3( momentum_out , momentum_in , m_dpdt.m_v , typename operations_type::template scale_sum2< value_type , time_type >( 1.0 , m_coef_b[0] * dt ) ); for( size_t l=1 ; lm_algebra.for_each3( coor_out , coor_out , momentum_out , typename operations_type::template scale_sum2< value_type , time_type >( 1.0 , m_coef_a[l] * dt ) ); momentum_func( coor_out , m_dpdt.m_v ); this->m_algebra.for_each3( momentum_out , momentum_out , m_dpdt.m_v , typename operations_type::template scale_sum2< value_type , time_type >( 1.0 , m_coef_b[l] * dt ) ); } } template< class StateIn > bool resize_dqdt( const StateIn &x ) { return adjust_size_by_resizeability( m_dqdt , x , typename is_resizeable::type() ); } template< class StateIn > bool resize_dpdt( const StateIn &x ) { return adjust_size_by_resizeability( m_dpdt , x , typename is_resizeable::type() ); } const coef_type m_coef_a; const coef_type m_coef_b; resizer_type m_dqdt_resizer; resizer_type m_dpdt_resizer; wrapped_coor_deriv_type m_dqdt; wrapped_momentum_deriv_type m_dpdt; }; /********* DOXYGEN *********/ /** * \class symplectic_nystroem_stepper_base * \brief Base class for all symplectic steppers of Nystroem type. * * This class is the base class for the symplectic Runge-Kutta-Nystroem steppers. Symplectic steppers are usually * used to solve Hamiltonian systems and they conserve the phase space volume, see * en.wikipedia.org/wiki/Symplectic_integrator. * Furthermore, the energy is conserved * in average. In detail this class of steppers can be used to solve separable Hamiltonian systems which can be written * in the form H(q,p) = H1(p) + H2(q). q is usually called the coordinate, while p is the momentum. The equations of motion * are dq/dt = dH1/dp, dp/dt = -dH2/dq. * * ToDo : add formula for solver and explanation of the coefficients * * symplectic_nystroem_stepper_base uses odeints algebra and operation system. Step size and error estimation are not * provided for this class of solvers. It derives from algebra_stepper_base. Several `do_step` variants are provided: * * - `do_step( sys , x , t , dt )` - The classical `do_step` method. The sys can be either a pair of function objects * for the coordinate or the momentum part or one function object for the momentum part. `x` is a pair of coordinate * and momentum. The state is updated in-place. * - `do_step( sys , q , p , t , dt )` - This method is similar to the method above with the difference that the coordinate * and the momentum are passed explicitly and not packed into a pair. * - `do_step( sys , x_in , t , x_out , dt )` - This method transforms the state out-of-place. `x_in` and `x_out` are here pairs * of coordinate and momentum. * * \tparam NumOfStages Number of stages. * \tparam Order The order of the stepper. * \tparam Coor The type representing the coordinates q. * \tparam Momentum The type representing the coordinates p. * \tparam Value The basic value type. Should be something like float, double or a high-precision type. * \tparam CoorDeriv The type representing the time derivative of the coordinate dq/dt. * \tparam MomemtnumDeriv The type representing the time derivative of the momentum dp/dt. * \tparam Time The type representing the time t. * \tparam Algebra The algebra. * \tparam Operations The operations. * \tparam Resizer The resizer policy. */ /** * \fn symplectic_nystroem_stepper_base::symplectic_nystroem_stepper_base( const coef_type &coef_a , const coef_type &coef_b , const algebra_type &algebra ) * \brief Constructs a symplectic_nystroem_stepper_base class. The parameters of the specific Nystroem method and the * algebra have to be passed. * \param coef_a The coefficients a. * \param coef_b The coefficients b. * \param algebra A copy of algebra is made and stored inside explicit_stepper_base. */ /** * \fn symplectic_nystroem_stepper_base::order( void ) const * \return Returns the order of the stepper. */ /** * \fn symplectic_nystroem_stepper_base::do_step( System system , const StateInOut &state , time_type t , time_type dt ) * \brief This method performs one step. The system can be either a pair of two function object * describing the momentum part and the coordinate part or one function object describing only * the momentum part. In this case the coordinate is assumed to be trivial dq/dt = p. The state * is updated in-place. * * \note boost::ref or std::ref can be used for the system as well as for the state. So, it is correct * to write `stepper.do_step( make_pair( std::ref( fq ) , std::ref( fp ) ) , make_pair( std::ref( q ) , std::ref( p ) ) , t , dt )`. * * \note This method solves the forwarding problem. * * \param system The system, can be represented as a pair of two function object or one function object. See above. * \param state The state of the ODE. It is a pair of Coor and Momentum. The state is updated in-place, therefore, the * new value of the state will be written into this variable. * \param t The time of the ODE. It is not advanced by this method. * \param dt The time step. */ /** * \fn symplectic_nystroem_stepper_base::do_step( System system , CoorInOut &q , MomentumInOut &p , time_type t , time_type dt ) * \brief This method performs one step. The system can be either a pair of two function object * describing the momentum part and the coordinate part or one function object describing only * the momentum part. In this case the coordinate is assumed to be trivial dq/dt = p. The state * is updated in-place. * * \note boost::ref or std::ref can be used for the system. So, it is correct * to write `stepper.do_step( make_pair( std::ref( fq ) , std::ref( fp ) ) , q , p , t , dt )`. * * \note This method solves the forwarding problem. * * \param system The system, can be represented as a pair of two function object or one function object. See above. * \param q The coordinate of the ODE. It is updated in-place. Therefore, the new value of the coordinate will be written * into this variable. * \param p The momentum of the ODE. It is updated in-place. Therefore, the new value of the momentum will be written info * this variable. * \param t The time of the ODE. It is not advanced by this method. * \param dt The time step. */ /** * \fn symplectic_nystroem_stepper_base::do_step( System system , const StateIn &in , time_type t , StateOut &out , time_type dt ) * \brief This method performs one step. The system can be either a pair of two function object * describing the momentum part and the coordinate part or one function object describing only * the momentum part. In this case the coordinate is assumed to be trivial dq/dt = p. The state * is updated out-of-place. * * \note boost::ref or std::ref can be used for the system. So, it is correct * to write `stepper.do_step( make_pair( std::ref( fq ) , std::ref( fp ) ) , x_in , t , x_out , dt )`. * * \note This method NOT solve the forwarding problem. * * \param system The system, can be represented as a pair of two function object or one function object. See above. * \param in The state of the ODE, which is a pair of coordinate and momentum. The state is updated out-of-place, therefore the * new value is written into out * \param t The time of the ODE. It is not advanced by this method. * \param out The new state of the ODE. * \param dt The time step. */ /** * \fn symplectic_nystroem_stepper_base::adjust_size( const StateType &x ) * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_BASE_SYMPLECTIC_RKN_STEPPER_BASE_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/bulirsch_stoer.hpp000066400000000000000000000614471265471724600272120ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/bulirsch_stoer.hpp [begin_description] Implementation of the Burlish-Stoer method. As described in Ernst Hairer, Syvert Paul Norsett, Gerhard Wanner Solving Ordinary Differential Equations I. Nonstiff Problems. Springer Series in Comput. Mathematics, Vol. 8, Springer-Verlag 1987, Second revised edition 1993. [end_description] Copyright 2011-2013 Mario Mulansky Copyright 2011-2013 Karsten Ahnert Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_BULIRSCH_STOER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_BULIRSCH_STOER_HPP_INCLUDED #include #include #include // for min/max guidelines #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class State , class Value = double , class Deriv = State , class Time = Value , class Algebra = typename algebra_dispatcher< State >::algebra_type , class Operations = typename operations_dispatcher< State >::operations_type , class Resizer = initially_resizer > class bulirsch_stoer { public: typedef State state_type; typedef Value value_type; typedef Deriv deriv_type; typedef Time time_type; typedef Algebra algebra_type; typedef Operations operations_type; typedef Resizer resizer_type; #ifndef DOXYGEN_SKIP typedef state_wrapper< state_type > wrapped_state_type; typedef state_wrapper< deriv_type > wrapped_deriv_type; typedef controlled_stepper_tag stepper_category; typedef bulirsch_stoer< State , Value , Deriv , Time , Algebra , Operations , Resizer > controlled_error_bs_type; typedef typename inverse_time< time_type >::type inv_time_type; typedef std::vector< value_type > value_vector; typedef std::vector< time_type > time_vector; typedef std::vector< inv_time_type > inv_time_vector; //should be 1/time_type for boost.units typedef std::vector< value_vector > value_matrix; typedef std::vector< size_t > int_vector; typedef std::vector< wrapped_state_type > state_table_type; #endif //DOXYGEN_SKIP const static size_t m_k_max = 8; bulirsch_stoer( value_type eps_abs = 1E-6 , value_type eps_rel = 1E-6 , value_type factor_x = 1.0 , value_type factor_dxdt = 1.0 ) : m_error_checker( eps_abs , eps_rel , factor_x, factor_dxdt ) , m_midpoint() , m_last_step_rejected( false ) , m_first( true ) , m_interval_sequence( m_k_max+1 ) , m_coeff( m_k_max+1 ) , m_cost( m_k_max+1 ) , m_table( m_k_max ) , STEPFAC1( 0.65 ) , STEPFAC2( 0.94 ) , STEPFAC3( 0.02 ) , STEPFAC4( 4.0 ) , KFAC1( 0.8 ) , KFAC2( 0.9 ) { BOOST_USING_STD_MIN(); BOOST_USING_STD_MAX(); /* initialize sequence of stage numbers and work */ for( unsigned short i = 0; i < m_k_max+1; i++ ) { m_interval_sequence[i] = 2 * (i+1); if( i == 0 ) m_cost[i] = m_interval_sequence[i]; else m_cost[i] = m_cost[i-1] + m_interval_sequence[i]; m_coeff[i].resize(i); for( size_t k = 0 ; k < i ; ++k ) { const value_type r = static_cast< value_type >( m_interval_sequence[i] ) / static_cast< value_type >( m_interval_sequence[k] ); m_coeff[i][k] = 1.0 / ( r*r - static_cast< value_type >( 1.0 ) ); // coefficients for extrapolation } // crude estimate of optimal order m_current_k_opt = 4; /* no calculation because log10 might not exist for value_type! const value_type logfact( -log10( max BOOST_PREVENT_MACRO_SUBSTITUTION( eps_rel , static_cast< value_type >(1.0E-12) ) ) * 0.6 + 0.5 ); m_current_k_opt = max BOOST_PREVENT_MACRO_SUBSTITUTION( static_cast( 1 ) , min BOOST_PREVENT_MACRO_SUBSTITUTION( static_cast( m_k_max-1 ) , logfact )); */ } } /* * Version 1 : try_step( sys , x , t , dt ) * * The overloads are needed to solve the forwarding problem */ template< class System , class StateInOut > controlled_step_result try_step( System system , StateInOut &x , time_type &t , time_type &dt ) { return try_step_v1( system , x , t, dt ); } /** * \brief Second version to solve the forwarding problem, can be used with Boost.Range as StateInOut. */ template< class System , class StateInOut > controlled_step_result try_step( System system , const StateInOut &x , time_type &t , time_type &dt ) { return try_step_v1( system , x , t, dt ); } /* * Version 2 : try_step( sys , x , dxdt , t , dt ) * * this version does not solve the forwarding problem, boost.range can not be used */ template< class System , class StateInOut , class DerivIn > controlled_step_result try_step( System system , StateInOut &x , const DerivIn &dxdt , time_type &t , time_type &dt ) { m_xnew_resizer.adjust_size( x , detail::bind( &controlled_error_bs_type::template resize_m_xnew< StateInOut > , detail::ref( *this ) , detail::_1 ) ); controlled_step_result res = try_step( system , x , dxdt , t , m_xnew.m_v , dt ); if( res == success ) { boost::numeric::odeint::copy( m_xnew.m_v , x ); } return res; } /* * Version 3 : try_step( sys , in , t , out , dt ) * * this version does not solve the forwarding problem, boost.range can not be used */ template< class System , class StateIn , class StateOut > typename boost::disable_if< boost::is_same< StateIn , time_type > , controlled_step_result >::type try_step( System system , const StateIn &in , time_type &t , StateOut &out , time_type &dt ) { typename odeint::unwrap_reference< System >::type &sys = system; m_dxdt_resizer.adjust_size( in , detail::bind( &controlled_error_bs_type::template resize_m_dxdt< StateIn > , detail::ref( *this ) , detail::_1 ) ); sys( in , m_dxdt.m_v , t ); return try_step( system , in , m_dxdt.m_v , t , out , dt ); } /* * Full version : try_step( sys , in , dxdt_in , t , out , dt ) * * contains the actual implementation */ template< class System , class StateIn , class DerivIn , class StateOut > controlled_step_result try_step( System system , const StateIn &in , const DerivIn &dxdt , time_type &t , StateOut &out , time_type &dt ) { BOOST_USING_STD_MIN(); BOOST_USING_STD_MAX(); static const value_type val1( 1.0 ); if( m_resizer.adjust_size( in , detail::bind( &controlled_error_bs_type::template resize_impl< StateIn > , detail::ref( *this ) , detail::_1 ) ) ) { reset(); // system resized -> reset } if( dt != m_dt_last ) { reset(); // step size changed from outside -> reset } bool reject( true ); time_vector h_opt( m_k_max+1 ); inv_time_vector work( m_k_max+1 ); time_type new_h = dt; /* m_current_k_opt is the estimated current optimal stage number */ for( size_t k = 0 ; k <= m_current_k_opt+1 ; k++ ) { /* the stage counts are stored in m_interval_sequence */ m_midpoint.set_steps( m_interval_sequence[k] ); if( k == 0 ) { m_midpoint.do_step( system , in , dxdt , t , out , dt ); /* the first step, nothing more to do */ } else { m_midpoint.do_step( system , in , dxdt , t , m_table[k-1].m_v , dt ); extrapolate( k , m_table , m_coeff , out ); // get error estimate m_algebra.for_each3( m_err.m_v , out , m_table[0].m_v , typename operations_type::template scale_sum2< value_type , value_type >( val1 , -val1 ) ); const value_type error = m_error_checker.error( m_algebra , in , dxdt , m_err.m_v , dt ); h_opt[k] = calc_h_opt( dt , error , k ); work[k] = static_cast( m_cost[k] ) / h_opt[k]; if( (k == m_current_k_opt-1) || m_first ) { // convergence before k_opt ? if( error < 1.0 ) { //convergence reject = false; if( (work[k] < KFAC2*work[k-1]) || (m_current_k_opt <= 2) ) { // leave order as is (except we were in first round) m_current_k_opt = min BOOST_PREVENT_MACRO_SUBSTITUTION( static_cast(m_k_max)-1 , max BOOST_PREVENT_MACRO_SUBSTITUTION( 2 , static_cast(k)+1 ) ); new_h = h_opt[k]; new_h *= static_cast( m_cost[k+1] ) / static_cast( m_cost[k] ); } else { m_current_k_opt = min BOOST_PREVENT_MACRO_SUBSTITUTION( static_cast(m_k_max)-1 , max BOOST_PREVENT_MACRO_SUBSTITUTION( 2 , static_cast(k) ) ); new_h = h_opt[k]; } break; } else if( should_reject( error , k ) && !m_first ) { reject = true; new_h = h_opt[k]; break; } } if( k == m_current_k_opt ) { // convergence at k_opt ? if( error < 1.0 ) { //convergence reject = false; if( (work[k-1] < KFAC2*work[k]) ) { m_current_k_opt = max BOOST_PREVENT_MACRO_SUBSTITUTION( 2 , static_cast(m_current_k_opt)-1 ); new_h = h_opt[m_current_k_opt]; } else if( (work[k] < KFAC2*work[k-1]) && !m_last_step_rejected ) { m_current_k_opt = min BOOST_PREVENT_MACRO_SUBSTITUTION( static_cast(m_k_max-1) , static_cast(m_current_k_opt)+1 ); new_h = h_opt[k]; new_h *= m_cost[m_current_k_opt]/m_cost[k]; } else new_h = h_opt[m_current_k_opt]; break; } else if( should_reject( error , k ) ) { reject = true; new_h = h_opt[m_current_k_opt]; break; } } if( k == m_current_k_opt+1 ) { // convergence at k_opt+1 ? if( error < 1.0 ) { //convergence reject = false; if( work[k-2] < KFAC2*work[k-1] ) m_current_k_opt = max BOOST_PREVENT_MACRO_SUBSTITUTION( 2 , static_cast(m_current_k_opt)-1 ); if( (work[k] < KFAC2*work[m_current_k_opt]) && !m_last_step_rejected ) m_current_k_opt = min BOOST_PREVENT_MACRO_SUBSTITUTION( static_cast(m_k_max)-1 , static_cast(k) ); new_h = h_opt[m_current_k_opt]; } else { reject = true; new_h = h_opt[m_current_k_opt]; } break; } } } if( !reject ) { t += dt; } if( !m_last_step_rejected || boost::numeric::odeint::detail::less_with_sign(new_h, dt, dt) ) { m_dt_last = new_h; dt = new_h; } m_last_step_rejected = reject; m_first = false; if( reject ) return fail; else return success; } /** \brief Resets the internal state of the stepper */ void reset() { m_first = true; m_last_step_rejected = false; } /* Resizer methods */ template< class StateIn > void adjust_size( const StateIn &x ) { resize_m_dxdt( x ); resize_m_xnew( x ); resize_impl( x ); m_midpoint.adjust_size( x ); } private: template< class StateIn > bool resize_m_dxdt( const StateIn &x ) { return adjust_size_by_resizeability( m_dxdt , x , typename is_resizeable::type() ); } template< class StateIn > bool resize_m_xnew( const StateIn &x ) { return adjust_size_by_resizeability( m_xnew , x , typename is_resizeable::type() ); } template< class StateIn > bool resize_impl( const StateIn &x ) { bool resized( false ); for( size_t i = 0 ; i < m_k_max ; ++i ) resized |= adjust_size_by_resizeability( m_table[i] , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_err , x , typename is_resizeable::type() ); return resized; } template< class System , class StateInOut > controlled_step_result try_step_v1( System system , StateInOut &x , time_type &t , time_type &dt ) { typename odeint::unwrap_reference< System >::type &sys = system; m_dxdt_resizer.adjust_size( x , detail::bind( &controlled_error_bs_type::template resize_m_dxdt< StateInOut > , detail::ref( *this ) , detail::_1 ) ); sys( x , m_dxdt.m_v ,t ); return try_step( system , x , m_dxdt.m_v , t , dt ); } template< class StateInOut > void extrapolate( size_t k , state_table_type &table , const value_matrix &coeff , StateInOut &xest ) /* polynomial extrapolation, see http://www.nr.com/webnotes/nr3web21.pdf uses the obtained intermediate results to extrapolate to dt->0 */ { static const value_type val1 = static_cast< value_type >( 1.0 ); for( int j=k-1 ; j>0 ; --j ) { m_algebra.for_each3( table[j-1].m_v , table[j].m_v , table[j-1].m_v , typename operations_type::template scale_sum2< value_type , value_type >( val1 + coeff[k][j] , -coeff[k][j] ) ); } m_algebra.for_each3( xest , table[0].m_v , xest , typename operations_type::template scale_sum2< value_type , value_type >( val1 + coeff[k][0] , -coeff[k][0]) ); } time_type calc_h_opt( time_type h , value_type error , size_t k ) const /* calculates the optimal step size for a given error and stage number */ { BOOST_USING_STD_MIN(); BOOST_USING_STD_MAX(); using std::pow; value_type expo( 1.0/(2*k+1) ); value_type facmin = pow BOOST_PREVENT_MACRO_SUBSTITUTION( STEPFAC3 , expo ); value_type fac; if (error == 0.0) fac=1.0/facmin; else { fac = STEPFAC2 / pow BOOST_PREVENT_MACRO_SUBSTITUTION( error / STEPFAC1 , expo ); fac = max BOOST_PREVENT_MACRO_SUBSTITUTION( static_cast(facmin/STEPFAC4) , min BOOST_PREVENT_MACRO_SUBSTITUTION( static_cast(1.0/facmin) , fac ) ); } return h*fac; } controlled_step_result set_k_opt( size_t k , const inv_time_vector &work , const time_vector &h_opt , time_type &dt ) /* calculates the optimal stage number */ { if( k == 1 ) { m_current_k_opt = 2; return success; } if( (work[k-1] < KFAC1*work[k]) || (k == m_k_max) ) { // order decrease m_current_k_opt = k-1; dt = h_opt[ m_current_k_opt ]; return success; } else if( (work[k] < KFAC2*work[k-1]) || m_last_step_rejected || (k == m_k_max-1) ) { // same order - also do this if last step got rejected m_current_k_opt = k; dt = h_opt[ m_current_k_opt ]; return success; } else { // order increase - only if last step was not rejected m_current_k_opt = k+1; dt = h_opt[ m_current_k_opt-1 ] * m_cost[ m_current_k_opt ] / m_cost[ m_current_k_opt-1 ] ; return success; } } bool in_convergence_window( size_t k ) const { if( (k == m_current_k_opt-1) && !m_last_step_rejected ) return true; // decrease stepsize only if last step was not rejected return ( (k == m_current_k_opt) || (k == m_current_k_opt+1) ); } bool should_reject( value_type error , size_t k ) const { if( k == m_current_k_opt-1 ) { const value_type d = m_interval_sequence[m_current_k_opt] * m_interval_sequence[m_current_k_opt+1] / (m_interval_sequence[0]*m_interval_sequence[0]); //step will fail, criterion 17.3.17 in NR return ( error > d*d ); } else if( k == m_current_k_opt ) { const value_type d = m_interval_sequence[m_current_k_opt] / m_interval_sequence[0]; return ( error > d*d ); } else return error > 1.0; } default_error_checker< value_type, algebra_type , operations_type > m_error_checker; modified_midpoint< state_type , value_type , deriv_type , time_type , algebra_type , operations_type , resizer_type > m_midpoint; bool m_last_step_rejected; bool m_first; time_type m_dt_last; time_type m_t_last; size_t m_current_k_opt; algebra_type m_algebra; resizer_type m_dxdt_resizer; resizer_type m_xnew_resizer; resizer_type m_resizer; wrapped_state_type m_xnew; wrapped_state_type m_err; wrapped_deriv_type m_dxdt; int_vector m_interval_sequence; // stores the successive interval counts value_matrix m_coeff; int_vector m_cost; // costs for interval count state_table_type m_table; // sequence of states for extrapolation const value_type STEPFAC1 , STEPFAC2 , STEPFAC3 , STEPFAC4 , KFAC1 , KFAC2; }; /******** DOXYGEN ********/ /** * \class bulirsch_stoer * \brief The Bulirsch-Stoer algorithm. * * The Bulirsch-Stoer is a controlled stepper that adjusts both step size * and order of the method. The algorithm uses the modified midpoint and * a polynomial extrapolation compute the solution. * * \tparam State The state type. * \tparam Value The value type. * \tparam Deriv The type representing the time derivative of the state. * \tparam Time The time representing the independent variable - the time. * \tparam Algebra The algebra type. * \tparam Operations The operations type. * \tparam Resizer The resizer policy type. */ /** * \fn bulirsch_stoer::bulirsch_stoer( value_type eps_abs , value_type eps_rel , value_type factor_x , value_type factor_dxdt ) * \brief Constructs the bulirsch_stoer class, including initialization of * the error bounds. * * \param eps_abs Absolute tolerance level. * \param eps_rel Relative tolerance level. * \param factor_x Factor for the weight of the state. * \param factor_dxdt Factor for the weight of the derivative. */ /** * \fn bulirsch_stoer::try_step( System system , StateInOut &x , time_type &t , time_type &dt ) * \brief Tries to perform one step. * * This method tries to do one step with step size dt. If the error estimate * is to large, the step is rejected and the method returns fail and the * step size dt is reduced. If the error estimate is acceptably small, the * step is performed, success is returned and dt might be increased to make * the steps as large as possible. This method also updates t if a step is * performed. Also, the internal order of the stepper is adjusted if required. * * \param system The system function to solve, hence the r.h.s. of the ODE. * It must fulfill the Simple System concept. * \param x The state of the ODE which should be solved. Overwritten if * the step is successful. * \param t The value of the time. Updated if the step is successful. * \param dt The step size. Updated. * \return success if the step was accepted, fail otherwise. */ /** * \fn bulirsch_stoer::try_step( System system , StateInOut &x , const DerivIn &dxdt , time_type &t , time_type &dt ) * \brief Tries to perform one step. * * This method tries to do one step with step size dt. If the error estimate * is to large, the step is rejected and the method returns fail and the * step size dt is reduced. If the error estimate is acceptably small, the * step is performed, success is returned and dt might be increased to make * the steps as large as possible. This method also updates t if a step is * performed. Also, the internal order of the stepper is adjusted if required. * * \param system The system function to solve, hence the r.h.s. of the ODE. * It must fulfill the Simple System concept. * \param x The state of the ODE which should be solved. Overwritten if * the step is successful. * \param dxdt The derivative of state. * \param t The value of the time. Updated if the step is successful. * \param dt The step size. Updated. * \return success if the step was accepted, fail otherwise. */ /** * \fn bulirsch_stoer::try_step( System system , const StateIn &in , time_type &t , StateOut &out , time_type &dt ) * \brief Tries to perform one step. * * \note This method is disabled if state_type=time_type to avoid ambiguity. * * This method tries to do one step with step size dt. If the error estimate * is to large, the step is rejected and the method returns fail and the * step size dt is reduced. If the error estimate is acceptably small, the * step is performed, success is returned and dt might be increased to make * the steps as large as possible. This method also updates t if a step is * performed. Also, the internal order of the stepper is adjusted if required. * * \param system The system function to solve, hence the r.h.s. of the ODE. * It must fulfill the Simple System concept. * \param in The state of the ODE which should be solved. * \param t The value of the time. Updated if the step is successful. * \param out Used to store the result of the step. * \param dt The step size. Updated. * \return success if the step was accepted, fail otherwise. */ /** * \fn bulirsch_stoer::try_step( System system , const StateIn &in , const DerivIn &dxdt , time_type &t , StateOut &out , time_type &dt ) * \brief Tries to perform one step. * * This method tries to do one step with step size dt. If the error estimate * is to large, the step is rejected and the method returns fail and the * step size dt is reduced. If the error estimate is acceptably small, the * step is performed, success is returned and dt might be increased to make * the steps as large as possible. This method also updates t if a step is * performed. Also, the internal order of the stepper is adjusted if required. * * \param system The system function to solve, hence the r.h.s. of the ODE. * It must fulfill the Simple System concept. * \param in The state of the ODE which should be solved. * \param dxdt The derivative of state. * \param t The value of the time. Updated if the step is successful. * \param out Used to store the result of the step. * \param dt The step size. Updated. * \return success if the step was accepted, fail otherwise. */ /** * \fn bulirsch_stoer::adjust_size( const StateIn &x ) * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ } } } #endif // BOOST_NUMERIC_ODEINT_STEPPER_BULIRSCH_STOER_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/bulirsch_stoer_dense_out.hpp000066400000000000000000001001161265471724600312420ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/bulirsch_stoer_dense_out.hpp [begin_description] Implementaiton of the Burlish-Stoer method with dense output [end_description] Copyright 2011-2013 Mario Mulansky Copyright 2011-2013 Karsten Ahnert Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_BULIRSCH_STOER_DENSE_OUT_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_BULIRSCH_STOER_DENSE_OUT_HPP_INCLUDED #include #include #include // for min/max guidelines #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class State , class Value = double , class Deriv = State , class Time = Value , class Algebra = typename algebra_dispatcher< State >::algebra_type , class Operations = typename operations_dispatcher< State >::operations_type , class Resizer = initially_resizer > class bulirsch_stoer_dense_out { public: typedef State state_type; typedef Value value_type; typedef Deriv deriv_type; typedef Time time_type; typedef Algebra algebra_type; typedef Operations operations_type; typedef Resizer resizer_type; typedef dense_output_stepper_tag stepper_category; #ifndef DOXYGEN_SKIP typedef state_wrapper< state_type > wrapped_state_type; typedef state_wrapper< deriv_type > wrapped_deriv_type; typedef bulirsch_stoer_dense_out< State , Value , Deriv , Time , Algebra , Operations , Resizer > controlled_error_bs_type; typedef typename inverse_time< time_type >::type inv_time_type; typedef std::vector< value_type > value_vector; typedef std::vector< time_type > time_vector; typedef std::vector< inv_time_type > inv_time_vector; //should be 1/time_type for boost.units typedef std::vector< value_vector > value_matrix; typedef std::vector< size_t > int_vector; typedef std::vector< wrapped_state_type > state_vector_type; typedef std::vector< wrapped_deriv_type > deriv_vector_type; typedef std::vector< deriv_vector_type > deriv_table_type; #endif //DOXYGEN_SKIP const static size_t m_k_max = 8; bulirsch_stoer_dense_out( value_type eps_abs = 1E-6 , value_type eps_rel = 1E-6 , value_type factor_x = 1.0 , value_type factor_dxdt = 1.0 , bool control_interpolation = false ) : m_error_checker( eps_abs , eps_rel , factor_x, factor_dxdt ) , m_control_interpolation( control_interpolation) , m_last_step_rejected( false ) , m_first( true ) , m_current_state_x1( true ) , m_error( m_k_max ) , m_interval_sequence( m_k_max+1 ) , m_coeff( m_k_max+1 ) , m_cost( m_k_max+1 ) , m_table( m_k_max ) , m_mp_states( m_k_max+1 ) , m_derivs( m_k_max+1 ) , m_diffs( 2*m_k_max+1 ) , STEPFAC1( 0.65 ) , STEPFAC2( 0.94 ) , STEPFAC3( 0.02 ) , STEPFAC4( 4.0 ) , KFAC1( 0.8 ) , KFAC2( 0.9 ) { BOOST_USING_STD_MIN(); BOOST_USING_STD_MAX(); for( unsigned short i = 0; i < m_k_max+1; i++ ) { /* only this specific sequence allows for dense output */ m_interval_sequence[i] = 2 + 4*i; // 2 6 10 14 ... m_derivs[i].resize( m_interval_sequence[i] ); if( i == 0 ) m_cost[i] = m_interval_sequence[i]; else m_cost[i] = m_cost[i-1] + m_interval_sequence[i]; m_coeff[i].resize(i); for( size_t k = 0 ; k < i ; ++k ) { const value_type r = static_cast< value_type >( m_interval_sequence[i] ) / static_cast< value_type >( m_interval_sequence[k] ); m_coeff[i][k] = 1.0 / ( r*r - static_cast< value_type >( 1.0 ) ); // coefficients for extrapolation } // crude estimate of optimal order m_current_k_opt = 4; /* no calculation because log10 might not exist for value_type! const value_type logfact( -log10( max BOOST_PREVENT_MACRO_SUBSTITUTION( eps_rel , static_cast< value_type >( 1.0E-12 ) ) ) * 0.6 + 0.5 ); m_current_k_opt = max BOOST_PREVENT_MACRO_SUBSTITUTION( 1 , min BOOST_PREVENT_MACRO_SUBSTITUTION( static_cast( m_k_max-1 ) , static_cast( logfact ) )); */ } int num = 1; for( int i = 2*(m_k_max) ; i >=0 ; i-- ) { m_diffs[i].resize( num ); num += (i+1)%2; } } template< class System , class StateIn , class DerivIn , class StateOut , class DerivOut > controlled_step_result try_step( System system , const StateIn &in , const DerivIn &dxdt , time_type &t , StateOut &out , DerivOut &dxdt_new , time_type &dt ) { BOOST_USING_STD_MIN(); BOOST_USING_STD_MAX(); using std::pow; static const value_type val1( 1.0 ); bool reject( true ); time_vector h_opt( m_k_max+1 ); inv_time_vector work( m_k_max+1 ); m_k_final = 0; time_type new_h = dt; //std::cout << "t=" << t <<", dt=" << dt << ", k_opt=" << m_current_k_opt << ", first: " << m_first << std::endl; for( size_t k = 0 ; k <= m_current_k_opt+1 ; k++ ) { m_midpoint.set_steps( m_interval_sequence[k] ); if( k == 0 ) { m_midpoint.do_step( system , in , dxdt , t , out , dt , m_mp_states[k].m_v , m_derivs[k]); } else { m_midpoint.do_step( system , in , dxdt , t , m_table[k-1].m_v , dt , m_mp_states[k].m_v , m_derivs[k] ); extrapolate( k , m_table , m_coeff , out ); // get error estimate m_algebra.for_each3( m_err.m_v , out , m_table[0].m_v , typename operations_type::template scale_sum2< value_type , value_type >( val1 , -val1 ) ); const value_type error = m_error_checker.error( m_algebra , in , dxdt , m_err.m_v , dt ); h_opt[k] = calc_h_opt( dt , error , k ); work[k] = static_cast( m_cost[k] ) / h_opt[k]; m_k_final = k; if( (k == m_current_k_opt-1) || m_first ) { // convergence before k_opt ? if( error < 1.0 ) { //convergence reject = false; if( (work[k] < KFAC2*work[k-1]) || (m_current_k_opt <= 2) ) { // leave order as is (except we were in first round) m_current_k_opt = min BOOST_PREVENT_MACRO_SUBSTITUTION( static_cast(m_k_max)-1 , max BOOST_PREVENT_MACRO_SUBSTITUTION( 2 , static_cast(k)+1 ) ); new_h = h_opt[k] * static_cast( m_cost[k+1] ) / static_cast( m_cost[k] ); } else { m_current_k_opt = min BOOST_PREVENT_MACRO_SUBSTITUTION( static_cast(m_k_max)-1 , max BOOST_PREVENT_MACRO_SUBSTITUTION( 2 , static_cast(k) ) ); new_h = h_opt[k]; } break; } else if( should_reject( error , k ) && !m_first ) { reject = true; new_h = h_opt[k]; break; } } if( k == m_current_k_opt ) { // convergence at k_opt ? if( error < 1.0 ) { //convergence reject = false; if( (work[k-1] < KFAC2*work[k]) ) { m_current_k_opt = max BOOST_PREVENT_MACRO_SUBSTITUTION( 2 , static_cast(m_current_k_opt)-1 ); new_h = h_opt[m_current_k_opt]; } else if( (work[k] < KFAC2*work[k-1]) && !m_last_step_rejected ) { m_current_k_opt = min BOOST_PREVENT_MACRO_SUBSTITUTION( static_cast(m_k_max)-1 , static_cast(m_current_k_opt)+1 ); new_h = h_opt[k]*static_cast( m_cost[m_current_k_opt] ) / static_cast( m_cost[k] ); } else new_h = h_opt[m_current_k_opt]; break; } else if( should_reject( error , k ) ) { reject = true; new_h = h_opt[m_current_k_opt]; break; } } if( k == m_current_k_opt+1 ) { // convergence at k_opt+1 ? if( error < 1.0 ) { //convergence reject = false; if( work[k-2] < KFAC2*work[k-1] ) m_current_k_opt = max BOOST_PREVENT_MACRO_SUBSTITUTION( 2 , static_cast(m_current_k_opt)-1 ); if( (work[k] < KFAC2*work[m_current_k_opt]) && !m_last_step_rejected ) m_current_k_opt = min BOOST_PREVENT_MACRO_SUBSTITUTION( static_cast(m_k_max)-1 , static_cast(k) ); new_h = h_opt[m_current_k_opt]; } else { reject = true; new_h = h_opt[m_current_k_opt]; } break; } } } if( !reject ) { //calculate dxdt for next step and dense output typename odeint::unwrap_reference< System >::type &sys = system; sys( out , dxdt_new , t+dt ); //prepare dense output value_type error = prepare_dense_output( m_k_final , in , dxdt , out , dxdt_new , dt ); if( error > static_cast(10) ) // we are not as accurate for interpolation as for the steps { reject = true; new_h = dt * pow BOOST_PREVENT_MACRO_SUBSTITUTION( error , static_cast(-1)/(2*m_k_final+2) ); } else { t += dt; } } //set next stepsize if( !m_last_step_rejected || (new_h < dt) ) dt = new_h; m_last_step_rejected = reject; if( reject ) return fail; else return success; } template< class StateType > void initialize( const StateType &x0 , const time_type &t0 , const time_type &dt0 ) { m_resizer.adjust_size( x0 , detail::bind( &controlled_error_bs_type::template resize_impl< StateType > , detail::ref( *this ) , detail::_1 ) ); boost::numeric::odeint::copy( x0 , get_current_state() ); m_t = t0; m_dt = dt0; reset(); } /* ======================================================= * the actual step method that should be called from outside (maybe make try_step private?) */ template< class System > std::pair< time_type , time_type > do_step( System system ) { const size_t max_count = 1000; if( m_first ) { typename odeint::unwrap_reference< System >::type &sys = system; sys( get_current_state() , get_current_deriv() , m_t ); } controlled_step_result res = fail; m_t_last = m_t; size_t count = 0; while( res == fail ) { res = try_step( system , get_current_state() , get_current_deriv() , m_t , get_old_state() , get_old_deriv() , m_dt ); m_first = false; if( count++ == max_count ) throw std::overflow_error( "bulirsch_stoer : too much iterations!"); } toggle_current_state(); return std::make_pair( m_t_last , m_t ); } /* performs the interpolation from a calculated step */ template< class StateOut > void calc_state( time_type t , StateOut &x ) const { do_interpolation( t , x ); } const state_type& current_state( void ) const { return get_current_state(); } time_type current_time( void ) const { return m_t; } const state_type& previous_state( void ) const { return get_old_state(); } time_type previous_time( void ) const { return m_t_last; } time_type current_time_step( void ) const { return m_dt; } /** \brief Resets the internal state of the stepper. */ void reset() { m_first = true; m_last_step_rejected = false; } template< class StateIn > void adjust_size( const StateIn &x ) { resize_impl( x ); m_midpoint.adjust_size( x ); } private: template< class StateInOut , class StateVector > void extrapolate( size_t k , StateVector &table , const value_matrix &coeff , StateInOut &xest , size_t order_start_index = 0 ) //polynomial extrapolation, see http://www.nr.com/webnotes/nr3web21.pdf { static const value_type val1( 1.0 ); for( int j=k-1 ; j>0 ; --j ) { m_algebra.for_each3( table[j-1].m_v , table[j].m_v , table[j-1].m_v , typename operations_type::template scale_sum2< value_type , value_type >( val1 + coeff[k + order_start_index][j + order_start_index] , -coeff[k + order_start_index][j + order_start_index] ) ); } m_algebra.for_each3( xest , table[0].m_v , xest , typename operations_type::template scale_sum2< value_type , value_type >( val1 + coeff[k + order_start_index][0 + order_start_index] , -coeff[k + order_start_index][0 + order_start_index]) ); } template< class StateVector > void extrapolate_dense_out( size_t k , StateVector &table , const value_matrix &coeff , size_t order_start_index = 0 ) //polynomial extrapolation, see http://www.nr.com/webnotes/nr3web21.pdf { // result is written into table[0] static const value_type val1( 1.0 ); for( int j=k ; j>1 ; --j ) { m_algebra.for_each3( table[j-1].m_v , table[j].m_v , table[j-1].m_v , typename operations_type::template scale_sum2< value_type , value_type >( val1 + coeff[k + order_start_index][j + order_start_index - 1] , -coeff[k + order_start_index][j + order_start_index - 1] ) ); } m_algebra.for_each3( table[0].m_v , table[1].m_v , table[0].m_v , typename operations_type::template scale_sum2< value_type , value_type >( val1 + coeff[k + order_start_index][order_start_index] , -coeff[k + order_start_index][order_start_index]) ); } time_type calc_h_opt( time_type h , value_type error , size_t k ) const { BOOST_USING_STD_MIN(); BOOST_USING_STD_MAX(); using std::pow; value_type expo=1.0/(m_interval_sequence[k-1]); value_type facmin = pow BOOST_PREVENT_MACRO_SUBSTITUTION( STEPFAC3 , expo ); value_type fac; if (error == 0.0) fac=1.0/facmin; else { fac = STEPFAC2 / pow BOOST_PREVENT_MACRO_SUBSTITUTION( error / STEPFAC1 , expo ); fac = max BOOST_PREVENT_MACRO_SUBSTITUTION( facmin/STEPFAC4 , min BOOST_PREVENT_MACRO_SUBSTITUTION( 1.0/facmin , fac ) ); } return h*fac; } bool in_convergence_window( size_t k ) const { if( (k == m_current_k_opt-1) && !m_last_step_rejected ) return true; // decrease order only if last step was not rejected return ( (k == m_current_k_opt) || (k == m_current_k_opt+1) ); } bool should_reject( value_type error , size_t k ) const { if( k == m_current_k_opt-1 ) { const value_type d = m_interval_sequence[m_current_k_opt] * m_interval_sequence[m_current_k_opt+1] / (m_interval_sequence[0]*m_interval_sequence[0]); //step will fail, criterion 17.3.17 in NR return ( error > d*d ); } else if( k == m_current_k_opt ) { const value_type d = m_interval_sequence[m_current_k_opt+1] / m_interval_sequence[0]; return ( error > d*d ); } else return error > 1.0; } template< class StateIn1 , class DerivIn1 , class StateIn2 , class DerivIn2 > value_type prepare_dense_output( int k , const StateIn1 &x_start , const DerivIn1 &dxdt_start , const StateIn2 & /* x_end */ , const DerivIn2 & /*dxdt_end */ , time_type dt ) /* k is the order to which the result was approximated */ { /* compute the coefficients of the interpolation polynomial * we parametrize the interval t .. t+dt by theta = -1 .. 1 * we use 2k+3 values at the interval center theta=0 to obtain the interpolation coefficients * the values are x(t+dt/2) and the derivatives dx/dt , ... d^(2k+2) x / dt^(2k+2) at the midpoints * the derivatives are approximated via finite differences * all values are obtained from interpolation of the results from the increasing orders of the midpoint calls */ // calculate finite difference approximations to derivatives at the midpoint for( int j = 0 ; j<=k ; j++ ) { /* not working with boost units... */ const value_type d = m_interval_sequence[j] / ( static_cast(2) * dt ); value_type f = 1.0; //factor 1/2 here because our interpolation interval has length 2 !!! for( int kappa = 0 ; kappa <= 2*j+1 ; ++kappa ) { calculate_finite_difference( j , kappa , f , dxdt_start ); f *= d; } if( j > 0 ) extrapolate_dense_out( j , m_mp_states , m_coeff ); } time_type d = dt/2; // extrapolate finite differences for( int kappa = 0 ; kappa<=2*k+1 ; kappa++ ) { for( int j=1 ; j<=(k-kappa/2) ; ++j ) extrapolate_dense_out( j , m_diffs[kappa] , m_coeff , kappa/2 ); // extrapolation results are now stored in m_diffs[kappa][0] // divide kappa-th derivative by kappa because we need these terms for dense output interpolation m_algebra.for_each1( m_diffs[kappa][0].m_v , typename operations_type::template scale< time_type >( static_cast(d) ) ); d *= dt/(2*(kappa+2)); } // dense output coefficients a_0 is stored in m_mp_states[0], a_i for i = 1...2k are stored in m_diffs[i-1][0] // the error is just the highest order coefficient of the interpolation polynomial // this is because we use only the midpoint theta=0 as support for the interpolation (remember that theta = -1 .. 1) value_type error = 0.0; if( m_control_interpolation ) { boost::numeric::odeint::copy( m_diffs[2*k+1][0].m_v , m_err.m_v ); error = m_error_checker.error( m_algebra , x_start , dxdt_start , m_err.m_v , dt ); } return error; } template< class DerivIn > void calculate_finite_difference( size_t j , size_t kappa , value_type fac , const DerivIn &dxdt ) { const int m = m_interval_sequence[j]/2-1; if( kappa == 0) // no calculation required for 0th derivative of f { m_algebra.for_each2( m_diffs[0][j].m_v , m_derivs[j][m].m_v , typename operations_type::template scale_sum1< value_type >( fac ) ); } else { // calculate the index of m_diffs for this kappa-j-combination const int j_diffs = j - kappa/2; m_algebra.for_each2( m_diffs[kappa][j_diffs].m_v , m_derivs[j][m+kappa].m_v , typename operations_type::template scale_sum1< value_type >( fac ) ); value_type sign = -1.0; int c = 1; //computes the j-th order finite difference for the kappa-th derivative of f at t+dt/2 using function evaluations stored in m_derivs for( int i = m+static_cast(kappa)-2 ; i >= m-static_cast(kappa) ; i -= 2 ) { if( i >= 0 ) { m_algebra.for_each3( m_diffs[kappa][j_diffs].m_v , m_diffs[kappa][j_diffs].m_v , m_derivs[j][i].m_v , typename operations_type::template scale_sum2< value_type , value_type >( 1.0 , sign * fac * boost::math::binomial_coefficient< value_type >( kappa , c ) ) ); } else { m_algebra.for_each3( m_diffs[kappa][j_diffs].m_v , m_diffs[kappa][j_diffs].m_v , dxdt , typename operations_type::template scale_sum2< value_type , value_type >( 1.0 , sign * fac ) ); } sign *= -1; ++c; } } } template< class StateOut > void do_interpolation( time_type t , StateOut &out ) const { // interpolation polynomial is defined for theta = -1 ... 1 // m_k_final is the number of order-iterations done for the last step - it governs the order of the interpolation polynomial const value_type theta = 2 * get_unit_value( (t - m_t_last) / (m_t - m_t_last) ) - 1; // we use only values at interval center, that is theta=0, for interpolation // our interpolation polynomial is thus of order 2k+2, hence we have 2k+3 terms boost::numeric::odeint::copy( m_mp_states[0].m_v , out ); // add remaining terms: x += a_1 theta + a2 theta^2 + ... + a_{2k} theta^{2k} value_type theta_pow( theta ); for( size_t i=0 ; i<=2*m_k_final+1 ; ++i ) { m_algebra.for_each3( out , out , m_diffs[i][0].m_v , typename operations_type::template scale_sum2< value_type >( static_cast(1) , theta_pow ) ); theta_pow *= theta; } } /* Resizer methods */ template< class StateIn > bool resize_impl( const StateIn &x ) { bool resized( false ); resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_x2 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_dxdt1 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_dxdt2 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_err , x , typename is_resizeable::type() ); for( size_t i = 0 ; i < m_k_max ; ++i ) resized |= adjust_size_by_resizeability( m_table[i] , x , typename is_resizeable::type() ); for( size_t i = 0 ; i < m_k_max+1 ; ++i ) resized |= adjust_size_by_resizeability( m_mp_states[i] , x , typename is_resizeable::type() ); for( size_t i = 0 ; i < m_k_max+1 ; ++i ) for( size_t j = 0 ; j < m_derivs[i].size() ; ++j ) resized |= adjust_size_by_resizeability( m_derivs[i][j] , x , typename is_resizeable::type() ); for( size_t i = 0 ; i < 2*m_k_max+1 ; ++i ) for( size_t j = 0 ; j < m_diffs[i].size() ; ++j ) resized |= adjust_size_by_resizeability( m_diffs[i][j] , x , typename is_resizeable::type() ); return resized; } state_type& get_current_state( void ) { return m_current_state_x1 ? m_x1.m_v : m_x2.m_v ; } const state_type& get_current_state( void ) const { return m_current_state_x1 ? m_x1.m_v : m_x2.m_v ; } state_type& get_old_state( void ) { return m_current_state_x1 ? m_x2.m_v : m_x1.m_v ; } const state_type& get_old_state( void ) const { return m_current_state_x1 ? m_x2.m_v : m_x1.m_v ; } deriv_type& get_current_deriv( void ) { return m_current_state_x1 ? m_dxdt1.m_v : m_dxdt2.m_v ; } const deriv_type& get_current_deriv( void ) const { return m_current_state_x1 ? m_dxdt1.m_v : m_dxdt2.m_v ; } deriv_type& get_old_deriv( void ) { return m_current_state_x1 ? m_dxdt2.m_v : m_dxdt1.m_v ; } const deriv_type& get_old_deriv( void ) const { return m_current_state_x1 ? m_dxdt2.m_v : m_dxdt1.m_v ; } void toggle_current_state( void ) { m_current_state_x1 = ! m_current_state_x1; } default_error_checker< value_type, algebra_type , operations_type > m_error_checker; modified_midpoint_dense_out< state_type , value_type , deriv_type , time_type , algebra_type , operations_type , resizer_type > m_midpoint; bool m_control_interpolation; bool m_last_step_rejected; bool m_first; time_type m_t; time_type m_dt; time_type m_dt_last; time_type m_t_last; size_t m_current_k_opt; size_t m_k_final; algebra_type m_algebra; resizer_type m_resizer; wrapped_state_type m_x1 , m_x2; wrapped_deriv_type m_dxdt1 , m_dxdt2; wrapped_state_type m_err; bool m_current_state_x1; value_vector m_error; // errors of repeated midpoint steps and extrapolations int_vector m_interval_sequence; // stores the successive interval counts value_matrix m_coeff; int_vector m_cost; // costs for interval count state_vector_type m_table; // sequence of states for extrapolation //for dense output: state_vector_type m_mp_states; // sequence of approximations of x at distance center deriv_table_type m_derivs; // table of function values deriv_table_type m_diffs; // table of function values //wrapped_state_type m_a1 , m_a2 , m_a3 , m_a4; const value_type STEPFAC1 , STEPFAC2 , STEPFAC3 , STEPFAC4 , KFAC1 , KFAC2; }; /********** DOXYGEN **********/ /** * \class bulirsch_stoer_dense_out * \brief The Bulirsch-Stoer algorithm. * * The Bulirsch-Stoer is a controlled stepper that adjusts both step size * and order of the method. The algorithm uses the modified midpoint and * a polynomial extrapolation compute the solution. This class also provides * dense output facility. * * \tparam State The state type. * \tparam Value The value type. * \tparam Deriv The type representing the time derivative of the state. * \tparam Time The time representing the independent variable - the time. * \tparam Algebra The algebra type. * \tparam Operations The operations type. * \tparam Resizer The resizer policy type. */ /** * \fn bulirsch_stoer_dense_out::bulirsch_stoer_dense_out( value_type eps_abs , value_type eps_rel , value_type factor_x , value_type factor_dxdt , bool control_interpolation ) * \brief Constructs the bulirsch_stoer class, including initialization of * the error bounds. * * \param eps_abs Absolute tolerance level. * \param eps_rel Relative tolerance level. * \param factor_x Factor for the weight of the state. * \param factor_dxdt Factor for the weight of the derivative. * \param control_interpolation Set true to additionally control the error of * the interpolation. */ /** * \fn bulirsch_stoer_dense_out::try_step( System system , const StateIn &in , const DerivIn &dxdt , time_type &t , StateOut &out , DerivOut &dxdt_new , time_type &dt ) * \brief Tries to perform one step. * * This method tries to do one step with step size dt. If the error estimate * is to large, the step is rejected and the method returns fail and the * step size dt is reduced. If the error estimate is acceptably small, the * step is performed, success is returned and dt might be increased to make * the steps as large as possible. This method also updates t if a step is * performed. Also, the internal order of the stepper is adjusted if required. * * \param system The system function to solve, hence the r.h.s. of the ODE. * It must fulfill the Simple System concept. * \param in The state of the ODE which should be solved. * \param dxdt The derivative of state. * \param t The value of the time. Updated if the step is successful. * \param out Used to store the result of the step. * \param dt The step size. Updated. * \return success if the step was accepted, fail otherwise. */ /** * \fn bulirsch_stoer_dense_out::initialize( const StateType &x0 , const time_type &t0 , const time_type &dt0 ) * \brief Initializes the dense output stepper. * * \param x0 The initial state. * \param t0 The initial time. * \param dt0 The initial time step. */ /** * \fn bulirsch_stoer_dense_out::do_step( System system ) * \brief Does one time step. This is the main method that should be used to * integrate an ODE with this stepper. * \note initialize has to be called before using this method to set the * initial conditions x,t and the stepsize. * \param system The system function to solve, hence the r.h.s. of the * ordinary differential equation. It must fulfill the Simple System concept. * \return Pair with start and end time of the integration step. */ /** * \fn bulirsch_stoer_dense_out::calc_state( time_type t , StateOut &x ) const * \brief Calculates the solution at an intermediate point within the last step * \param t The time at which the solution should be calculated, has to be * in the current time interval. * \param x The output variable where the result is written into. */ /** * \fn bulirsch_stoer_dense_out::current_state( void ) const * \brief Returns the current state of the solution. * \return The current state of the solution x(t). */ /** * \fn bulirsch_stoer_dense_out::current_time( void ) const * \brief Returns the current time of the solution. * \return The current time of the solution t. */ /** * \fn bulirsch_stoer_dense_out::previous_state( void ) const * \brief Returns the last state of the solution. * \return The last state of the solution x(t-dt). */ /** * \fn bulirsch_stoer_dense_out::previous_time( void ) const * \brief Returns the last time of the solution. * \return The last time of the solution t-dt. */ /** * \fn bulirsch_stoer_dense_out::current_time_step( void ) const * \brief Returns the current step size. * \return The current step size. */ /** * \fn bulirsch_stoer_dense_out::adjust_size( const StateIn &x ) * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ } } } #endif // BOOST_NUMERIC_ODEINT_STEPPER_BULIRSCH_STOER_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/controlled_runge_kutta.hpp000066400000000000000000001056401265471724600307320ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/controlled_runge_kutta.hpp [begin_description] The default controlled stepper which can be used with all explicit Runge-Kutta error steppers. [end_description] Copyright 2010-2013 Karsten Ahnert Copyright 2010-2013 Mario Mulansky Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_CONTROLLED_RUNGE_KUTTA_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_CONTROLLED_RUNGE_KUTTA_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template < class Value , class Algebra , class Operations > class default_error_checker { public: typedef Value value_type; typedef Algebra algebra_type; typedef Operations operations_type; default_error_checker( value_type eps_abs = static_cast< value_type >( 1.0e-6 ) , value_type eps_rel = static_cast< value_type >( 1.0e-6 ) , value_type a_x = static_cast< value_type >( 1 ) , value_type a_dxdt = static_cast< value_type >( 1 ) ) : m_eps_abs( eps_abs ) , m_eps_rel( eps_rel ) , m_a_x( a_x ) , m_a_dxdt( a_dxdt ) { } template< class State , class Deriv , class Err , class Time > value_type error( const State &x_old , const Deriv &dxdt_old , Err &x_err , Time dt ) const { return error( algebra_type() , x_old , dxdt_old , x_err , dt ); } template< class State , class Deriv , class Err , class Time > value_type error( algebra_type &algebra , const State &x_old , const Deriv &dxdt_old , Err &x_err , Time dt ) const { // this overwrites x_err ! algebra.for_each3( x_err , x_old , dxdt_old , typename operations_type::template rel_error< value_type >( m_eps_abs , m_eps_rel , m_a_x , m_a_dxdt * get_unit_value( dt ) ) ); // value_type res = algebra.reduce( x_err , // typename operations_type::template maximum< value_type >() , static_cast< value_type >( 0 ) ); return algebra.norm_inf( x_err ); } private: value_type m_eps_abs; value_type m_eps_rel; value_type m_a_x; value_type m_a_dxdt; }; /* * error stepper category dispatcher */ template< class ErrorStepper , class ErrorChecker = default_error_checker< typename ErrorStepper::value_type , typename ErrorStepper::algebra_type , typename ErrorStepper::operations_type > , class Resizer = typename ErrorStepper::resizer_type , class ErrorStepperCategory = typename ErrorStepper::stepper_category > class controlled_runge_kutta ; /* * explicit stepper version * * this class introduces the following try_step overloads * try_step( sys , x , t , dt ) * try_step( sys , x , dxdt , t , dt ) * try_step( sys , in , t , out , dt ) * try_step( sys , in , dxdt , t , out , dt ) */ /** * \brief Implements step size control for Runge-Kutta steppers with error * estimation. * * This class implements the step size control for standard Runge-Kutta * steppers with error estimation. * * \tparam ErrorStepper The stepper type with error estimation, has to fulfill the ErrorStepper concept. * \tparam ErrorChecker The error checker * \tparam Resizer The resizer policy type. */ template< class ErrorStepper , class ErrorChecker , class Resizer > class controlled_runge_kutta< ErrorStepper , ErrorChecker , Resizer , explicit_error_stepper_tag > { public: typedef ErrorStepper stepper_type; typedef typename stepper_type::state_type state_type; typedef typename stepper_type::value_type value_type; typedef typename stepper_type::deriv_type deriv_type; typedef typename stepper_type::time_type time_type; typedef typename stepper_type::algebra_type algebra_type; typedef typename stepper_type::operations_type operations_type; typedef Resizer resizer_type; typedef ErrorChecker error_checker_type; typedef explicit_controlled_stepper_tag stepper_category; #ifndef DOXYGEN_SKIP typedef typename stepper_type::wrapped_state_type wrapped_state_type; typedef typename stepper_type::wrapped_deriv_type wrapped_deriv_type; typedef controlled_runge_kutta< ErrorStepper , ErrorChecker , Resizer , explicit_error_stepper_tag > controlled_stepper_type; #endif //DOXYGEN_SKIP /** * \brief Constructs the controlled Runge-Kutta stepper. * \param error_checker An instance of the error checker. * \param stepper An instance of the underlying stepper. */ controlled_runge_kutta( const error_checker_type &error_checker = error_checker_type( ) , const stepper_type &stepper = stepper_type( ) ) : m_stepper( stepper ) , m_error_checker( error_checker ) { } /* * Version 1 : try_step( sys , x , t , dt ) * * The overloads are needed to solve the forwarding problem */ /** * \brief Tries to perform one step. * * This method tries to do one step with step size dt. If the error estimate * is to large, the step is rejected and the method returns fail and the * step size dt is reduced. If the error estimate is acceptably small, the * step is performed, success is returned and dt might be increased to make * the steps as large as possible. This method also updates t if a step is * performed. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. Overwritten if * the step is successful. * \param t The value of the time. Updated if the step is successful. * \param dt The step size. Updated. * \return success if the step was accepted, fail otherwise. */ template< class System , class StateInOut > controlled_step_result try_step( System system , StateInOut &x , time_type &t , time_type &dt ) { return try_step_v1( system , x , t, dt ); } /** * \brief Tries to perform one step. Solves the forwarding problem and * allows for using boost range as state_type. * * This method tries to do one step with step size dt. If the error estimate * is to large, the step is rejected and the method returns fail and the * step size dt is reduced. If the error estimate is acceptably small, the * step is performed, success is returned and dt might be increased to make * the steps as large as possible. This method also updates t if a step is * performed. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. Overwritten if * the step is successful. Can be a boost range. * \param t The value of the time. Updated if the step is successful. * \param dt The step size. Updated. * \return success if the step was accepted, fail otherwise. */ template< class System , class StateInOut > controlled_step_result try_step( System system , const StateInOut &x , time_type &t , time_type &dt ) { return try_step_v1( system , x , t, dt ); } /* * Version 2 : try_step( sys , x , dxdt , t , dt ) * * this version does not solve the forwarding problem, boost.range can not be used */ /** * \brief Tries to perform one step. * * This method tries to do one step with step size dt. If the error estimate * is to large, the step is rejected and the method returns fail and the * step size dt is reduced. If the error estimate is acceptably small, the * step is performed, success is returned and dt might be increased to make * the steps as large as possible. This method also updates t if a step is * performed. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. Overwritten if * the step is successful. * \param dxdt The derivative of state. * \param t The value of the time. Updated if the step is successful. * \param dt The step size. Updated. * \return success if the step was accepted, fail otherwise. */ template< class System , class StateInOut , class DerivIn > controlled_step_result try_step( System system , StateInOut &x , const DerivIn &dxdt , time_type &t , time_type &dt ) { m_xnew_resizer.adjust_size( x , detail::bind( &controlled_runge_kutta::template resize_m_xnew_impl< StateInOut > , detail::ref( *this ) , detail::_1 ) ); controlled_step_result res = try_step( system , x , dxdt , t , m_xnew.m_v , dt ); if( res == success ) { boost::numeric::odeint::copy( m_xnew.m_v , x ); } return res; } /* * Version 3 : try_step( sys , in , t , out , dt ) * * this version does not solve the forwarding problem, boost.range can not be used * * the disable is needed to avoid ambiguous overloads if state_type = time_type */ /** * \brief Tries to perform one step. * * \note This method is disabled if state_type=time_type to avoid ambiguity. * * This method tries to do one step with step size dt. If the error estimate * is to large, the step is rejected and the method returns fail and the * step size dt is reduced. If the error estimate is acceptably small, the * step is performed, success is returned and dt might be increased to make * the steps as large as possible. This method also updates t if a step is * performed. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. * \param t The value of the time. Updated if the step is successful. * \param out Used to store the result of the step. * \param dt The step size. Updated. * \return success if the step was accepted, fail otherwise. */ template< class System , class StateIn , class StateOut > typename boost::disable_if< boost::is_same< StateIn , time_type > , controlled_step_result >::type try_step( System system , const StateIn &in , time_type &t , StateOut &out , time_type &dt ) { typename odeint::unwrap_reference< System >::type &sys = system; m_dxdt_resizer.adjust_size( in , detail::bind( &controlled_runge_kutta::template resize_m_dxdt_impl< StateIn > , detail::ref( *this ) , detail::_1 ) ); sys( in , m_dxdt.m_v , t ); return try_step( system , in , m_dxdt.m_v , t , out , dt ); } /* * Version 4 : try_step( sys , in , dxdt , t , out , dt ) * * this version does not solve the forwarding problem, boost.range can not be used */ /** * \brief Tries to perform one step. * * This method tries to do one step with step size dt. If the error estimate * is to large, the step is rejected and the method returns fail and the * step size dt is reduced. If the error estimate is acceptably small, the * step is performed, success is returned and dt might be increased to make * the steps as large as possible. This method also updates t if a step is * performed. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. * \param dxdt The derivative of state. * \param t The value of the time. Updated if the step is successful. * \param out Used to store the result of the step. * \param dt The step size. Updated. * \return success if the step was accepted, fail otherwise. */ template< class System , class StateIn , class DerivIn , class StateOut > controlled_step_result try_step( System system , const StateIn &in , const DerivIn &dxdt , time_type &t , StateOut &out , time_type &dt ) { BOOST_USING_STD_MIN(); BOOST_USING_STD_MAX(); using std::pow; m_xerr_resizer.adjust_size( in , detail::bind( &controlled_runge_kutta::template resize_m_xerr_impl< StateIn > , detail::ref( *this ) , detail::_1 ) ); // do one step with error calculation m_stepper.do_step( system , in , dxdt , t , out , dt , m_xerr.m_v ); m_max_rel_error = m_error_checker.error( m_stepper.algebra() , in , dxdt , m_xerr.m_v , dt ); if( m_max_rel_error > 1.0 ) { // error too large - decrease dt ,limit scaling factor to 0.2 and reset state dt *= max BOOST_PREVENT_MACRO_SUBSTITUTION ( static_cast( static_cast(9)/static_cast(10) * pow( m_max_rel_error , static_cast(-1) / ( m_stepper.error_order() - 1 ) ) ) , static_cast( static_cast(1)/static_cast (5) ) ); return fail; } else { if( m_max_rel_error < 0.5 ) { // error should be > 0 m_max_rel_error = max BOOST_PREVENT_MACRO_SUBSTITUTION ( static_cast( pow( static_cast(5.0) , -static_cast(m_stepper.stepper_order()) ) ) , m_max_rel_error ); //error too small - increase dt and keep the evolution and limit scaling factor to 5.0 t += dt; dt *= static_cast(9)/static_cast(10) * pow( m_max_rel_error , static_cast(-1) / m_stepper.stepper_order() ); return success; } else { t += dt; return success; } } } /** * \brief Returns the error of the last step. * * returns The last error of the step. */ value_type last_error( void ) const { return m_max_rel_error; } /** * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ template< class StateType > void adjust_size( const StateType &x ) { resize_m_xerr_impl( x ); resize_m_dxdt_impl( x ); resize_m_xnew_impl( x ); m_stepper.adjust_size( x ); } /** * \brief Returns the instance of the underlying stepper. * \returns The instance of the underlying stepper. */ stepper_type& stepper( void ) { return m_stepper; } /** * \brief Returns the instance of the underlying stepper. * \returns The instance of the underlying stepper. */ const stepper_type& stepper( void ) const { return m_stepper; } private: template< class System , class StateInOut > controlled_step_result try_step_v1( System system , StateInOut &x , time_type &t , time_type &dt ) { typename odeint::unwrap_reference< System >::type &sys = system; m_dxdt_resizer.adjust_size( x , detail::bind( &controlled_runge_kutta::template resize_m_dxdt_impl< StateInOut > , detail::ref( *this ) , detail::_1 ) ); sys( x , m_dxdt.m_v ,t ); return try_step( system , x , m_dxdt.m_v , t , dt ); } template< class StateIn > bool resize_m_xerr_impl( const StateIn &x ) { return adjust_size_by_resizeability( m_xerr , x , typename is_resizeable::type() ); } template< class StateIn > bool resize_m_dxdt_impl( const StateIn &x ) { return adjust_size_by_resizeability( m_dxdt , x , typename is_resizeable::type() ); } template< class StateIn > bool resize_m_xnew_impl( const StateIn &x ) { return adjust_size_by_resizeability( m_xnew , x , typename is_resizeable::type() ); } stepper_type m_stepper; error_checker_type m_error_checker; resizer_type m_dxdt_resizer; resizer_type m_xerr_resizer; resizer_type m_xnew_resizer; wrapped_deriv_type m_dxdt; wrapped_state_type m_xerr; wrapped_state_type m_xnew; value_type m_max_rel_error; }; /* * explicit stepper fsal version * * the class introduces the following try_step overloads * try_step( sys , x , t , dt ) * try_step( sys , in , t , out , dt ) * try_step( sys , x , dxdt , t , dt ) * try_step( sys , in , dxdt_in , t , out , dxdt_out , dt ) */ /** * \brief Implements step size control for Runge-Kutta FSAL steppers with * error estimation. * * This class implements the step size control for FSAL Runge-Kutta * steppers with error estimation. * * \tparam ErrorStepper The stepper type with error estimation, has to fulfill the ErrorStepper concept. * \tparam ErrorChecker The error checker * \tparam Resizer The resizer policy type. */ template< class ErrorStepper , class ErrorChecker , class Resizer > class controlled_runge_kutta< ErrorStepper , ErrorChecker , Resizer , explicit_error_stepper_fsal_tag > { public: typedef ErrorStepper stepper_type; typedef typename stepper_type::state_type state_type; typedef typename stepper_type::value_type value_type; typedef typename stepper_type::deriv_type deriv_type; typedef typename stepper_type::time_type time_type; typedef typename stepper_type::algebra_type algebra_type; typedef typename stepper_type::operations_type operations_type; typedef Resizer resizer_type; typedef ErrorChecker error_checker_type; typedef explicit_controlled_stepper_fsal_tag stepper_category; #ifndef DOXYGEN_SKIP typedef typename stepper_type::wrapped_state_type wrapped_state_type; typedef typename stepper_type::wrapped_deriv_type wrapped_deriv_type; typedef controlled_runge_kutta< ErrorStepper , ErrorChecker , Resizer , explicit_error_stepper_tag > controlled_stepper_type; #endif // DOXYGEN_SKIP /** * \brief Constructs the controlled Runge-Kutta stepper. * \param error_checker An instance of the error checker. * \param stepper An instance of the underlying stepper. */ controlled_runge_kutta( const error_checker_type &error_checker = error_checker_type() , const stepper_type &stepper = stepper_type() ) : m_stepper( stepper ) , m_error_checker( error_checker ) , m_first_call( true ) { } /* * Version 1 : try_step( sys , x , t , dt ) * * The two overloads are needed in order to solve the forwarding problem */ /** * \brief Tries to perform one step. * * This method tries to do one step with step size dt. If the error estimate * is to large, the step is rejected and the method returns fail and the * step size dt is reduced. If the error estimate is acceptably small, the * step is performed, success is returned and dt might be increased to make * the steps as large as possible. This method also updates t if a step is * performed. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. Overwritten if * the step is successful. * \param t The value of the time. Updated if the step is successful. * \param dt The step size. Updated. * \return success if the step was accepted, fail otherwise. */ template< class System , class StateInOut > controlled_step_result try_step( System system , StateInOut &x , time_type &t , time_type &dt ) { return try_step_v1( system , x , t , dt ); } /** * \brief Tries to perform one step. Solves the forwarding problem and * allows for using boost range as state_type. * * This method tries to do one step with step size dt. If the error estimate * is to large, the step is rejected and the method returns fail and the * step size dt is reduced. If the error estimate is acceptably small, the * step is performed, success is returned and dt might be increased to make * the steps as large as possible. This method also updates t if a step is * performed. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. Overwritten if * the step is successful. Can be a boost range. * \param t The value of the time. Updated if the step is successful. * \param dt The step size. Updated. * \return success if the step was accepted, fail otherwise. */ template< class System , class StateInOut > controlled_step_result try_step( System system , const StateInOut &x , time_type &t , time_type &dt ) { return try_step_v1( system , x , t , dt ); } /* * Version 2 : try_step( sys , in , t , out , dt ); * * This version does not solve the forwarding problem, boost::range can not be used. * * The disabler is needed to solve ambiguous overloads */ /** * \brief Tries to perform one step. * * \note This method is disabled if state_type=time_type to avoid ambiguity. * * This method tries to do one step with step size dt. If the error estimate * is to large, the step is rejected and the method returns fail and the * step size dt is reduced. If the error estimate is acceptably small, the * step is performed, success is returned and dt might be increased to make * the steps as large as possible. This method also updates t if a step is * performed. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. * \param t The value of the time. Updated if the step is successful. * \param out Used to store the result of the step. * \param dt The step size. Updated. * \return success if the step was accepted, fail otherwise. */ template< class System , class StateIn , class StateOut > typename boost::disable_if< boost::is_same< StateIn , time_type > , controlled_step_result >::type try_step( System system , const StateIn &in , time_type &t , StateOut &out , time_type &dt ) { if( m_dxdt_resizer.adjust_size( in , detail::bind( &controlled_runge_kutta::template resize_m_dxdt_impl< StateIn > , detail::ref( *this ) , detail::_1 ) ) || m_first_call ) { initialize( system , in , t ); } return try_step( system , in , m_dxdt.m_v , t , out , dt ); } /* * Version 3 : try_step( sys , x , dxdt , t , dt ) * * This version does not solve the forwarding problem, boost::range can not be used. */ /** * \brief Tries to perform one step. * * This method tries to do one step with step size dt. If the error estimate * is to large, the step is rejected and the method returns fail and the * step size dt is reduced. If the error estimate is acceptably small, the * step is performed, success is returned and dt might be increased to make * the steps as large as possible. This method also updates t if a step is * performed. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param x The state of the ODE which should be solved. Overwritten if * the step is successful. * \param dxdt The derivative of state. * \param t The value of the time. Updated if the step is successful. * \param dt The step size. Updated. * \return success if the step was accepted, fail otherwise. */ template< class System , class StateInOut , class DerivInOut > controlled_step_result try_step( System system , StateInOut &x , DerivInOut &dxdt , time_type &t , time_type &dt ) { m_xnew_resizer.adjust_size( x , detail::bind( &controlled_runge_kutta::template resize_m_xnew_impl< StateInOut > , detail::ref( *this ) , detail::_1 ) ); m_dxdt_new_resizer.adjust_size( x , detail::bind( &controlled_runge_kutta::template resize_m_dxdt_new_impl< StateInOut > , detail::ref( *this ) , detail::_1 ) ); controlled_step_result res = try_step( system , x , dxdt , t , m_xnew.m_v , m_dxdtnew.m_v , dt ); if( res == success ) { boost::numeric::odeint::copy( m_xnew.m_v , x ); boost::numeric::odeint::copy( m_dxdtnew.m_v , dxdt ); } return res; } /* * Version 4 : try_step( sys , in , dxdt_in , t , out , dxdt_out , dt ) * * This version does not solve the forwarding problem, boost::range can not be used. */ /** * \brief Tries to perform one step. * * This method tries to do one step with step size dt. If the error estimate * is to large, the step is rejected and the method returns fail and the * step size dt is reduced. If the error estimate is acceptably small, the * step is performed, success is returned and dt might be increased to make * the steps as large as possible. This method also updates t if a step is * performed. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. * \param dxdt The derivative of state. * \param t The value of the time. Updated if the step is successful. * \param out Used to store the result of the step. * \param dt The step size. Updated. * \return success if the step was accepted, fail otherwise. */ template< class System , class StateIn , class DerivIn , class StateOut , class DerivOut > controlled_step_result try_step( System system , const StateIn &in , const DerivIn &dxdt_in , time_type &t , StateOut &out , DerivOut &dxdt_out , time_type &dt ) { BOOST_USING_STD_MIN(); BOOST_USING_STD_MAX(); using std::pow; m_xerr_resizer.adjust_size( in , detail::bind( &controlled_runge_kutta::template resize_m_xerr_impl< StateIn > , detail::ref( *this ) , detail::_1 ) ); //fsal: m_stepper.get_dxdt( dxdt ); //fsal: m_stepper.do_step( sys , x , dxdt , t , dt , m_x_err ); m_stepper.do_step( system , in , dxdt_in , t , out , dxdt_out , dt , m_xerr.m_v ); // this potentially overwrites m_x_err! (standard_error_checker does, at least) value_type max_rel_err = m_error_checker.error( m_stepper.algebra() , in , dxdt_in , m_xerr.m_v , dt ); if( max_rel_err > 1.0 ) { // error too large - decrease dt ,limit scaling factor to 0.2 and reset state dt *= max BOOST_PREVENT_MACRO_SUBSTITUTION ( static_cast( static_cast(9)/static_cast(10) * pow( max_rel_err , static_cast(-1) / ( m_stepper.error_order() - 1 ) ) ) , static_cast( static_cast(1)/static_cast (5)) ); return fail; } else { if( max_rel_err < 0.5 ) { //error too small - increase dt and keep the evolution and limit scaling factor to 5.0 // error should be > 0 max_rel_err = max BOOST_PREVENT_MACRO_SUBSTITUTION ( static_cast( pow( static_cast(5.0) , -static_cast(m_stepper.stepper_order()) ) ) , max_rel_err ); t += dt; dt *= static_cast( static_cast(9)/static_cast(10) * pow( max_rel_err , static_cast(-1) / m_stepper.stepper_order() ) ); return success; } else { t += dt; return success; } } } /** * \brief Resets the internal state of the underlying FSAL stepper. */ void reset( void ) { m_first_call = true; } /** * \brief Initializes the internal state storing an internal copy of the derivative. * * \param deriv The initial derivative of the ODE. */ template< class DerivIn > void initialize( const DerivIn &deriv ) { boost::numeric::odeint::copy( deriv , m_dxdt.m_v ); m_first_call = false; } /** * \brief Initializes the internal state storing an internal copy of the derivative. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param x The initial state of the ODE which should be solved. * \param t The initial time. */ template< class System , class StateIn > void initialize( System system , const StateIn &x , time_type t ) { typename odeint::unwrap_reference< System >::type &sys = system; sys( x , m_dxdt.m_v , t ); m_first_call = false; } /** * \brief Returns true if the stepper has been initialized, false otherwise. * * \return true, if the stepper has been initialized, false otherwise. */ bool is_initialized( void ) const { return ! m_first_call; } /** * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ template< class StateType > void adjust_size( const StateType &x ) { resize_m_xerr_impl( x ); resize_m_dxdt_impl( x ); resize_m_dxdt_new_impl( x ); resize_m_xnew_impl( x ); } /** * \brief Returns the instance of the underlying stepper. * \returns The instance of the underlying stepper. */ stepper_type& stepper( void ) { return m_stepper; } /** * \brief Returns the instance of the underlying stepper. * \returns The instance of the underlying stepper. */ const stepper_type& stepper( void ) const { return m_stepper; } private: template< class StateIn > bool resize_m_xerr_impl( const StateIn &x ) { return adjust_size_by_resizeability( m_xerr , x , typename is_resizeable::type() ); } template< class StateIn > bool resize_m_dxdt_impl( const StateIn &x ) { return adjust_size_by_resizeability( m_dxdt , x , typename is_resizeable::type() ); } template< class StateIn > bool resize_m_dxdt_new_impl( const StateIn &x ) { return adjust_size_by_resizeability( m_dxdtnew , x , typename is_resizeable::type() ); } template< class StateIn > bool resize_m_xnew_impl( const StateIn &x ) { return adjust_size_by_resizeability( m_xnew , x , typename is_resizeable::type() ); } template< class System , class StateInOut > controlled_step_result try_step_v1( System system , StateInOut &x , time_type &t , time_type &dt ) { if( m_dxdt_resizer.adjust_size( x , detail::bind( &controlled_runge_kutta::template resize_m_dxdt_impl< StateInOut > , detail::ref( *this ) , detail::_1 ) ) || m_first_call ) { initialize( system , x , t ); } return try_step( system , x , m_dxdt.m_v , t , dt ); } stepper_type m_stepper; error_checker_type m_error_checker; resizer_type m_dxdt_resizer; resizer_type m_xerr_resizer; resizer_type m_xnew_resizer; resizer_type m_dxdt_new_resizer; wrapped_deriv_type m_dxdt; wrapped_state_type m_xerr; wrapped_state_type m_xnew; wrapped_deriv_type m_dxdtnew; bool m_first_call; }; /********** DOXYGEN **********/ /**** DEFAULT ERROR CHECKER ****/ /** * \class default_error_checker * \brief The default error checker to be used with Runge-Kutta error steppers * * This class provides the default mechanism to compare the error estimates * reported by Runge-Kutta error steppers with user defined error bounds. * It is used by the controlled_runge_kutta steppers. * * \tparam Value The value type. * \tparam Algebra The algebra type. * \tparam Operations The operations type. */ /** * \fn default_error_checker( value_type eps_abs , value_type eps_rel , value_type a_x , value_type a_dxdt ) * \brief Constructs the error checker. * * The error is calculated as follows: ???? * * \param eps_abs Absolute tolerance level. * \param eps_rel Relative tolerance level. * \param a_x Factor for the weight of the state. * \param a_dxdt Factor for the weight of the derivative. */ /** * \fn error( const State &x_old , const Deriv &dxdt_old , Err &x_err , Time dt ) const * \brief Calculates the error level. * * If the returned error level is greater than 1, the estimated error was * larger than the permitted error bounds and the step should be repeated * with a smaller step size. * * \param x_old State at the beginning of the step. * \param dxdt_old Derivative at the beginning of the step. * \param x_err Error estimate. * \param dt Time step. * \return error */ /** * \fn error( algebra_type &algebra , const State &x_old , const Deriv &dxdt_old , Err &x_err , Time dt ) const * \brief Calculates the error level using a given algebra. * * If the returned error level is greater than 1, the estimated error was * larger than the permitted error bounds and the step should be repeated * with a smaller step size. * * \param algebra The algebra used for calculation of the error. * \param x_old State at the beginning of the step. * \param dxdt_old Derivative at the beginning of the step. * \param x_err Error estimate. * \param dt Time step. * \return error */ } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_CONTROLLED_RUNGE_KUTTA_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/controlled_step_result.hpp000066400000000000000000000021041265471724600307420ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/controlled_step_result.hpp [begin_description] Defines the result type for all controlled stepper. [end_description] Copyright 2011-2013 Karsten Ahnert Copyright 2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_CONTROLLED_STEP_RESULT_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_CONTROLLED_STEP_RESULT_HPP_INCLUDED namespace boost { namespace numeric { namespace odeint { /** * \enum controlled_step_result * * \brief Enum representing the return values of the controlled steppers. */ typedef enum { success , /**< The trial step was successful, hence the state and the time have been advanced. */ fail /**< The step was not successful and might possibly be repeated with a small step size. */ } controlled_step_result; } // namespace odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_CONTROLLED_STEP_RESULT_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp000066400000000000000000000341321265471724600313000ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp [begin_description] Implementation of the Dense-output stepper for all steppers. Note, that this class does not computes the result but serves as an interface. [end_description] Copyright 2011-2013 Karsten Ahnert Copyright 2011-2012 Mario Mulansky Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_DENSE_OUTPUT_RUNGE_KUTTA_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_DENSE_OUTPUT_RUNGE_KUTTA_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class Stepper , class StepperCategory = typename Stepper::stepper_category > class dense_output_runge_kutta; /** * \brief The class representing dense-output Runge-Kutta steppers. * \note In this stepper, the initialize method has to be called before using * the do_step method. * * The dense-output functionality allows to interpolate the solution between * subsequent integration points using intermediate results obtained during the * computation. This version works based on a normal stepper without step-size * control. * * * \tparam Stepper The stepper type of the underlying algorithm. */ template< class Stepper > class dense_output_runge_kutta< Stepper , stepper_tag > { public: /* * We do not need all typedefs. */ typedef Stepper stepper_type; typedef typename stepper_type::state_type state_type; typedef typename stepper_type::wrapped_state_type wrapped_state_type; typedef typename stepper_type::value_type value_type; typedef typename stepper_type::deriv_type deriv_type; typedef typename stepper_type::wrapped_deriv_type wrapped_deriv_type; typedef typename stepper_type::time_type time_type; typedef typename stepper_type::algebra_type algebra_type; typedef typename stepper_type::operations_type operations_type; typedef typename stepper_type::resizer_type resizer_type; typedef dense_output_stepper_tag stepper_category; typedef dense_output_runge_kutta< Stepper > dense_output_stepper_type; /** * \brief Constructs the dense_output_runge_kutta class. An instance of the * underlying stepper can be provided. * \param stepper An instance of the underlying stepper. */ dense_output_runge_kutta( const stepper_type &stepper = stepper_type() ) : m_stepper( stepper ) , m_resizer() , m_x1() , m_x2() , m_current_state_x1( true ) , m_t() , m_t_old() , m_dt() { } /** * \brief Initializes the stepper. Has to be called before do_step can be * used to set the initial conditions and the step size. * \param x0 The initial state of the ODE which should be solved. * \param t0 The initial time, at which the step should be performed. * \param dt0 The step size. */ template< class StateType > void initialize( const StateType &x0 , time_type t0 , time_type dt0 ) { m_resizer.adjust_size( x0 , detail::bind( &dense_output_stepper_type::template resize_impl< StateType > , detail::ref( *this ) , detail::_1 ) ); boost::numeric::odeint::copy( x0 , get_current_state() ); m_t = t0; m_dt = dt0; } /** * \brief Does one time step. * \note initialize has to be called before using this method to set the * initial conditions x,t and the stepsize. * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the * Simple System concept. * \return Pair with start and end time of the integration step. */ template< class System > std::pair< time_type , time_type > do_step( System system ) { m_stepper.do_step( system , get_current_state() , m_t , get_old_state() , m_dt ); m_t_old = m_t; m_t += m_dt; toggle_current_state(); return std::make_pair( m_t_old , m_dt ); } /* * The next two overloads are needed to solve the forwarding problem */ /** * \brief Calculates the solution at an intermediate point. * \param t The time at which the solution should be calculated, has to be * in the current time interval. * \param x The output variable where the result is written into. */ template< class StateOut > void calc_state( time_type t , StateOut &x ) const { if( t == current_time() ) { boost::numeric::odeint::copy( get_current_state() , x ); } m_stepper.calc_state( x , t , get_old_state() , m_t_old , get_current_state() , m_t ); } /** * \brief Calculates the solution at an intermediate point. Solves the forwarding problem * \param t The time at which the solution should be calculated, has to be * in the current time interval. * \param x The output variable where the result is written into, can be a boost range. */ template< class StateOut > void calc_state( time_type t , const StateOut &x ) const { m_stepper.calc_state( x , t , get_old_state() , m_t_old , get_current_state() , m_t ); } /** * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ template< class StateType > void adjust_size( const StateType &x ) { resize_impl( x ); m_stepper.stepper().resize( x ); } /** * \brief Returns the current state of the solution. * \return The current state of the solution x(t). */ const state_type& current_state( void ) const { return get_current_state(); } /** * \brief Returns the current time of the solution. * \return The current time of the solution t. */ time_type current_time( void ) const { return m_t; } /** * \brief Returns the last state of the solution. * \return The last state of the solution x(t-dt). */ const state_type& previous_state( void ) const { return get_old_state(); } /** * \brief Returns the last time of the solution. * \return The last time of the solution t-dt. */ time_type previous_time( void ) const { return m_t_old; } private: state_type& get_current_state( void ) { return m_current_state_x1 ? m_x1.m_v : m_x2.m_v ; } const state_type& get_current_state( void ) const { return m_current_state_x1 ? m_x1.m_v : m_x2.m_v ; } state_type& get_old_state( void ) { return m_current_state_x1 ? m_x2.m_v : m_x1.m_v ; } const state_type& get_old_state( void ) const { return m_current_state_x1 ? m_x2.m_v : m_x1.m_v ; } void toggle_current_state( void ) { m_current_state_x1 = ! m_current_state_x1; } template< class StateIn > bool resize_impl( const StateIn &x ) { bool resized = false; resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_x2 , x , typename is_resizeable::type() ); return resized; } stepper_type m_stepper; resizer_type m_resizer; wrapped_state_type m_x1 , m_x2; bool m_current_state_x1; // if true, the current state is m_x1 time_type m_t , m_t_old , m_dt; }; /** * \brief The class representing dense-output Runge-Kutta steppers with FSAL property. * * The interface is the same as for dense_output_runge_kutta< Stepper , stepper_tag >. * This class provides dense output functionality based on methods with step size controlled * * * \tparam Stepper The stepper type of the underlying algorithm. */ template< class Stepper > class dense_output_runge_kutta< Stepper , explicit_controlled_stepper_fsal_tag > { public: /* * We do not need all typedefs. */ typedef Stepper controlled_stepper_type; typedef typename controlled_stepper_type::stepper_type stepper_type; typedef typename stepper_type::state_type state_type; typedef typename stepper_type::wrapped_state_type wrapped_state_type; typedef typename stepper_type::value_type value_type; typedef typename stepper_type::deriv_type deriv_type; typedef typename stepper_type::wrapped_deriv_type wrapped_deriv_type; typedef typename stepper_type::time_type time_type; typedef typename stepper_type::algebra_type algebra_type; typedef typename stepper_type::operations_type operations_type; typedef typename stepper_type::resizer_type resizer_type; typedef dense_output_stepper_tag stepper_category; typedef dense_output_runge_kutta< Stepper > dense_output_stepper_type; dense_output_runge_kutta( const controlled_stepper_type &stepper = controlled_stepper_type() ) : m_stepper( stepper ) , m_resizer() , m_current_state_x1( true ) , m_x1() , m_x2() , m_dxdt1() , m_dxdt2() , m_t() , m_t_old() , m_dt() , m_is_deriv_initialized( false ) { } template< class StateType > void initialize( const StateType &x0 , time_type t0 , time_type dt0 ) { m_resizer.adjust_size( x0 , detail::bind( &dense_output_stepper_type::template resize< StateType > , detail::ref( *this ) , detail::_1 ) ); boost::numeric::odeint::copy( x0 , get_current_state() ); m_t = t0; m_dt = dt0; m_is_deriv_initialized = false; } template< class System > std::pair< time_type , time_type > do_step( System system ) { const size_t max_count = 1000; if( !m_is_deriv_initialized ) { typename odeint::unwrap_reference< System >::type &sys = system; sys( get_current_state() , get_current_deriv() , m_t ); m_is_deriv_initialized = true; } controlled_step_result res = fail; m_t_old = m_t; size_t count = 0; do { res = m_stepper.try_step( system , get_current_state() , get_current_deriv() , m_t , get_old_state() , get_old_deriv() , m_dt ); if( count++ == max_count ) BOOST_THROW_EXCEPTION( std::overflow_error( "dense_output_controlled_explicit : too much iterations!") ); } while( res == fail ); toggle_current_state(); return std::make_pair( m_t_old , m_t ); } /* * The two overloads are needed in order to solve the forwarding problem. */ template< class StateOut > void calc_state( time_type t , StateOut &x ) const { m_stepper.stepper().calc_state( t , x , get_old_state() , get_old_deriv() , m_t_old , get_current_state() , get_current_deriv() , m_t ); } template< class StateOut > void calc_state( time_type t , const StateOut &x ) const { m_stepper.stepper().calc_state( t , x , get_old_state() , get_old_deriv() , m_t_old , get_current_state() , get_current_deriv() , m_t ); } template< class StateIn > bool resize( const StateIn &x ) { bool resized = false; resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_x2 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_dxdt1 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_dxdt2 , x , typename is_resizeable::type() ); return resized; } template< class StateType > void adjust_size( const StateType &x ) { resize( x ); m_stepper.stepper().resize( x ); } const state_type& current_state( void ) const { return get_current_state(); } time_type current_time( void ) const { return m_t; } const state_type& previous_state( void ) const { return get_old_state(); } time_type previous_time( void ) const { return m_t_old; } time_type current_time_step( void ) const { return m_dt; } private: state_type& get_current_state( void ) { return m_current_state_x1 ? m_x1.m_v : m_x2.m_v ; } const state_type& get_current_state( void ) const { return m_current_state_x1 ? m_x1.m_v : m_x2.m_v ; } state_type& get_old_state( void ) { return m_current_state_x1 ? m_x2.m_v : m_x1.m_v ; } const state_type& get_old_state( void ) const { return m_current_state_x1 ? m_x2.m_v : m_x1.m_v ; } deriv_type& get_current_deriv( void ) { return m_current_state_x1 ? m_dxdt1.m_v : m_dxdt2.m_v ; } const deriv_type& get_current_deriv( void ) const { return m_current_state_x1 ? m_dxdt1.m_v : m_dxdt2.m_v ; } deriv_type& get_old_deriv( void ) { return m_current_state_x1 ? m_dxdt2.m_v : m_dxdt1.m_v ; } const deriv_type& get_old_deriv( void ) const { return m_current_state_x1 ? m_dxdt2.m_v : m_dxdt1.m_v ; } void toggle_current_state( void ) { m_current_state_x1 = ! m_current_state_x1; } controlled_stepper_type m_stepper; resizer_type m_resizer; bool m_current_state_x1; wrapped_state_type m_x1 , m_x2; wrapped_deriv_type m_dxdt1 , m_dxdt2; time_type m_t , m_t_old , m_dt; bool m_is_deriv_initialized; }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_DENSE_OUTPUT_RUNGE_KUTTA_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/detail/000077500000000000000000000000001265471724600247005ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/stepper/detail/adams_bashforth_call_algebra.hpp000066400000000000000000000154101265471724600332070ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/detail/adams_bashforth_call_algebra.hpp [begin_description] Algebra caller for the Adams Bashforth stepper. [end_description] Copyright 2011-2012 Karsten Ahnert Copyright 2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_DETAIL_ADAMS_BASHFORTH_CALL_ALGEBRA_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_ADAMS_BASHFORTH_CALL_ALGEBRA_HPP_INCLUDED #include namespace boost { namespace numeric { namespace odeint { namespace detail { template< size_t Step , class Algebra , class Operations > struct adams_bashforth_call_algebra; template< class Algebra , class Operations > struct adams_bashforth_call_algebra< 1 , Algebra , Operations > { template< class StateIn , class StateOut , class StepStorage , class Coefficients , class Time > void operator()( Algebra &algebra , const StateIn &in , StateOut &out , const StepStorage &steps , const Coefficients &coef , Time dt ) const { typedef typename Coefficients::value_type value_type; algebra.for_each3( out , in , steps[0].m_v , typename Operations::template scale_sum2< value_type , Time >( 1.0 , dt * coef[0] ) ); } }; template< class Algebra , class Operations > struct adams_bashforth_call_algebra< 2 , Algebra , Operations > { template< class StateIn , class StateOut , class StepStorage , class Coefficients , class Time > void operator()( Algebra &algebra , const StateIn &in , StateOut &out , const StepStorage &steps , const Coefficients &coef , Time dt ) const { typedef typename Coefficients::value_type value_type; algebra.for_each4( out , in , steps[0].m_v , steps[1].m_v , typename Operations::template scale_sum3< value_type , Time , Time >( 1.0 , dt * coef[0] , dt * coef[1] ) ); } }; template< class Algebra , class Operations > struct adams_bashforth_call_algebra< 3 , Algebra , Operations > { template< class StateIn , class StateOut , class StepStorage , class Coefficients , class Time > void operator()( Algebra &algebra , const StateIn &in , StateOut &out , const StepStorage &steps , const Coefficients &coef , Time dt ) const { typedef typename Coefficients::value_type value_type; algebra.for_each5( out , in , steps[0].m_v , steps[1].m_v , steps[2].m_v , typename Operations::template scale_sum4< value_type , Time , Time , Time >( 1.0 , dt * coef[0] , dt * coef[1] , dt * coef[2] ) ); } }; template< class Algebra , class Operations > struct adams_bashforth_call_algebra< 4 , Algebra , Operations > { template< class StateIn , class StateOut , class StepStorage , class Coefficients , class Time > void operator()( Algebra &algebra , const StateIn &in , StateOut &out , const StepStorage &steps , const Coefficients &coef , Time dt ) const { typedef typename Coefficients::value_type value_type; algebra.for_each6( out , in , steps[0].m_v , steps[1].m_v , steps[2].m_v , steps[3].m_v , typename Operations::template scale_sum5< value_type , Time , Time , Time >( 1.0 , dt * coef[0] , dt * coef[1] , dt * coef[2] , dt * coef[3] ) ); } }; template< class Algebra , class Operations > struct adams_bashforth_call_algebra< 5 , Algebra , Operations > { template< class StateIn , class StateOut , class StepStorage , class Coefficients , class Time > void operator()( Algebra &algebra , const StateIn &in , StateOut &out , const StepStorage &steps , const Coefficients &coef , Time dt ) const { typedef typename Coefficients::value_type value_type; algebra.for_each7( out , in , steps[0].m_v , steps[1].m_v , steps[2].m_v , steps[3].m_v , steps[4].m_v , typename Operations::template scale_sum6< value_type , Time , Time , Time , Time >( 1.0 , dt * coef[0] , dt * coef[1] , dt * coef[2] , dt * coef[3] , dt * coef[4] ) ); } }; template< class Algebra , class Operations > struct adams_bashforth_call_algebra< 6 , Algebra , Operations > { template< class StateIn , class StateOut , class StepStorage , class Coefficients , class Time > void operator()( Algebra &algebra , const StateIn &in , StateOut &out , const StepStorage &steps , const Coefficients &coef , Time dt ) const { typedef typename Coefficients::value_type value_type; algebra.for_each8( out , in , steps[0].m_v , steps[1].m_v , steps[2].m_v , steps[3].m_v , steps[4].m_v , steps[5].m_v , typename Operations::template scale_sum7< value_type , Time , Time , Time , Time , Time >( 1.0 , dt * coef[0] , dt * coef[1] , dt * coef[2] , dt * coef[3] , dt * coef[4] , dt * coef[5] ) ); } }; template< class Algebra , class Operations > struct adams_bashforth_call_algebra< 7 , Algebra , Operations > { template< class StateIn , class StateOut , class StepStorage , class Coefficients , class Time > void operator()( Algebra &algebra , const StateIn &in , StateOut &out , const StepStorage &steps , const Coefficients &coef , Time dt ) const { //BOOST_ASSERT( false ); // not implemented typedef typename Coefficients::value_type value_type; algebra.for_each9( out , in , steps[0].m_v , steps[1].m_v , steps[2].m_v , steps[3].m_v , steps[4].m_v , steps[5].m_v , steps[6].m_v , typename Operations::template scale_sum8< value_type , Time , Time , Time , Time , Time , Time >( 1.0 , dt * coef[0] , dt * coef[1] , dt * coef[2] , dt * coef[3] , dt * coef[4] , dt * coef[5] , dt * coef[6] ) ); } }; template< class Algebra , class Operations > struct adams_bashforth_call_algebra< 8 , Algebra , Operations > { template< class StateIn , class StateOut , class StepStorage , class Coefficients , class Time > void operator()( Algebra &algebra , const StateIn &in , StateOut &out , const StepStorage &steps , const Coefficients &coef , Time dt ) const { //BOOST_ASSERT( false ); // not implemented typedef typename Coefficients::value_type value_type; algebra.for_each10( out , in , steps[0].m_v , steps[1].m_v , steps[2].m_v , steps[3].m_v , steps[4].m_v , steps[5].m_v , steps[6].m_v , steps[7].m_v , typename Operations::template scale_sum9< value_type , Time , Time , Time , Time , Time , Time , Time >( 1.0 , dt * coef[0] , dt * coef[1] , dt * coef[2] , dt * coef[3] , dt * coef[4] , dt * coef[5] , dt * coef[6] , dt * coef[7] ) ); } }; } // detail } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_ADAMS_BASHFORTH_CALL_ALGEBRA_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/detail/adams_bashforth_coefficients.hpp000066400000000000000000000126411265471724600332630ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/detail/adams_bashforth_coefficients.hpp [begin_description] Definition of the coefficients for the Adams-Bashforth method. [end_description] Copyright 2011-2012 Karsten Ahnert Copyright 2011-2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_DETAIL_ADAMS_BASHFORTH_COEFFICIENTS_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_ADAMS_BASHFORTH_COEFFICIENTS_HPP_INCLUDED #include namespace boost { namespace numeric { namespace odeint { namespace detail { template< class Value , size_t Steps > class adams_bashforth_coefficients ; template< class Value > class adams_bashforth_coefficients< Value , 1 > : public boost::array< Value , 1 > { public: adams_bashforth_coefficients( void ) : boost::array< Value , 1 >() { (*this)[0] = static_cast< Value >( 1 ); } }; template< class Value > class adams_bashforth_coefficients< Value , 2 > : public boost::array< Value , 2 > { public: adams_bashforth_coefficients( void ) : boost::array< Value , 2 >() { (*this)[0] = static_cast< Value >( 3 ) / static_cast< Value >( 2 ); (*this)[1] = -static_cast< Value >( 1 ) / static_cast< Value >( 2 ); } }; template< class Value > class adams_bashforth_coefficients< Value , 3 > : public boost::array< Value , 3 > { public: adams_bashforth_coefficients( void ) : boost::array< Value , 3 >() { (*this)[0] = static_cast< Value >( 23 ) / static_cast< Value >( 12 ); (*this)[1] = -static_cast< Value >( 4 ) / static_cast< Value >( 3 ); (*this)[2] = static_cast< Value >( 5 ) / static_cast< Value >( 12 ); } }; template< class Value > class adams_bashforth_coefficients< Value , 4 > : public boost::array< Value , 4 > { public: adams_bashforth_coefficients( void ) : boost::array< Value , 4 >() { (*this)[0] = static_cast< Value >( 55 ) / static_cast< Value >( 24 ); (*this)[1] = -static_cast< Value >( 59 ) / static_cast< Value >( 24 ); (*this)[2] = static_cast< Value >( 37 ) / static_cast< Value >( 24 ); (*this)[3] = -static_cast< Value >( 3 ) / static_cast< Value >( 8 ); } }; template< class Value > class adams_bashforth_coefficients< Value , 5 > : public boost::array< Value , 5 > { public: adams_bashforth_coefficients( void ) : boost::array< Value , 5 >() { (*this)[0] = static_cast< Value >( 1901 ) / static_cast< Value >( 720 ); (*this)[1] = -static_cast< Value >( 1387 ) / static_cast< Value >( 360 ); (*this)[2] = static_cast< Value >( 109 ) / static_cast< Value >( 30 ); (*this)[3] = -static_cast< Value >( 637 ) / static_cast< Value >( 360 ); (*this)[4] = static_cast< Value >( 251 ) / static_cast< Value >( 720 ); } }; template< class Value > class adams_bashforth_coefficients< Value , 6 > : public boost::array< Value , 6 > { public: adams_bashforth_coefficients( void ) : boost::array< Value , 6 >() { (*this)[0] = static_cast< Value >( 4277 ) / static_cast< Value >( 1440 ); (*this)[1] = -static_cast< Value >( 2641 ) / static_cast< Value >( 480 ); (*this)[2] = static_cast< Value >( 4991 ) / static_cast< Value >( 720 ); (*this)[3] = -static_cast< Value >( 3649 ) / static_cast< Value >( 720 ); (*this)[4] = static_cast< Value >( 959 ) / static_cast< Value >( 480 ); (*this)[5] = -static_cast< Value >( 95 ) / static_cast< Value >( 288 ); } }; template< class Value > class adams_bashforth_coefficients< Value , 7 > : public boost::array< Value , 7 > { public: adams_bashforth_coefficients( void ) : boost::array< Value , 7 >() { (*this)[0] = static_cast< Value >( 198721 ) / static_cast< Value >( 60480 ); (*this)[1] = -static_cast< Value >( 18637 ) / static_cast< Value >( 2520 ); (*this)[2] = static_cast< Value >( 235183 ) / static_cast< Value >( 20160 ); (*this)[3] = -static_cast< Value >( 10754 ) / static_cast< Value >( 945 ); (*this)[4] = static_cast< Value >( 135713 ) / static_cast< Value >( 20160 ); (*this)[5] = -static_cast< Value >( 5603 ) / static_cast< Value >( 2520 ); (*this)[6] = static_cast< Value >( 19087 ) / static_cast< Value >( 60480 ); } }; template< class Value > class adams_bashforth_coefficients< Value , 8 > : public boost::array< Value , 8 > { public: adams_bashforth_coefficients( void ) : boost::array< Value , 8 >() { (*this)[0] = static_cast< Value >( 16083 ) / static_cast< Value >( 4480 ); (*this)[1] = -static_cast< Value >( 1152169 ) / static_cast< Value >( 120960 ); (*this)[2] = static_cast< Value >( 242653 ) / static_cast< Value >( 13440 ); (*this)[3] = -static_cast< Value >( 296053 ) / static_cast< Value >( 13440 ); (*this)[4] = static_cast< Value >( 2102243 ) / static_cast< Value >( 120960 ); (*this)[5] = -static_cast< Value >( 115747 ) / static_cast< Value >( 13440 ); (*this)[6] = static_cast< Value >( 32863 ) / static_cast< Value >( 13440 ); (*this)[7] = -static_cast< Value >( 5257 ) / static_cast< Value >( 17280 ); } }; } // detail } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_ADAMS_BASHFORTH_COEFFICIENTS_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/detail/adams_moulton_call_algebra.hpp000066400000000000000000000155101265471724600327250ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/detail/adams_moulton_call_algebra.hpp [begin_description] Algebra caller for the Adams Moulton method. [end_description] Copyright 2011-2012 Karsten Ahnert Copyright 2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_DETAIL_ADAMS_MOULTON_CALL_ALGEBRA_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_ADAMS_MOULTON_CALL_ALGEBRA_HPP_INCLUDED #include namespace boost { namespace numeric { namespace odeint { namespace detail { template< size_t Step , class Algebra , class Operations > struct adams_moulton_call_algebra; template< class Algebra , class Operations > struct adams_moulton_call_algebra< 1 , Algebra , Operations > { template< class StateIn , class StateOut , class DerivIn , class StepStorage , class Coefficients , class Time > void operator()( Algebra &algebra , const StateIn &in , StateOut &out , const DerivIn &dxdt , const StepStorage& /* steps */ , const Coefficients &coef , Time dt ) const { typedef typename Coefficients::value_type value_type; algebra.for_each3( out , in , dxdt , typename Operations::template scale_sum2< value_type , Time >( 1.0 , dt * coef[0] ) ); } }; template< class Algebra , class Operations > struct adams_moulton_call_algebra< 2 , Algebra , Operations > { template< class StateIn , class StateOut , class DerivIn , class StepStorage , class Coefficients , class Time > void operator()( Algebra &algebra , const StateIn &in , StateOut &out , const DerivIn &dxdt , const StepStorage &steps , const Coefficients &coef , Time dt ) const { typedef typename Coefficients::value_type value_type; algebra.for_each4( out , in , dxdt , steps[0].m_v , typename Operations::template scale_sum3< value_type , Time , Time >( 1.0 , dt * coef[0] , dt * coef[1] ) ); } }; template< class Algebra , class Operations > struct adams_moulton_call_algebra< 3 , Algebra , Operations > { template< class StateIn , class StateOut , class DerivIn , class StepStorage , class Coefficients , class Time > void operator()( Algebra &algebra , const StateIn &in , StateOut &out , const DerivIn &dxdt , const StepStorage &steps , const Coefficients &coef , Time dt ) const { typedef typename Coefficients::value_type value_type; algebra.for_each5( out , in , dxdt , steps[0].m_v , steps[1].m_v , typename Operations::template scale_sum4< value_type , Time , Time >( 1.0 , dt * coef[0] , dt * coef[1] , dt * coef[2] ) ); } }; template< class Algebra , class Operations > struct adams_moulton_call_algebra< 4 , Algebra , Operations > { template< class StateIn , class StateOut , class DerivIn , class StepStorage , class Coefficients , class Time > void operator()( Algebra &algebra , const StateIn &in , StateOut &out , const DerivIn &dxdt , const StepStorage &steps , const Coefficients &coef , Time dt ) const { typedef typename Coefficients::value_type value_type; algebra.for_each6( out , in , dxdt , steps[0].m_v , steps[1].m_v , steps[2].m_v , typename Operations::template scale_sum5< value_type , Time , Time , Time >( 1.0 , dt * coef[0] , dt * coef[1] , dt * coef[2] , dt * coef[3] ) ); } }; template< class Algebra , class Operations > struct adams_moulton_call_algebra< 5 , Algebra , Operations > { template< class StateIn , class StateOut , class DerivIn , class StepStorage , class Coefficients , class Time > void operator()( Algebra &algebra , const StateIn &in , StateOut &out , const DerivIn &dxdt , const StepStorage &steps , const Coefficients &coef , Time dt ) const { typedef typename Coefficients::value_type value_type; algebra.for_each7( out , in , dxdt , steps[0].m_v , steps[1].m_v , steps[2].m_v , steps[3].m_v , typename Operations::template scale_sum6< value_type , Time , Time , Time , Time >( 1.0 , dt * coef[0] , dt * coef[1] , dt * coef[2] , dt * coef[3] , dt * coef[4] ) ); } }; template< class Algebra , class Operations > struct adams_moulton_call_algebra< 6 , Algebra , Operations > { template< class StateIn , class StateOut , class DerivIn , class StepStorage , class Coefficients , class Time > void operator()( Algebra &algebra , const StateIn &in , StateOut &out , const DerivIn &dxdt , const StepStorage &steps , const Coefficients &coef , Time dt ) const { typedef typename Coefficients::value_type value_type; algebra.for_each8( out , in , dxdt , steps[0].m_v , steps[1].m_v , steps[2].m_v , steps[3].m_v , steps[4].m_v , typename Operations::template scale_sum7< value_type , Time , Time , Time , Time , Time >( 1.0 , dt * coef[0] , dt * coef[1] , dt * coef[2] , dt * coef[3] , dt * coef[4] , dt * coef[5] ) ); } }; template< class Algebra , class Operations > struct adams_moulton_call_algebra< 7 , Algebra , Operations > { template< class StateIn , class StateOut , class DerivIn , class StepStorage , class Coefficients , class Time > void operator()( Algebra &algebra , const StateIn &in , StateOut &out , const DerivIn &dxdt , const StepStorage &steps , const Coefficients &coef , Time dt ) const { typedef typename Coefficients::value_type value_type; algebra.for_each9( out , in , dxdt , steps[0].m_v , steps[1].m_v , steps[2].m_v , steps[3].m_v , steps[4].m_v , steps[5].m_v , typename Operations::template scale_sum8< value_type , Time , Time , Time , Time , Time , Time >( 1.0 , dt * coef[0] , dt * coef[1] , dt * coef[2] , dt * coef[3] , dt * coef[4] , dt * coef[5] , dt * coef[6] ) ); } }; template< class Algebra , class Operations > struct adams_moulton_call_algebra< 8 , Algebra , Operations > { template< class StateIn , class StateOut , class DerivIn , class StepStorage , class Coefficients , class Time > void operator()( Algebra &algebra , const StateIn &in , StateOut &out , const DerivIn &dxdt , const StepStorage &steps , const Coefficients &coef , Time dt ) const { typedef typename Coefficients::value_type value_type; algebra.for_each10( out , in , dxdt , steps[0].m_v , steps[1].m_v , steps[2].m_v , steps[3].m_v , steps[4].m_v , steps[5].m_v , steps[6].m_v , typename Operations::template scale_sum9< value_type , Time , Time , Time , Time , Time , Time , Time >( 1.0 , dt * coef[0] , dt * coef[1] , dt * coef[2] , dt * coef[3] , dt * coef[4] , dt * coef[5] , dt * coef[6] , dt * coef[7] ) ); } }; } // detail } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_ADAMS_MOULTON_CALL_ALGEBRA_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/detail/adams_moulton_coefficients.hpp000066400000000000000000000125011265471724600327730ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/detail/adams_moulton_coefficients.hpp [begin_description] Coefficients for the Adams Moulton method. [end_description] Copyright 2011-2012 Karsten Ahnert Copyright 2011-2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_DETAIL_ADAMS_MOULTON_COEFFICIENTS_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_ADAMS_MOULTON_COEFFICIENTS_HPP_INCLUDED #include namespace boost { namespace numeric { namespace odeint { namespace detail { template< class Value , size_t Steps > class adams_moulton_coefficients ; template< class Value > class adams_moulton_coefficients< Value , 1 > : public boost::array< Value , 1 > { public: adams_moulton_coefficients( void ) : boost::array< Value , 1 >() { (*this)[0] = static_cast< Value >( 1 ); } }; template< class Value > class adams_moulton_coefficients< Value , 2 > : public boost::array< Value , 2 > { public: adams_moulton_coefficients( void ) : boost::array< Value , 2 >() { (*this)[0] = static_cast< Value >( 1 ) / static_cast< Value >( 2 ); (*this)[1] = static_cast< Value >( 1 ) / static_cast< Value >( 2 ); } }; template< class Value > class adams_moulton_coefficients< Value , 3 > : public boost::array< Value , 3 > { public: adams_moulton_coefficients( void ) : boost::array< Value , 3 >() { (*this)[0] = static_cast< Value >( 5 ) / static_cast< Value >( 12 ); (*this)[1] = static_cast< Value >( 2 ) / static_cast< Value >( 3 ); (*this)[2] = -static_cast< Value >( 1 ) / static_cast< Value >( 12 ); } }; template< class Value > class adams_moulton_coefficients< Value , 4 > : public boost::array< Value , 4 > { public: adams_moulton_coefficients( void ) : boost::array< Value , 4 >() { (*this)[0] = static_cast< Value >( 3 ) / static_cast< Value >( 8 ); (*this)[1] = static_cast< Value >( 19 ) / static_cast< Value >( 24 ); (*this)[2] = -static_cast< Value >( 5 ) / static_cast< Value >( 24 ); (*this)[3] = static_cast< Value >( 1 ) / static_cast< Value >( 24 ); } }; template< class Value > class adams_moulton_coefficients< Value , 5 > : public boost::array< Value , 5 > { public: adams_moulton_coefficients( void ) : boost::array< Value , 5 >() { (*this)[0] = static_cast< Value >( 251 ) / static_cast< Value >( 720 ); (*this)[1] = static_cast< Value >( 323 ) / static_cast< Value >( 360 ); (*this)[2] = -static_cast< Value >( 11 ) / static_cast< Value >( 30 ); (*this)[3] = static_cast< Value >( 53 ) / static_cast< Value >( 360 ); (*this)[4] = -static_cast< Value >( 19 ) / static_cast< Value >( 720 ); } }; template< class Value > class adams_moulton_coefficients< Value , 6 > : public boost::array< Value , 6 > { public: adams_moulton_coefficients( void ) : boost::array< Value , 6 >() { (*this)[0] = static_cast< Value >( 95 ) / static_cast< Value >( 288 ); (*this)[1] = static_cast< Value >( 1427 ) / static_cast< Value >( 1440 ); (*this)[2] = -static_cast< Value >( 133 ) / static_cast< Value >( 240 ); (*this)[3] = static_cast< Value >( 241 ) / static_cast< Value >( 720 ); (*this)[4] = -static_cast< Value >( 173 ) / static_cast< Value >( 1440 ); (*this)[5] = static_cast< Value >( 3 ) / static_cast< Value >( 160 ); } }; template< class Value > class adams_moulton_coefficients< Value , 7 > : public boost::array< Value , 7 > { public: adams_moulton_coefficients( void ) : boost::array< Value , 7 >() { (*this)[0] = static_cast< Value >( 19087 ) / static_cast< Value >( 60480 ); (*this)[1] = static_cast< Value >( 2713 ) / static_cast< Value >( 2520 ); (*this)[2] = -static_cast< Value >( 15487 ) / static_cast< Value >( 20160 ); (*this)[3] = static_cast< Value >( 586 ) / static_cast< Value >( 945 ); (*this)[4] = -static_cast< Value >( 6737 ) / static_cast< Value >( 20160 ); (*this)[5] = static_cast< Value >( 263 ) / static_cast< Value >( 2520 ); (*this)[6] = -static_cast< Value >( 863 ) / static_cast< Value >( 60480 ); } }; template< class Value > class adams_moulton_coefficients< Value , 8 > : public boost::array< Value , 8 > { public: adams_moulton_coefficients( void ) : boost::array< Value , 8 >() { (*this)[0] = static_cast< Value >( 5257 ) / static_cast< Value >( 17280 ); (*this)[1] = static_cast< Value >( 139849 ) / static_cast< Value >( 120960 ); (*this)[2] = -static_cast< Value >( 4511 ) / static_cast< Value >( 4480 ); (*this)[3] = static_cast< Value >( 123133 ) / static_cast< Value >( 120960 ); (*this)[4] = -static_cast< Value >( 88547 ) / static_cast< Value >( 120960 ); (*this)[5] = static_cast< Value >( 1537 ) / static_cast< Value >( 4480 ); (*this)[6] = -static_cast< Value >( 11351 ) / static_cast< Value >( 120960 ); (*this)[7] = static_cast< Value >( 275 ) / static_cast< Value >( 24192 ); } }; } // detail } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_ADAMS_MOULTON_COEFFICIENTS_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/detail/generic_rk_algorithm.hpp000066400000000000000000000201121265471724600315630ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/detail/generic_rk_algorithm.hpp [begin_description] Implementation of the generic Runge-Kutta method. [end_description] Copyright 2011-2013 Mario Mulansky Copyright 2011-2012 Karsten Ahnert Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_DETAIL_GENERIC_RK_ALGORITHM_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_GENERIC_RK_ALGORITHM_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { namespace detail { template< class T , class Constant > struct array_wrapper { typedef const typename boost::array< T , Constant::value > type; }; template< class T , size_t i > struct stage { T c; boost::array< T , i > a; }; template< class T , class Constant > struct stage_wrapper { typedef stage< T , Constant::value > type; }; template< size_t StageCount, class Value , class Algebra , class Operations > class generic_rk_algorithm { public: typedef mpl::range_c< size_t , 1 , StageCount > stage_indices; typedef typename boost::fusion::result_of::as_vector < typename boost::mpl::copy < stage_indices , boost::mpl::inserter < boost::mpl::vector0< > , boost::mpl::push_back< boost::mpl::_1 , array_wrapper< Value , boost::mpl::_2 > > > >::type >::type coef_a_type; typedef boost::array< Value , StageCount > coef_b_type; typedef boost::array< Value , StageCount > coef_c_type; typedef typename boost::fusion::result_of::as_vector < typename boost::mpl::push_back < typename boost::mpl::copy < stage_indices, boost::mpl::inserter < boost::mpl::vector0<> , boost::mpl::push_back< boost::mpl::_1 , stage_wrapper< Value , boost::mpl::_2 > > > >::type , stage< Value , StageCount > >::type >::type stage_vector_base; struct stage_vector : public stage_vector_base { struct do_insertion { stage_vector_base &m_base; const coef_a_type &m_a; const coef_c_type &m_c; do_insertion( stage_vector_base &base , const coef_a_type &a , const coef_c_type &c ) : m_base( base ) , m_a( a ) , m_c( c ) { } template< class Index > void operator()( Index ) const { //boost::fusion::at< Index >( m_base ) = stage< double , Index::value+1 , intermediate_stage >( m_c[ Index::value ] , boost::fusion::at< Index >( m_a ) ); boost::fusion::at< Index >( m_base ).c = m_c[ Index::value ]; boost::fusion::at< Index >( m_base ).a = boost::fusion::at< Index >( m_a ); } }; struct print_butcher { const stage_vector_base &m_base; std::ostream &m_os; print_butcher( const stage_vector_base &base , std::ostream &os ) : m_base( base ) , m_os( os ) { } template void operator()(Index) const { m_os << boost::fusion::at(m_base).c << " | "; for( size_t i=0 ; i(m_base).a[i] << " "; m_os << std::endl; } }; stage_vector( const coef_a_type &a , const coef_b_type &b , const coef_c_type &c ) { typedef boost::mpl::range_c< size_t , 0 , StageCount-1 > indices; boost::mpl::for_each< indices >( do_insertion( *this , a , c ) ); boost::fusion::at_c< StageCount - 1 >( *this ).c = c[ StageCount - 1 ]; boost::fusion::at_c< StageCount - 1 >( *this ).a = b; } void print( std::ostream &os ) const { typedef boost::mpl::range_c< size_t , 0 , StageCount > indices; boost::mpl::for_each< indices >( print_butcher( *this , os ) ); } }; template< class System , class StateIn , class StateTemp , class DerivIn , class Deriv , class StateOut , class Time > struct calculate_stage { Algebra &algebra; System &system; const StateIn &x; StateTemp &x_tmp; StateOut &x_out; const DerivIn &dxdt; Deriv *F; Time t; Time dt; calculate_stage( Algebra &_algebra , System &_system , const StateIn &_x , const DerivIn &_dxdt , StateOut &_out , StateTemp &_x_tmp , Deriv *_F , Time _t , Time _dt ) : algebra( _algebra ) , system( _system ) , x( _x ) , x_tmp( _x_tmp ) , x_out( _out) , dxdt( _dxdt ) , F( _F ) , t( _t ) , dt( _dt ) {} template< typename T , size_t stage_number > void inline operator()( stage< T , stage_number > const &stage ) const //typename stage_fusion_wrapper< T , mpl::size_t< stage_number > , intermediate_stage >::type const &stage ) const { if( stage_number > 1 ) { #ifdef BOOST_MSVC #pragma warning( disable : 4307 34 ) #endif system( x_tmp , F[stage_number-2].m_v , t + stage.c * dt ); #ifdef BOOST_MSVC #pragma warning( default : 4307 34 ) #endif } //std::cout << stage_number-2 << ", t': " << t + stage.c * dt << std::endl; if( stage_number < StageCount ) detail::template generic_rk_call_algebra< stage_number , Algebra >()( algebra , x_tmp , x , dxdt , F , detail::generic_rk_scale_sum< stage_number , Operations , Value , Time >( stage.a , dt) ); // algebra_type::template for_eachn( x_tmp , x , dxdt , F , // typename operations_type::template scale_sumn< stage_number , time_type >( stage.a , dt ) ); else detail::template generic_rk_call_algebra< stage_number , Algebra >()( algebra , x_out , x , dxdt , F , detail::generic_rk_scale_sum< stage_number , Operations , Value , Time >( stage.a , dt ) ); // algebra_type::template for_eachn( x_out , x , dxdt , F , // typename operations_type::template scale_sumn< stage_number , time_type >( stage.a , dt ) ); } }; generic_rk_algorithm( const coef_a_type &a , const coef_b_type &b , const coef_c_type &c ) : m_stages( a , b , c ) { } template< class System , class StateIn , class DerivIn , class Time , class StateOut , class StateTemp , class Deriv > void inline do_step( Algebra &algebra , System system , const StateIn &in , const DerivIn &dxdt , Time t , StateOut &out , Time dt , StateTemp &x_tmp , Deriv F[StageCount-1] ) const { typedef typename odeint::unwrap_reference< System >::type unwrapped_system_type; unwrapped_system_type &sys = system; boost::fusion::for_each( m_stages , calculate_stage< unwrapped_system_type , StateIn , StateTemp , DerivIn , Deriv , StateOut , Time > ( algebra , sys , in , dxdt , out , x_tmp , F , t , dt ) ); } private: stage_vector m_stages; }; } } } } #endif // BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_GENERIC_RK_ALGORITHM_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/detail/generic_rk_call_algebra.hpp000066400000000000000000000244311265471724600321750ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/detail/generic_rk_call_algebra.hpp [begin_description] Algebra caller for the generic Runge-Kutta methods. [end_description] Copyright 2011-2012 Mario Mulansky Copyright 2011-2012 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_STEPPER_DETAIL_GENERIC_RK_CALL_ALGEBRA_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_GENERIC_RK_CALL_ALGEBRA_HPP_INCLUDED namespace boost { namespace numeric { namespace odeint { namespace detail { template< size_t StageNumber , class Algebra > struct generic_rk_call_algebra; template< class Algebra > struct generic_rk_call_algebra< 1 , Algebra > { typedef Algebra algebra_type; template< class S1 , class S2 , class S3 , class S4 , class Op> void operator()( algebra_type &algebra , S1 &s1 , S2 &s2 , S3 &s3 , S4 * /* s4_array */ , Op op ) const { algebra.for_each3( s1 , s2 , s3 , op ); } template< class S1 , class S2 , class S4 , class Op> void operator()( algebra_type &algebra , S1 &s1 , S2 &s2 , S4 * /* s4_array */ , Op op ) const { algebra.for_each2( s1 , s2 , op ); } }; template< class Algebra > struct generic_rk_call_algebra< 2 , Algebra > { template< class S1 , class S2 , class S3 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S3 &s3 , S4 s4_array[1] , Op op ) const { algebra.for_each4( s1 , s2 , s3 , s4_array[0].m_v , op ); } template< class S1 , class S2 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S4 s4_array[1] , Op op ) const { algebra.for_each3( s1 , s2 , s4_array[0].m_v , op ); } }; template< class Algebra > struct generic_rk_call_algebra< 3 , Algebra > { template< class S1 , class S2 , class S3 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S3 &s3 , S4 s4_array[2] , Op op ) const { algebra.for_each5( s1 , s2 , s3 , s4_array[0].m_v , s4_array[1].m_v , op ); } template< class S1 , class S2 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S4 s4_array[2] , Op op ) const { algebra.for_each4( s1 , s2 , s4_array[0].m_v , s4_array[1].m_v , op ); } }; template< class Algebra > struct generic_rk_call_algebra< 4 , Algebra > { template< class S1 , class S2 , class S3 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S3 &s3 , S4 s4_array[3] , Op op ) const { algebra.for_each6( s1 , s2 , s3 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , op ); } template< class S1 , class S2 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S4 s4_array[3] , Op op ) const { algebra.for_each5( s1 , s2 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , op ); } }; template< class Algebra > struct generic_rk_call_algebra< 5 , Algebra > { template< class S1 , class S2 , class S3 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S3 &s3 , S4 s4_array[4] , Op op ) const { algebra.for_each7( s1 , s2 , s3 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , op ); } template< class S1 , class S2 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S4 s4_array[4] , Op op ) const { algebra.for_each6( s1 , s2 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , op ); } }; template< class Algebra > struct generic_rk_call_algebra< 6 , Algebra > { template< class S1 , class S2 , class S3 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S3 &s3 , S4 s4_array[5] , Op op ) const { algebra.for_each8( s1 , s2 , s3 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , s4_array[4].m_v , op ); } template< class S1 , class S2 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S4 s4_array[5] , Op op ) const { algebra.for_each7( s1 , s2 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , s4_array[4].m_v , op ); } }; template< class Algebra > struct generic_rk_call_algebra< 7 , Algebra > { template< class S1 , class S2 , class S3 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S3 &s3 , S4 s4_array[6] , Op op ) const { algebra.for_each9( s1 , s2 , s3 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , s4_array[4].m_v , s4_array[5].m_v , op ); } template< class S1 , class S2 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S4 s4_array[6] , Op op ) const { algebra.for_each8( s1 , s2 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , s4_array[4].m_v , s4_array[5].m_v , op ); } }; template< class Algebra > struct generic_rk_call_algebra< 8 , Algebra > { template< class S1 , class S2 , class S3 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S3 &s3 , S4 s4_array[7] , Op op ) const { algebra.for_each10( s1 , s2 , s3 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , s4_array[4].m_v , s4_array[5].m_v , s4_array[6].m_v , op ); } template< class S1 , class S2 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S4 s4_array[7] , Op op ) const { algebra.for_each9( s1 , s2 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , s4_array[4].m_v , s4_array[5].m_v , s4_array[6].m_v , op ); } }; template< class Algebra > struct generic_rk_call_algebra< 9 , Algebra > { template< class S1 , class S2 , class S3 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S3 &s3 , S4 s4_array[8] , Op op ) const { algebra.for_each11( s1 , s2 , s3 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , s4_array[4].m_v , s4_array[5].m_v , s4_array[6].m_v , s4_array[7].m_v , op ); } template< class S1 , class S2 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S4 s4_array[8] , Op op ) const { algebra.for_each10( s1 , s2 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , s4_array[4].m_v , s4_array[5].m_v , s4_array[6].m_v , s4_array[7].m_v , op ); } }; template< class Algebra > struct generic_rk_call_algebra< 10 , Algebra > { template< class S1 , class S2 , class S3 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S3 &s3 , S4 s4_array[9] , Op op ) const { algebra.for_each12( s1 , s2 , s3 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , s4_array[4].m_v , s4_array[5].m_v , s4_array[6].m_v , s4_array[7].m_v , s4_array[8].m_v , op ); } template< class S1 , class S2 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S4 s4_array[9] , Op op ) const { algebra.for_each11( s1 , s2 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , s4_array[4].m_v , s4_array[5].m_v , s4_array[6].m_v , s4_array[7].m_v , s4_array[8].m_v , op ); } }; template< class Algebra > struct generic_rk_call_algebra< 11 , Algebra > { template< class S1 , class S2 , class S3 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S3 &s3 , S4 s4_array[10] , Op op ) const { algebra.for_each13( s1 , s2 , s3 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , s4_array[4].m_v , s4_array[5].m_v , s4_array[6].m_v , s4_array[7].m_v , s4_array[8].m_v , s4_array[9].m_v , op ); } template< class S1 , class S2 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S4 s4_array[10] , Op op ) const { algebra.for_each12( s1 , s2 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , s4_array[4].m_v , s4_array[5].m_v , s4_array[6].m_v , s4_array[7].m_v , s4_array[8].m_v , s4_array[9].m_v , op ); } }; template< class Algebra > struct generic_rk_call_algebra< 12 , Algebra > { template< class S1 , class S2 , class S3 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S3 &s3 , S4 s4_array[11] , Op op ) const { algebra.for_each14( s1 , s2 , s3 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , s4_array[4].m_v , s4_array[5].m_v , s4_array[6].m_v , s4_array[7].m_v , s4_array[8].m_v , s4_array[9].m_v , s4_array[10].m_v , op ); } template< class S1 , class S2 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S4 s4_array[11] , Op op ) const { algebra.for_each13( s1 , s2 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , s4_array[4].m_v , s4_array[5].m_v , s4_array[6].m_v , s4_array[7].m_v , s4_array[8].m_v , s4_array[9].m_v , s4_array[10].m_v , op ); } }; template< class Algebra > struct generic_rk_call_algebra< 13 , Algebra > { template< class S1 , class S2 , class S3 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S3 &s3 , S4 s4_array[12] , Op op ) const { algebra.for_each15( s1 , s2 , s3 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , s4_array[4].m_v , s4_array[5].m_v , s4_array[6].m_v , s4_array[7].m_v , s4_array[8].m_v , s4_array[9].m_v , s4_array[10].m_v , s4_array[11].m_v , op ); } template< class S1 , class S2 , class S4 , class Op> void operator()( Algebra &algebra , S1 &s1 , S2 &s2 , S4 s4_array[12] , Op op ) const { algebra.for_each14( s1 , s2 , s4_array[0].m_v , s4_array[1].m_v , s4_array[2].m_v , s4_array[3].m_v , s4_array[4].m_v , s4_array[5].m_v , s4_array[6].m_v , s4_array[7].m_v , s4_array[8].m_v , s4_array[9].m_v , s4_array[10].m_v , s4_array[11].m_v , op ); } }; } } } } #endif // BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_GENERIC_RK_CALL_ALGEBRA_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/detail/generic_rk_operations.hpp000066400000000000000000000231071265471724600317670ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/detail/generic_rk_operations.hpp [begin_description] Operations caller for the generic Runge Kutta method. [end_description] Copyright 2011 Mario Mulansky Copyright 2011-2012 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_STEPPER_DETAIL_GENERIC_RK_OPERATIONS_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_GENERIC_RK_OPERATIONS_HPP_INCLUDED namespace boost { namespace numeric { namespace odeint { namespace detail { template< size_t StageNumber , class Operations , class Fac , class Time > struct generic_rk_scale_sum; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum< 1 , Operations , Fac , Time > : public Operations::template scale_sum2< Fac , Time > { generic_rk_scale_sum( const boost::array &a , Time dt ) : Operations::template scale_sum2< Fac , Time >( 1.0 , a[0]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum< 2 , Operations , Fac , Time > : public Operations::template scale_sum3< Fac , Time > { generic_rk_scale_sum( const boost::array &a , Time dt ) : Operations::template scale_sum3< Fac , Time >( 1.0 , a[0]*dt , a[1]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum< 3 , Operations , Fac , Time > : public Operations::template scale_sum4< Fac , Time > { generic_rk_scale_sum( const boost::array &a , Time dt ) : Operations::template scale_sum4< Fac , Time >( 1.0 , a[0]*dt , a[1]*dt , a[2]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum< 4 , Operations , Fac , Time > : public Operations::template scale_sum5< Fac , Time > { generic_rk_scale_sum( const boost::array &a , Time dt ) : Operations::template scale_sum5< Fac , Time >( 1.0 , a[0]*dt , a[1]*dt , a[2]*dt , a[3]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum< 5 , Operations , Fac , Time > : public Operations::template scale_sum6< Fac , Time > { generic_rk_scale_sum( const boost::array &a , Time dt ) : Operations::template scale_sum6< Fac , Time >( 1.0 , a[0]*dt , a[1]*dt , a[2]*dt , a[3]*dt , a[4]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum< 6 , Operations , Fac , Time > : public Operations::template scale_sum7< Fac , Time > { generic_rk_scale_sum( const boost::array &a , Time dt ) : Operations::template scale_sum7< Fac , Time >( 1.0 , a[0]*dt , a[1]*dt , a[2]*dt , a[3]*dt , a[4]*dt , a[5]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum< 7 , Operations , Fac , Time > : public Operations::template scale_sum8< Fac , Time > { generic_rk_scale_sum( const boost::array &a , Time dt ) : Operations::template scale_sum8< Fac , Time >( 1.0 , a[0]*dt , a[1]*dt , a[2]*dt , a[3]*dt , a[4]*dt , a[5]*dt , a[6]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum< 8 , Operations , Fac , Time > : public Operations::template scale_sum9< Fac , Time > { generic_rk_scale_sum( const boost::array &a , Time dt ) : Operations::template scale_sum9< Fac , Time >( 1.0 , a[0]*dt , a[1]*dt , a[2]*dt , a[3]*dt , a[4]*dt , a[5]*dt , a[6]*dt , a[7]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum< 9 , Operations , Fac , Time > : public Operations::template scale_sum10< Fac , Time > { generic_rk_scale_sum( const boost::array &a , Time dt ) : Operations::template scale_sum10< Fac , Time >( 1.0 , a[0]*dt , a[1]*dt , a[2]*dt , a[3]*dt , a[4]*dt , a[5]*dt , a[6]*dt , a[7]*dt , a[8]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum< 10 , Operations , Fac , Time > : public Operations::template scale_sum11< Fac , Time > { generic_rk_scale_sum( const boost::array &a , Time dt ) : Operations::template scale_sum11< Fac , Time >( 1.0 , a[0]*dt , a[1]*dt , a[2]*dt , a[3]*dt , a[4]*dt , a[5]*dt , a[6]*dt , a[7]*dt , a[8]*dt , a[9]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum< 11 , Operations , Fac , Time > : public Operations::template scale_sum12< Fac , Time > { generic_rk_scale_sum( const boost::array &a , Time dt ) : Operations::template scale_sum12< Fac , Time >( 1.0 , a[0]*dt , a[1]*dt , a[2]*dt , a[3]*dt , a[4]*dt , a[5]*dt , a[6]*dt , a[7]*dt , a[8]*dt , a[9]*dt , a[10]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum< 12 , Operations , Fac , Time > : public Operations::template scale_sum13< Fac , Time > { generic_rk_scale_sum( const boost::array &a , Time dt ) : Operations::template scale_sum13< Fac , Time >( 1.0 , a[0]*dt , a[1]*dt , a[2]*dt , a[3]*dt , a[4]*dt , a[5]*dt , a[6]*dt , a[7]*dt , a[8]*dt , a[9]*dt , a[10]*dt , a[11]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum< 13 , Operations , Fac , Time > : public Operations::template scale_sum14< Fac , Time > { generic_rk_scale_sum( const boost::array &a , Time dt ) : Operations::template scale_sum14< Fac , Time >( 1.0 , a[0]*dt , a[1]*dt , a[2]*dt , a[3]*dt , a[4]*dt , a[5]*dt , a[6]*dt , a[7]*dt , a[8]*dt , a[9]*dt , a[10]*dt , a[11]*dt , a[12]*dt ) { } typedef void result_type; }; // for error estimates template< size_t StageNumber , class Operations , class Fac , class Time > struct generic_rk_scale_sum_err; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum_err< 1 , Operations , Fac , Time > : public Operations::template scale_sum1< Time > { generic_rk_scale_sum_err( const boost::array &a , Time dt ) : Operations::template scale_sum1< Time >( a[0]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum_err< 2 , Operations , Fac , Time > : public Operations::template scale_sum2< Time > { generic_rk_scale_sum_err( const boost::array &a , Time dt ) : Operations::template scale_sum2< Time >( a[0]*dt , a[1]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum_err< 3 , Operations , Fac , Time > : public Operations::template scale_sum3< Time > { generic_rk_scale_sum_err( const boost::array &a , Time dt ) : Operations::template scale_sum3< Time >( a[0]*dt , a[1]*dt , a[2]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum_err< 4 , Operations , Fac , Time > : public Operations::template scale_sum4< Time > { generic_rk_scale_sum_err( const boost::array &a , Time dt ) : Operations::template scale_sum4< Time >( a[0]*dt , a[1]*dt , a[2]*dt , a[3]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum_err< 5 , Operations , Fac , Time > : public Operations::template scale_sum5< Fac > { generic_rk_scale_sum_err( const boost::array &a , Time dt ) : Operations::template scale_sum5< Time >( a[0]*dt , a[1]*dt , a[2]*dt , a[3]*dt , a[4]*dt ) { } typedef void result_type; }; template< class Operations , class Fac , class Time > struct generic_rk_scale_sum_err< 6 , Operations , Fac , Time > : public Operations::template scale_sum6< Time > { generic_rk_scale_sum_err( const boost::array &a , Time dt ) : Operations::template scale_sum6< Time >( a[0]*dt , a[1]*dt , a[2]*dt , a[3]*dt , a[4]*dt , a[5]*dt ) { } typedef void result_type; }; // for rk87 template< class Operations , class Fac , class Time > struct generic_rk_scale_sum_err< 13 , Operations , Fac , Time > : public Operations::template scale_sum13< Time > { generic_rk_scale_sum_err( const boost::array &a , Time dt ) : Operations::template scale_sum13< Time >( a[0]*dt , a[1]*dt , a[2]*dt , a[3]*dt , a[4]*dt , a[5]*dt , a[6]*dt , a[7]*dt , a[8]*dt , a[9]*dt , a[10]*dt , a[11]*dt , a[12]*dt ) { } typedef void result_type; }; } } } } #endif // BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_GENERIC_RK_OPERATIONS_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/detail/rotating_buffer.hpp000066400000000000000000000027761265471724600306050ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/detail/rotating_buffer.hpp [begin_description] Implemetation of a rotating (cyclic) buffer for use in the Adam Bashforth stepper [end_description] Copyright 2011 Karsten Ahnert Copyright 2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_DETAIL_ROTATING_BUFFER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_ROTATING_BUFFER_HPP_INCLUDED #include namespace boost { namespace numeric { namespace odeint { namespace detail { template< class T , size_t N > class rotating_buffer { public: typedef T value_type; const static size_t dim = N; rotating_buffer( void ) : m_first( 0 ) { } size_t size( void ) const { return dim; } value_type& operator[]( size_t i ) { return m_data[ get_index( i ) ]; } const value_type& operator[]( size_t i ) const { return m_data[ get_index( i ) ]; } void rotate( void ) { if( m_first == 0 ) m_first = dim-1; else --m_first; } protected: value_type m_data[N]; private: size_t get_index( size_t i ) const { return ( ( i + m_first ) % dim ); } size_t m_first; }; } // detail } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_DETAIL_ROTATING_BUFFER_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/euler.hpp000066400000000000000000000146731265471724600252760ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/euler.hpp [begin_description] Implementation of the classical explicit Euler stepper. This method is really simple and should only be used for demonstration purposes. [end_description] Copyright 2010-2013 Karsten Ahnert Copyright 2010-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_EULER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_EULER_HPP_INCLUDED #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class State , class Value = double , class Deriv = State , class Time = Value , class Algebra = typename algebra_dispatcher< State >::algebra_type , class Operations = typename operations_dispatcher< State >::operations_type , class Resizer = initially_resizer > #ifndef DOXYGEN_SKIP class euler : public explicit_stepper_base< euler< State , Value , Deriv , Time , Algebra , Operations , Resizer > , 1 , State , Value , Deriv , Time , Algebra , Operations , Resizer > #else class euler : public explicit_stepper_base #endif { public : #ifndef DOXYGEN_SKIP typedef explicit_stepper_base< euler< State , Value , Deriv , Time , Algebra , Operations , Resizer > , 1 , State , Value , Deriv , Time , Algebra , Operations , Resizer > stepper_base_type; #else typedef explicit_stepper_base< euler< ... > , ... > stepper_base_type; #endif typedef typename stepper_base_type::state_type state_type; typedef typename stepper_base_type::value_type value_type; typedef typename stepper_base_type::deriv_type deriv_type; typedef typename stepper_base_type::time_type time_type; typedef typename stepper_base_type::algebra_type algebra_type; typedef typename stepper_base_type::operations_type operations_type; typedef typename stepper_base_type::resizer_type resizer_type; #ifndef DOXYGEN_SKIP typedef typename stepper_base_type::stepper_type stepper_type; typedef typename stepper_base_type::wrapped_state_type wrapped_state_type; typedef typename stepper_base_type::wrapped_deriv_type wrapped_deriv_type; #endif euler( const algebra_type &algebra = algebra_type() ) : stepper_base_type( algebra ) { } template< class System , class StateIn , class DerivIn , class StateOut > void do_step_impl( System /* system */ , const StateIn &in , const DerivIn &dxdt , time_type /* t */ , StateOut &out , time_type dt ) { stepper_base_type::m_algebra.for_each3( out , in , dxdt , typename operations_type::template scale_sum2< value_type , time_type >( 1.0 , dt ) ); } template< class StateOut , class StateIn1 , class StateIn2 > void calc_state( StateOut &x , time_type t , const StateIn1 &old_state , time_type t_old , const StateIn2 & /*current_state*/ , time_type /* t_new */ ) const { const time_type delta = t - t_old; stepper_base_type::m_algebra.for_each3( x , old_state , stepper_base_type::m_dxdt.m_v , typename operations_type::template scale_sum2< value_type , time_type >( 1.0 , delta ) ); } template< class StateType > void adjust_size( const StateType &x ) { stepper_base_type::adjust_size( x ); } }; /********** DOXYGEN ***********/ /** * \class euler * \brief An implementation of the Euler method. * * The Euler method is a very simply solver for ordinary differential equations. This method should not be used * for real applications. It is only useful for demonstration purposes. Step size control is not provided but * trivial continuous output is available. * * This class derives from explicit_stepper_base and inherits its interface via CRTP (current recurring template pattern), * see explicit_stepper_base * * \tparam State The state type. * \tparam Value The value type. * \tparam Deriv The type representing the time derivative of the state. * \tparam Time The time representing the independent variable - the time. * \tparam Algebra The algebra type. * \tparam Operations The operations type. * \tparam Resizer The resizer policy type. */ /** * \fn euler::euler( const algebra_type &algebra ) * \brief Constructs the euler class. This constructor can be used as a default * constructor of the algebra has a default constructor. * \param algebra A copy of algebra is made and stored inside explicit_stepper_base. */ /** * \fn euler::do_step_impl( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt ) * \brief This method performs one step. The derivative `dxdt` of `in` at the time `t` is passed to the method. * The result is updated out of place, hence the input is in `in` and the output in `out`. * Access to this step functionality is provided by explicit_stepper_base and * `do_step_impl` should not be called directly. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param dxdt The derivative of x at t. * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. */ /** * \fn euler::calc_state( StateOut &x , time_type t , const StateIn1 &old_state , time_type t_old , const StateIn2 ¤t_state , time_type t_new ) const * \brief This method is used for continuous output and it calculates the state `x` at a time `t` from the * knowledge of two states `old_state` and `current_state` at time points `t_old` and `t_new`. */ /** * \fn euler::adjust_size( const StateType &x ) * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_EULER_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/explicit_error_generic_rk.hpp000066400000000000000000000247241265471724600314020ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/explicit_error_generic_rk.hpp [begin_description] Implementation of the generic Runge Kutta error stepper. Base class for many RK error steppers. [end_description] Copyright 2011-2013 Mario Mulansky Copyright 2011-2013 Karsten Ahnert Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_EXPLICIT_ERROR_GENERIC_RK_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_EXPLICIT_ERROR_GENERIC_RK_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< size_t StageCount, size_t Order, size_t StepperOrder , size_t ErrorOrder , class State , class Value = double , class Deriv = State , class Time = Value , class Algebra = typename algebra_dispatcher< State >::algebra_type , class Operations = typename operations_dispatcher< State >::operations_type , class Resizer = initially_resizer > #ifndef DOXYGEN_SKIP class explicit_error_generic_rk : public explicit_error_stepper_base< explicit_error_generic_rk< StageCount , Order , StepperOrder , ErrorOrder , State , Value , Deriv , Time , Algebra , Operations , Resizer > , Order , StepperOrder , ErrorOrder , State , Value , Deriv , Time , Algebra , Operations , Resizer > #else class explicit_error_generic_rk : public explicit_error_stepper_base #endif { public: #ifndef DOXYGEN_SKIP typedef explicit_error_stepper_base< explicit_error_generic_rk< StageCount , Order , StepperOrder , ErrorOrder , State , Value , Deriv , Time , Algebra , Operations , Resizer > , Order , StepperOrder , ErrorOrder , State , Value , Deriv , Time , Algebra , Operations , Resizer > stepper_base_type; #else typedef explicit_stepper_base< ... > stepper_base_type; #endif typedef typename stepper_base_type::state_type state_type; typedef typename stepper_base_type::wrapped_state_type wrapped_state_type; typedef typename stepper_base_type::value_type value_type; typedef typename stepper_base_type::deriv_type deriv_type; typedef typename stepper_base_type::wrapped_deriv_type wrapped_deriv_type; typedef typename stepper_base_type::time_type time_type; typedef typename stepper_base_type::algebra_type algebra_type; typedef typename stepper_base_type::operations_type operations_type; typedef typename stepper_base_type::resizer_type resizer_type; #ifndef DOXYGEN_SKIP typedef explicit_error_generic_rk< StageCount , Order , StepperOrder , ErrorOrder , State , Value , Deriv , Time , Algebra , Operations , Resizer > stepper_type; #endif typedef detail::generic_rk_algorithm< StageCount , Value , Algebra , Operations > rk_algorithm_type; typedef typename rk_algorithm_type::coef_a_type coef_a_type; typedef typename rk_algorithm_type::coef_b_type coef_b_type; typedef typename rk_algorithm_type::coef_c_type coef_c_type; static const size_t stage_count = StageCount; private: public: // we use an explicit_generic_rk to do the normal rk step // and add a separate calculation of the error estimate afterwards explicit_error_generic_rk( const coef_a_type &a , const coef_b_type &b , const coef_b_type &b2 , const coef_c_type &c , const algebra_type &algebra = algebra_type() ) : stepper_base_type( algebra ) , m_rk_algorithm( a , b , c ) , m_b2( b2 ) { } template< class System , class StateIn , class DerivIn , class StateOut , class Err > void do_step_impl( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt , Err &xerr ) { // normal step do_step_impl( system , in , dxdt , t , out , dt ); // additionally, perform the error calculation detail::template generic_rk_call_algebra< StageCount , algebra_type >()( stepper_base_type::m_algebra , xerr , dxdt , m_F , detail::generic_rk_scale_sum_err< StageCount , operations_type , value_type , time_type >( m_b2 , dt) ); } template< class System , class StateIn , class DerivIn , class StateOut > void do_step_impl( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt ) { m_resizer.adjust_size( in , detail::bind( &stepper_type::template resize_impl< StateIn > , detail::ref( *this ) , detail::_1 ) ); // actual calculation done in generic_rk.hpp m_rk_algorithm.do_step( stepper_base_type::m_algebra , system , in , dxdt , t , out , dt , m_x_tmp.m_v , m_F ); } template< class StateIn > void adjust_size( const StateIn &x ) { resize_impl( x ); stepper_base_type::adjust_size( x ); } private: template< class StateIn > bool resize_impl( const StateIn &x ) { bool resized( false ); resized |= adjust_size_by_resizeability( m_x_tmp , x , typename is_resizeable::type() ); for( size_t i = 0 ; i < StageCount-1 ; ++i ) { resized |= adjust_size_by_resizeability( m_F[i] , x , typename is_resizeable::type() ); } return resized; } rk_algorithm_type m_rk_algorithm; coef_b_type m_b2; resizer_type m_resizer; wrapped_state_type m_x_tmp; wrapped_deriv_type m_F[StageCount-1]; }; /********* DOXYGEN *********/ /** * \class explicit_error_generic_rk * \brief A generic implementation of explicit Runge-Kutta algorithms with error estimation. This class is as a * base class for all explicit Runge-Kutta steppers with error estimation. * * This class implements the explicit Runge-Kutta algorithms with error estimation in a generic way. * The Butcher tableau is passed to the stepper which constructs the stepper scheme with the help of a * template-metaprogramming algorithm. ToDo : Add example! * * This class derives explicit_error_stepper_base which provides the stepper interface. * * \tparam StageCount The number of stages of the Runge-Kutta algorithm. * \tparam Order The order of a stepper if the stepper is used without error estimation. * \tparam StepperOrder The order of a step if the stepper is used with error estimation. Usually Order and StepperOrder have * the same value. * \tparam ErrorOrder The order of the error step if the stepper is used with error estimation. * \tparam State The type representing the state of the ODE. * \tparam Value The floating point type which is used in the computations. * \tparam Time The type representing the independent variable - the time - of the ODE. * \tparam Algebra The algebra type. * \tparam Operations The operations type. * \tparam Resizer The resizer policy type. */ /** * \fn explicit_error_generic_rk::explicit_error_generic_rk( const coef_a_type &a , const coef_b_type &b , const coef_b_type &b2 , const coef_c_type &c , const algebra_type &algebra ) * \brief Constructs the explicit_error_generik_rk class with the given parameters a, b, b2 and c. See examples section for details on the coefficients. * * \param a Triangular matrix of parameters b in the Butcher tableau. * \param b Last row of the butcher tableau. * \param b2 Parameters for lower-order evaluation to estimate the error. * \param c Parameters to calculate the time points in the Butcher tableau. * \param algebra A copy of algebra is made and stored inside explicit_stepper_base. */ /** * \fn explicit_error_generic_rk::do_step_impl( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt , Err &xerr ) * \brief This method performs one step. The derivative `dxdt` of `in` at the time `t` is passed to the method. * The result is updated out-of-place, hence the input is in `in` and the output in `out`. Futhermore, an * estimation of the error is stored in `xerr`. `do_step_impl` is used by explicit_error_stepper_base. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param dxdt The derivative of x at t. * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. * \param xerr The result of the error estimation is written in xerr. */ /** * \fn explicit_error_generic_rk::do_step_impl( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt ) * \brief This method performs one step. The derivative `dxdt` of `in` at the time `t` is passed to the method. * The result is updated out-of-place, hence the input is in `in` and the output in `out`. * Access to this step functionality is provided by explicit_stepper_base and * `do_step_impl` should not be called directly. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param dxdt The derivative of x at t. * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. */ /** * \fn explicit_error_generic_rk::adjust_size( const StateIn &x ) * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ } } } #endif // BOOST_NUMERIC_ODEINT_STEPPER_EXPLICIT_ERROR_GENERIC_RK_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/explicit_generic_rk.hpp000066400000000000000000000204531265471724600301640ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/explicit_generic_rk.hpp [begin_description] Implementation of the generic Runge-Kutta steppers. This is the base class for many Runge-Kutta steppers. [end_description] Copyright 2011-2013 Mario Mulansky Copyright 2011-2013 Karsten Ahnert Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_EXPLICIT_GENERIC_RK_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_EXPLICIT_GENERIC_RK_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { //forward declarations #ifndef DOXYGEN_SKIP template< size_t StageCount, size_t Order, class State , class Value = double , class Deriv = State , class Time = Value , class Algebra = typename algebra_dispatcher< State >::algebra_type , class Operations = typename operations_dispatcher< State >::operations_type , class Resizer = initially_resizer > class explicit_generic_rk; struct stage_vector; template< class T , class Constant > struct array_wrapper { typedef const typename boost::array< T , Constant::value > type; }; template< class T , size_t i > struct stage { T c; boost::array< T , i > a; }; template< class T , class Constant > struct stage_wrapper { typedef stage< T , Constant::value > type; }; #endif template< size_t StageCount, size_t Order, class State , class Value , class Deriv , class Time , class Algebra , class Operations , class Resizer > #ifndef DOXYGEN_SKIP class explicit_generic_rk : public explicit_stepper_base< explicit_generic_rk< StageCount , Order , State , Value , Deriv , Time , Algebra , Operations , Resizer > , Order , State , Value , Deriv , Time , Algebra , Operations , Resizer > #else class explicit_generic_rk : public explicit_stepper_base #endif { public: #ifndef DOXYGEN_SKIP typedef explicit_stepper_base< explicit_generic_rk< StageCount , Order , State , Value , Deriv ,Time , Algebra , Operations , Resizer > , Order , State , Value , Deriv , Time , Algebra , Operations , Resizer > stepper_base_type; #else typedef explicit_stepper_base< ... > stepper_base_type; #endif typedef typename stepper_base_type::state_type state_type; typedef typename stepper_base_type::wrapped_state_type wrapped_state_type; typedef typename stepper_base_type::value_type value_type; typedef typename stepper_base_type::deriv_type deriv_type; typedef typename stepper_base_type::wrapped_deriv_type wrapped_deriv_type; typedef typename stepper_base_type::time_type time_type; typedef typename stepper_base_type::algebra_type algebra_type; typedef typename stepper_base_type::operations_type operations_type; typedef typename stepper_base_type::resizer_type resizer_type; #ifndef DOXYGEN_SKIP typedef explicit_generic_rk< StageCount , Order , State , Value , Deriv ,Time , Algebra , Operations , Resizer > stepper_type; #endif typedef detail::generic_rk_algorithm< StageCount , Value , Algebra , Operations > rk_algorithm_type; typedef typename rk_algorithm_type::coef_a_type coef_a_type; typedef typename rk_algorithm_type::coef_b_type coef_b_type; typedef typename rk_algorithm_type::coef_c_type coef_c_type; #ifndef DOXYGEN_SKIP static const size_t stage_count = StageCount; #endif public: explicit_generic_rk( const coef_a_type &a , const coef_b_type &b , const coef_c_type &c , const algebra_type &algebra = algebra_type() ) : stepper_base_type( algebra ) , m_rk_algorithm( a , b , c ) { } template< class System , class StateIn , class DerivIn , class StateOut > void do_step_impl( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt ) { m_resizer.adjust_size( in , detail::bind( &stepper_type::template resize_impl< StateIn > , detail::ref( *this ) , detail::_1 ) ); // actual calculation done in generic_rk.hpp m_rk_algorithm.do_step( stepper_base_type::m_algebra , system , in , dxdt , t , out , dt , m_x_tmp.m_v , m_F ); } template< class StateIn > void adjust_size( const StateIn &x ) { resize_impl( x ); stepper_base_type::adjust_size( x ); } private: template< class StateIn > bool resize_impl( const StateIn &x ) { bool resized( false ); resized |= adjust_size_by_resizeability( m_x_tmp , x , typename is_resizeable::type() ); for( size_t i = 0 ; i < StageCount-1 ; ++i ) { resized |= adjust_size_by_resizeability( m_F[i] , x , typename is_resizeable::type() ); } return resized; } rk_algorithm_type m_rk_algorithm; resizer_type m_resizer; wrapped_state_type m_x_tmp; wrapped_deriv_type m_F[StageCount-1]; }; /*********** DOXYGEN *************/ /** * \class explicit_generic_rk * \brief A generic implementation of explicit Runge-Kutta algorithms. This class is as a base class * for all explicit Runge-Kutta steppers. * * This class implements the explicit Runge-Kutta algorithms without error estimation in a generic way. * The Butcher tableau is passed to the stepper which constructs the stepper scheme with the help of a * template-metaprogramming algorithm. ToDo : Add example! * * This class derives explicit_stepper_base which provides the stepper interface. * * \tparam StageCount The number of stages of the Runge-Kutta algorithm. * \tparam Order The order of the stepper. * \tparam State The type representing the state of the ODE. * \tparam Value The floating point type which is used in the computations. * \tparam Time The type representing the independent variable - the time - of the ODE. * \tparam Algebra The algebra type. * \tparam Operations The operations type. * \tparam Resizer The resizer policy type. */ /** * \fn explicit_generic_rk::explicit_generic_rk( const coef_a_type &a , const coef_b_type &b , const coef_c_type &c , const algebra_type &algebra ) * \brief Constructs the explicit_generic_rk class. See examples section for details on the coefficients. * \param a Triangular matrix of parameters b in the Butcher tableau. * \param b Last row of the butcher tableau. * \param c Parameters to calculate the time points in the Butcher tableau. * \param algebra A copy of algebra is made and stored inside explicit_stepper_base. */ /** * \fn explicit_generic_rk::do_step_impl( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt ) * \brief This method performs one step. The derivative `dxdt` of `in` at the time `t` is passed to the method. * The result is updated out of place, hence the input is in `in` and the output in `out`. * Access to this step functionality is provided by explicit_stepper_base and * `do_step_impl` should not be called directly. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param dxdt The derivative of x at t. * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. */ /** * \fn explicit_generic_rk::adjust_size( const StateIn &x ) * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ } } } #endif // BOOST_NUMERIC_ODEINT_STEPPER_EXPLICIT_GENERIC_RK_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/extrapolation_stepper.hpp000066400000000000000000000256231265471724600306120ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/extrapolation_stepper.hpp [begin_description] extrapolation stepper [end_description] Copyright 2009-2015 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_EXTRAPOLATION_STEPPER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_EXTRAPOLATION_STEPPER_HPP_INCLUDED #include #include #include // for min/max guidelines #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template < unsigned short Order, class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer > #ifndef DOXYGEN_SKIP class extrapolation_stepper : public explicit_error_stepper_base< extrapolation_stepper< Order, State, Value, Deriv, Time, Algebra, Operations, Resizer >, Order, Order, Order - 2, State, Value, Deriv, Time, Algebra, Operations, Resizer > #else class extrapolation_stepper : public explicit_error_stepper_base #endif { private: // check for Order being odd BOOST_STATIC_ASSERT_MSG( ( ( Order % 2 ) == 0 ) && ( Order > 2 ), "extrapolation_stepper requires even Order larger than 2" ); public: #ifndef DOXYGEN_SKIP typedef explicit_error_stepper_base< extrapolation_stepper< Order, State, Value, Deriv, Time, Algebra, Operations, Resizer >, Order, Order, Order - 2, State, Value, Deriv, Time, Algebra, Operations, Resizer > stepper_base_type; #else typedef explicit_error_stepper_base< extrapolation_stepper< ... >, ... > stepper_base_type; #endif typedef typename stepper_base_type::state_type state_type; typedef typename stepper_base_type::value_type value_type; typedef typename stepper_base_type::deriv_type deriv_type; typedef typename stepper_base_type::time_type time_type; typedef typename stepper_base_type::algebra_type algebra_type; typedef typename stepper_base_type::operations_type operations_type; typedef typename stepper_base_type::resizer_type resizer_type; #ifndef DOXYGEN_SKIP typedef typename stepper_base_type::stepper_type stepper_type; typedef typename stepper_base_type::wrapped_state_type wrapped_state_type; typedef typename stepper_base_type::wrapped_deriv_type wrapped_deriv_type; typedef std::vector< value_type > value_vector; typedef std::vector< value_vector > value_matrix; typedef std::vector< size_t > int_vector; typedef std::vector< wrapped_state_type > state_table_type; typedef modified_midpoint< state_type, value_type, deriv_type, time_type, algebra_type, operations_type, resizer_type > midpoint_stepper_type; #endif // DOXYGEN_SKIP typedef unsigned short order_type; static const order_type order_value = stepper_base_type::order_value; static const order_type stepper_order_value = stepper_base_type::stepper_order_value; static const order_type error_order_value = stepper_base_type::error_order_value; const static size_t m_k_max = ( order_value - 2 ) / 2; extrapolation_stepper( const algebra_type &algebra = algebra_type() ) : stepper_base_type( algebra ), m_interval_sequence( m_k_max + 1 ), m_coeff( m_k_max + 1 ), m_table( m_k_max ) { for ( unsigned short i = 0; i < m_k_max + 1; i++ ) { m_interval_sequence[i] = 2 * ( i + 1 ); m_coeff[i].resize( i ); for ( size_t k = 0; k < i; ++k ) { const value_type r = static_cast< value_type >( m_interval_sequence[i] ) / static_cast< value_type >( m_interval_sequence[k] ); m_coeff[i][k] = static_cast< value_type >( 1 ) / ( r * r - static_cast< value_type >( 1 ) ); // coefficients for extrapolation } } } template < class System, class StateIn, class DerivIn, class StateOut, class Err > void do_step_impl( System system, const StateIn &in, const DerivIn &dxdt, time_type t, StateOut &out, time_type dt, Err &xerr ) { // std::cout << "dt: " << dt << std::endl; // normal step do_step_impl( system, in, dxdt, t, out, dt ); static const value_type val1( 1.0 ); // additionally, perform the error calculation stepper_base_type::m_algebra.for_each3( xerr, out, m_table[0].m_v, typename operations_type::template scale_sum2< value_type, value_type >( val1, -val1 ) ); } template < class System, class StateInOut, class DerivIn, class Err > void do_step_impl_io( System system, StateInOut &inout, const DerivIn &dxdt, time_type t, time_type dt, Err &xerr ) { // normal step do_step_impl_io( system, inout, dxdt, t, dt ); static const value_type val1( 1.0 ); // additionally, perform the error calculation stepper_base_type::m_algebra.for_each3( xerr, inout, m_table[0].m_v, typename operations_type::template scale_sum2< value_type, value_type >( val1, -val1 ) ); } template < class System, class StateIn, class DerivIn, class StateOut > void do_step_impl( System system, const StateIn &in, const DerivIn &dxdt, time_type t, StateOut &out, time_type dt ) { m_resizer.adjust_size( in, detail::bind( &stepper_type::template resize_impl< StateIn >, detail::ref( *this ), detail::_1 ) ); size_t k = 0; m_midpoint.set_steps( m_interval_sequence[k] ); m_midpoint.do_step( system, in, dxdt, t, out, dt ); for ( k = 1; k <= m_k_max; ++k ) { m_midpoint.set_steps( m_interval_sequence[k] ); m_midpoint.do_step( system, in, dxdt, t, m_table[k - 1].m_v, dt ); extrapolate( k, m_table, m_coeff, out ); } } template < class System, class StateInOut, class DerivIn > void do_step_impl_io( System system, StateInOut &inout, const DerivIn &dxdt, time_type t, time_type dt ) { // special care for inout m_xout_resizer.adjust_size( inout, detail::bind( &stepper_type::template resize_m_xout< StateInOut >, detail::ref( *this ), detail::_1 ) ); do_step_impl( system, inout, dxdt, t, m_xout.m_v, dt ); boost::numeric::odeint::copy( m_xout.m_v, inout ); } template < class System, class StateInOut, class DerivIn > void do_step_dxdt_impl( System system, StateInOut &x, const DerivIn &dxdt, time_type t, time_type dt ) { do_step_impl_io( system , x , dxdt , t , dt ); } template < class System, class StateIn, class DerivIn, class StateOut > void do_step_dxdt_impl( System system, const StateIn &in, const DerivIn &dxdt, time_type t, StateOut &out, time_type dt ) { do_step_impl( system , in , dxdt , t , out , dt ); } template < class StateIn > void adjust_size( const StateIn &x ) { resize_impl( x ); m_midpoint.adjust_size( x ); } private: template < class StateIn > bool resize_impl( const StateIn &x ) { bool resized( false ); for ( size_t i = 0; i < m_k_max; ++i ) resized |= adjust_size_by_resizeability( m_table[i], x, typename is_resizeable< state_type >::type() ); return resized; } template < class StateIn > bool resize_m_xout( const StateIn &x ) { return adjust_size_by_resizeability( m_xout, x, typename is_resizeable< state_type >::type() ); } template < class StateInOut > void extrapolate( size_t k, state_table_type &table, const value_matrix &coeff, StateInOut &xest ) /* polynomial extrapolation, see http://www.nr.com/webnotes/nr3web21.pdf uses the obtained intermediate results to extrapolate to dt->0 */ { static const value_type val1 = static_cast< value_type >( 1.0 ); for ( int j = k - 1; j > 0; --j ) { stepper_base_type::m_algebra.for_each3( table[j - 1].m_v, table[j].m_v, table[j - 1].m_v, typename operations_type::template scale_sum2< value_type, value_type >( val1 + coeff[k][j], -coeff[k][j] ) ); } stepper_base_type::m_algebra.for_each3( xest, table[0].m_v, xest, typename operations_type::template scale_sum2< value_type, value_type >( val1 + coeff[k][0], -coeff[k][0] ) ); } private: midpoint_stepper_type m_midpoint; resizer_type m_resizer; resizer_type m_xout_resizer; int_vector m_interval_sequence; // stores the successive interval counts value_matrix m_coeff; wrapped_state_type m_xout; state_table_type m_table; // sequence of states for extrapolation }; /******** DOXYGEN *******/ /** * \class extrapolation_stepper * \brief Extrapolation stepper with configurable order, and error estimation. * * The extrapolation stepper is a stepper with error estimation and configurable * order. The order is given as template parameter and needs to be an _odd_ * number. The stepper is based on several executions of the modified midpoint * method and a Richardson extrapolation. This is essentially the same technique * as for bulirsch_stoer, but without the variable order. * * \note The Order parameter has to be an even number greater 2. */ } } } #endif KWStyle-master/Utilities/boost/numeric/odeint/stepper/generation.hpp000066400000000000000000000025401265471724600263030ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/generation.hpp [begin_description] Forward header for the factory functions. Includes all files from the generation directory. [end_description] Copyright 2011 Karsten Ahnert Copyright 2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_GENERATION_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #endif // BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/generation/000077500000000000000000000000001265471724600255715ustar00rootroot00000000000000generation_controlled_runge_kutta.hpp000066400000000000000000000030541265471724600352150ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/stepper/generation/* [auto_generated] boost/numeric/odeint/stepper/generation/generation_controlled_runge_kutta.hpp [begin_description] Specialization of the controller factory for the controlled_runge_kutta class. [end_description] Copyright 2011-2012 Karsten Ahnert Copyright 2011-2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_CONTROLLED_RUNGE_KUTTA_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_CONTROLLED_RUNGE_KUTTA_HPP_INCLUDED #include #include namespace boost { namespace numeric { namespace odeint { // controller factory for controlled_runge_kutta template< class Stepper > struct controller_factory< Stepper , controlled_runge_kutta< Stepper > > { typedef Stepper stepper_type; typedef controlled_runge_kutta< stepper_type > controller_type; typedef typename controller_type::error_checker_type error_checker_type; typedef typename stepper_type::value_type value_type; controller_type operator()( value_type abs_error , value_type rel_error , const stepper_type &stepper ) { return controller_type( error_checker_type( abs_error , rel_error ) , stepper ); } }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_CONTROLLED_RUNGE_KUTTA_HPP_INCLUDED generation_dense_output_runge_kutta.hpp000066400000000000000000000033741265471724600355730ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/stepper/generation/* [auto_generated] boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp [begin_description] Specialization of the controller factory for the dense_output_runge_kutta class. [end_description] Copyright 2011-2012 Karsten Ahnert Copyright 2011-2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_DENSE_OUTPUT_RUNGE_KUTTA_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_DENSE_OUTPUT_RUNGE_KUTTA_HPP_INCLUDED #include #include #include namespace boost { namespace numeric { namespace odeint { // controller factory for controlled_runge_kutta template< class Stepper > struct dense_output_factory< Stepper , dense_output_runge_kutta< controlled_runge_kutta< Stepper > > > { typedef Stepper stepper_type; typedef controlled_runge_kutta< stepper_type > controller_type; typedef typename controller_type::error_checker_type error_checker_type; typedef typename stepper_type::value_type value_type; typedef dense_output_runge_kutta< controller_type > dense_output_type; dense_output_type operator()( value_type abs_error , value_type rel_error , const stepper_type &stepper ) { return dense_output_type( controller_type( error_checker_type( abs_error , rel_error ) , stepper ) ); } }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_DENSE_OUTPUT_RUNGE_KUTTA_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/generation/generation_rosenbrock4.hpp000066400000000000000000000043021265471724600327470ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/generation/generation_rosenbrock4.hpp [begin_description] Enable the factory functions for the controller and the dense output of the Rosenbrock4 method. [end_description] Copyright 2011-2012 Karsten Ahnert Copyright 2011-2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_ROSENBROCK4_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_ROSENBROCK4_HPP_INCLUDED #include #include #include namespace boost { namespace numeric { namespace odeint { template< class Value , class Coefficients , class Resize > struct get_controller< rosenbrock4< Value , Coefficients , Resize > > { typedef rosenbrock4< Value , Coefficients , Resize > stepper_type; typedef rosenbrock4_controller< stepper_type > type; }; template< class Value , class Coefficients , class Resize > struct get_dense_output< rosenbrock4< Value , Coefficients , Resize > > { typedef rosenbrock4< Value , Coefficients , Resize > stepper_type; typedef rosenbrock4_controller< stepper_type > controller_type; typedef rosenbrock4_dense_output< controller_type > type; }; // controller factory for controlled_runge_kutta template< class Stepper > struct dense_output_factory< Stepper , rosenbrock4_dense_output< rosenbrock4_controller< Stepper > > > { typedef Stepper stepper_type; typedef rosenbrock4_controller< stepper_type > controller_type; typedef typename stepper_type::value_type value_type; typedef rosenbrock4_dense_output< controller_type > dense_output_type; dense_output_type operator()( value_type abs_error , value_type rel_error , const stepper_type &stepper ) { return dense_output_type( controller_type( abs_error , rel_error , stepper ) ); } }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_ROSENBROCK4_HPP_INCLUDED generation_runge_kutta_cash_karp54.hpp000066400000000000000000000027631265471724600351620ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/stepper/generation/* [auto_generated] boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54.hpp [begin_description] Enable the factory functions for the controller and the dense output of the Runge-Kutta-Cash-Karp 54 method. [end_description] Copyright 2011 Karsten Ahnert Copyright 2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_RUNGE_KUTTA_CASH_KARP54_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_RUNGE_KUTTA_CASH_KARP54_HPP_INCLUDED #include #include #include namespace boost { namespace numeric { namespace odeint { // Specializations for runge_kutta_cash_karp54 template< class State , class Value , class Deriv , class Time , class Algebra , class Operations , class Resize > struct get_controller< runge_kutta_cash_karp54< State , Value , Deriv , Time , Algebra , Operations , Resize > > { typedef runge_kutta_cash_karp54< State , Value , Deriv , Time , Algebra , Operations , Resize > stepper_type; typedef controlled_runge_kutta< stepper_type > type; }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_RUNGE_KUTTA_CASH_KARP54_HPP_INCLUDED generation_runge_kutta_cash_karp54_classic.hpp000066400000000000000000000031161265471724600366540ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/stepper/generation/* [auto_generated] boost/numeric/odeint/stepper/generation/generation_runge_kutta_cash_karp54_classic.hpp [begin_description] Enable the factory functions for the controller and the dense output of the Runge-Kutta-Cash-Karp 54 method with the classical implementation. [end_description] Copyright 2011 Karsten Ahnert Copyright 2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_RUNGE_KUTTA_CASH_KARP54_CLASSIC_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_RUNGE_KUTTA_CASH_KARP54_CLASSIC_HPP_INCLUDED #include #include #include namespace boost { namespace numeric { namespace odeint { // Specializations for runge_kutta_cash_karp54 template< class State , class Value , class Deriv , class Time , class Algebra , class Operations , class Resize > struct get_controller< runge_kutta_cash_karp54_classic< State , Value , Deriv , Time , Algebra , Operations , Resize > > { typedef runge_kutta_cash_karp54_classic< State , Value , Deriv , Time , Algebra , Operations , Resize > stepper_type; typedef controlled_runge_kutta< stepper_type > type; }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_RUNGE_KUTTA_CASH_KARP54_CLASSIC_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/generation/generation_runge_kutta_dopri5.hpp000066400000000000000000000040101265471724600343220ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/generation/generation_runge_kutta_dopri5.hpp [begin_description] Enable the factory functions for the controller and the dense output of the Runge-Kutta-Dormand-Prince5 method. [end_description] Copyright 2011 Karsten Ahnert Copyright 2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_RUNGE_KUTTA_DOPRI5_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_RUNGE_KUTTA_DOPRI5_HPP_INCLUDED #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class State , class Value , class Deriv , class Time , class Algebra , class Operations , class Resize > struct get_controller< runge_kutta_dopri5< State , Value , Deriv , Time , Algebra , Operations , Resize > > { typedef runge_kutta_dopri5< State , Value , Deriv , Time , Algebra , Operations , Resize > stepper_type; typedef controlled_runge_kutta< stepper_type > type; }; template< class State , class Value , class Deriv , class Time , class Algebra , class Operations , class Resize > struct get_dense_output< runge_kutta_dopri5< State , Value , Deriv , Time , Algebra , Operations , Resize > > { typedef runge_kutta_dopri5< State , Value , Deriv , Time , Algebra , Operations , Resize > stepper_type; typedef controlled_runge_kutta< stepper_type > controller_type; typedef dense_output_runge_kutta< controller_type > type; }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_RUNGE_KUTTA_DOPRI5_HPP_INCLUDED generation_runge_kutta_fehlberg78.hpp000066400000000000000000000026741265471724600350140ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/stepper/generation/* [auto_generated] boost/numeric/odeint/stepper/generation/generation_runge_kutta_fehlberg78.hpp [begin_description] Enable the factory functions for the controller and the dense output of the Runge-Kutta-Fehlberg 78 method. [end_description] Copyright 2011 Karsten Ahnert Copyright 2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_RUNGE_KUTTA_FEHLBERG78_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_RUNGE_KUTTA_FEHLBERG78_HPP_INCLUDED #include #include #include namespace boost { namespace numeric { namespace odeint { template< class State , class Value , class Deriv , class Time , class Algebra , class Operations , class Resize > struct get_controller< runge_kutta_fehlberg78< State , Value , Deriv , Time , Algebra , Operations , Resize > > { typedef runge_kutta_fehlberg78< State , Value , Deriv , Time , Algebra , Operations , Resize > stepper_type; typedef controlled_runge_kutta< stepper_type > type; }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_RUNGE_KUTTA_FEHLBERG78_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/generation/make_controlled.hpp000066400000000000000000000035671265471724600314570ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/generation/make_controlled.hpp [begin_description] Factory function to simplify the creation of controlled steppers from error steppers. [end_description] Copyright 2011-2012 Karsten Ahnert Copyright 2011-2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_GENERATION_MAKE_CONTROLLED_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_MAKE_CONTROLLED_HPP_INCLUDED namespace boost { namespace numeric { namespace odeint { // default template for the controller template< class Stepper > struct get_controller { }; // default controller factory template< class Stepper , class Controller > struct controller_factory { Controller operator()( typename Stepper::value_type abs_error , typename Stepper::value_type rel_error , const Stepper &stepper ) { return Controller( abs_error , rel_error , stepper ); } }; namespace result_of { template< class Stepper > struct make_controlled { typedef typename get_controller< Stepper >::type type; }; } template< class Stepper > typename result_of::make_controlled< Stepper >::type make_controlled( typename Stepper::value_type abs_error , typename Stepper::value_type rel_error , const Stepper & stepper = Stepper() ) { typedef Stepper stepper_type; typedef typename result_of::make_controlled< stepper_type >::type controller_type; typedef controller_factory< stepper_type , controller_type > factory_type; factory_type factory; return factory( abs_error , rel_error , stepper ); } } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_MAKE_CONTROLLED_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/generation/make_dense_output.hpp000066400000000000000000000036301265471724600320170ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/generation/make_dense_output.hpp [begin_description] Factory function to simplify the creation of dense output steppers from error steppers. [end_description] Copyright 2011-2012 Karsten Ahnert Copyright 2011-2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_GENERATION_MAKE_DENSE_OUTPUT_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_MAKE_DENSE_OUTPUT_HPP_INCLUDED namespace boost { namespace numeric { namespace odeint { // default template for the dense output template< class Stepper > struct get_dense_output { }; // default dense output factory template< class Stepper , class DenseOutput > struct dense_output_factory { DenseOutput operator()( typename Stepper::value_type abs_error , typename Stepper::value_type rel_error , const Stepper &stepper ) { return DenseOutput( abs_error , rel_error , stepper ); } }; namespace result_of { template< class Stepper > struct make_dense_output { typedef typename get_dense_output< Stepper >::type type; }; } template< class Stepper > typename result_of::make_dense_output< Stepper >::type make_dense_output( typename Stepper::value_type abs_error , typename Stepper::value_type rel_error , const Stepper &stepper = Stepper() ) { typedef Stepper stepper_type; typedef typename result_of::make_dense_output< stepper_type >::type dense_output_type; typedef dense_output_factory< stepper_type , dense_output_type > factory_type; factory_type factory; return factory( abs_error , rel_error , stepper ); } } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_MAKE_DENSE_OUTPUT_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/implicit_euler.hpp000066400000000000000000000121641265471724600271610ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/implicit_euler.hpp [begin_description] Impementation of the implicit Euler method. Works with ublas::vector as state type. [end_description] Copyright 2010-2012 Mario Mulansky Copyright 2010-2012 Karsten Ahnert Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_IMPLICIT_EULER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_IMPLICIT_EULER_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class ValueType , class Resizer = initially_resizer > class implicit_euler { public: typedef ValueType value_type; typedef value_type time_type; typedef boost::numeric::ublas::vector< value_type > state_type; typedef state_wrapper< state_type > wrapped_state_type; typedef state_type deriv_type; typedef state_wrapper< deriv_type > wrapped_deriv_type; typedef boost::numeric::ublas::matrix< value_type > matrix_type; typedef state_wrapper< matrix_type > wrapped_matrix_type; typedef boost::numeric::ublas::permutation_matrix< size_t > pmatrix_type; typedef state_wrapper< pmatrix_type > wrapped_pmatrix_type; typedef Resizer resizer_type; typedef stepper_tag stepper_category; typedef implicit_euler< ValueType , Resizer > stepper_type; implicit_euler( value_type epsilon = 1E-6 ) : m_epsilon( epsilon ) { } template< class System > void do_step( System system , state_type &x , time_type t , time_type dt ) { typedef typename odeint::unwrap_reference< System >::type system_type; typedef typename odeint::unwrap_reference< typename system_type::first_type >::type deriv_func_type; typedef typename odeint::unwrap_reference< typename system_type::second_type >::type jacobi_func_type; system_type &sys = system; deriv_func_type &deriv_func = sys.first; jacobi_func_type &jacobi_func = sys.second; m_resizer.adjust_size( x , detail::bind( &stepper_type::template resize_impl , detail::ref( *this ) , detail::_1 ) ); for( size_t i=0 ; i( x.size() ); solve( m_b.m_v , m_jacobi.m_v ); m_x.m_v = x - m_b.m_v; // iterate Newton until some precision is reached // ToDo: maybe we should apply only one Newton step -> linear implicit one-step scheme while( boost::numeric::ublas::norm_2( m_b.m_v ) > m_epsilon ) { deriv_func( m_x.m_v , m_dxdt.m_v , t ); m_b.m_v = x - m_x.m_v + dt*m_dxdt.m_v; // simplified version, only the first Jacobian is used // jacobi( m_x , m_jacobi , t ); // m_jacobi *= dt; // m_jacobi -= boost::numeric::ublas::identity_matrix< value_type >( x.size() ); solve( m_b.m_v , m_jacobi.m_v ); m_x.m_v -= m_b.m_v; } x = m_x.m_v; } template< class StateType > void adjust_size( const StateType &x ) { resize_impl( x ); } private: template< class StateIn > bool resize_impl( const StateIn &x ) { bool resized = false; resized |= adjust_size_by_resizeability( m_dxdt , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_x , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_b , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_jacobi , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_pm , x , typename is_resizeable::type() ); return resized; } void solve( state_type &x , matrix_type &m ) { int res = boost::numeric::ublas::lu_factorize( m , m_pm.m_v ); if( res != 0 ) std::exit(0); boost::numeric::ublas::lu_substitute( m , m_pm.m_v , x ); } private: value_type m_epsilon; resizer_type m_resizer; wrapped_deriv_type m_dxdt; wrapped_state_type m_x; wrapped_deriv_type m_b; wrapped_matrix_type m_jacobi; wrapped_pmatrix_type m_pm; }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_IMPLICIT_EULER_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/modified_midpoint.hpp000066400000000000000000000245061265471724600276410ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/modified_midpoint.hpp [begin_description] Modified midpoint method for the use in Burlish-Stoer stepper. [end_description] Copyright 2011-2013 Mario Mulansky Copyright 2011-2013 Karsten Ahnert Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_MODIFIED_MIDPOINT_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_MODIFIED_MIDPOINT_HPP_INCLUDED #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class State , class Value = double , class Deriv = State , class Time = Value , class Algebra = typename algebra_dispatcher< State >::algebra_type , class Operations = typename operations_dispatcher< State >::operations_type , class Resizer = initially_resizer > #ifndef DOXYGEN_SKIP class modified_midpoint : public explicit_stepper_base< modified_midpoint< State , Value , Deriv , Time , Algebra , Operations , Resizer > , 2 , State , Value , Deriv , Time , Algebra , Operations , Resizer > #else class modified_midpoint : public explicit_stepper_base #endif { public : typedef explicit_stepper_base< modified_midpoint< State , Value , Deriv , Time , Algebra , Operations , Resizer > , 2 , State , Value , Deriv , Time , Algebra , Operations , Resizer > stepper_base_type; typedef typename stepper_base_type::state_type state_type; typedef typename stepper_base_type::wrapped_state_type wrapped_state_type; typedef typename stepper_base_type::value_type value_type; typedef typename stepper_base_type::deriv_type deriv_type; typedef typename stepper_base_type::wrapped_deriv_type wrapped_deriv_type; typedef typename stepper_base_type::time_type time_type; typedef typename stepper_base_type::algebra_type algebra_type; typedef typename stepper_base_type::operations_type operations_type; typedef typename stepper_base_type::resizer_type resizer_type; typedef typename stepper_base_type::stepper_type stepper_type; modified_midpoint( unsigned short steps = 2 , const algebra_type &algebra = algebra_type() ) : stepper_base_type( algebra ) , m_steps( steps ) { } template< class System , class StateIn , class DerivIn , class StateOut > void do_step_impl( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt ) { static const value_type val1 = static_cast< value_type >( 1 ); static const value_type val05 = static_cast< value_type >( 1 ) / static_cast< value_type >( 2 ); m_resizer.adjust_size( in , detail::bind( &stepper_type::template resize_impl< StateIn > , detail::ref( *this ) , detail::_1 ) ); const time_type h = dt / static_cast( m_steps ); const time_type h2 = static_cast(2) * h; typename odeint::unwrap_reference< System >::type &sys = system; time_type th = t + h; // m_x1 = x + h*dxdt stepper_base_type::m_algebra.for_each3( m_x1.m_v , in , dxdt , typename operations_type::template scale_sum2< value_type , time_type >( val1 , h ) ); sys( m_x1.m_v , m_dxdt.m_v , th ); boost::numeric::odeint::copy( in , m_x0.m_v ); unsigned short i = 1; while( i != m_steps ) { // general step //tmp = m_x1; m_x1 = m_x0 + h2*m_dxdt; m_x0 = tmp stepper_base_type::m_algebra.for_each3( m_x1.m_v , m_x0.m_v , m_dxdt.m_v , typename operations_type::template scale_sum_swap2< value_type , time_type >( val1 , h2 ) ); th += h; sys( m_x1.m_v , m_dxdt.m_v , th); i++; } // last step // x = 0.5*( m_x0 + m_x1 + h*m_dxdt ) stepper_base_type::m_algebra.for_each4( out , m_x0.m_v , m_x1.m_v , m_dxdt.m_v , typename operations_type::template scale_sum3< value_type , value_type , time_type >( val05 , val05 , val05*h ) ); } void set_steps( unsigned short steps ) { m_steps = steps; } unsigned short steps( void ) const { return m_steps; } template< class StateIn > void adjust_size( const StateIn &x ) { resize_impl( x ); stepper_base_type::adjust_size( x ); } private: template< class StateIn > bool resize_impl( const StateIn &x ) { bool resized( false ); resized |= adjust_size_by_resizeability( m_x0 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_dxdt , x , typename is_resizeable::type() ); return resized; } unsigned short m_steps; resizer_type m_resizer; wrapped_state_type m_x0; wrapped_state_type m_x1; wrapped_deriv_type m_dxdt; }; /* Modified midpoint which stores derivatives and state at dt/2 in some external storage for later usage in dense output calculation * This Stepper is for use in Bulirsch Stoer only. It DOES NOT meet any stepper concept. */ template< class State , class Value = double , class Deriv = State , class Time = Value , class Algebra = typename algebra_dispatcher< State >::algebra_type , class Operations = typename operations_dispatcher< State >::operations_type , class Resizer = initially_resizer > class modified_midpoint_dense_out { public : typedef State state_type; typedef Value value_type; typedef Deriv deriv_type; typedef Time time_type; typedef Algebra algebra_type; typedef Operations operations_type; typedef Resizer resizer_type; typedef state_wrapper< state_type > wrapped_state_type; typedef state_wrapper< deriv_type > wrapped_deriv_type; typedef modified_midpoint_dense_out< State , Value , Deriv , Time , Algebra , Operations , Resizer > stepper_type; typedef std::vector< wrapped_deriv_type > deriv_table_type; modified_midpoint_dense_out( unsigned short steps = 2 , const algebra_type &algebra = algebra_type() ) : m_algebra( algebra ) , m_steps( steps ) { } /* * performs a modified midpoint step with m_steps intermediate points * stores approximation for x(t+dt/2) in x_mp and all evaluated function results in derivs * */ template< class System , class StateIn , class DerivIn , class StateOut > void do_step( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt , state_type &x_mp , deriv_table_type &derivs ) { static const value_type val1 = static_cast< value_type >( 1 ); static const value_type val05 = static_cast< value_type >( 1 ) / static_cast< value_type >( 2 ); m_resizer.adjust_size( in , detail::bind( &stepper_type::template resize< StateIn > , detail::ref( *this ) , detail::_1 ) ); const time_type h = dt / static_cast( m_steps ); const time_type h2 = static_cast( 2 ) * h; typename odeint::unwrap_reference< System >::type &sys = system; time_type th = t + h; // m_x1 = x + h*dxdt m_algebra.for_each3( m_x1.m_v , in , dxdt , typename operations_type::template scale_sum2< value_type , time_type >( val1 , h ) ); if( m_steps == 2 ) // result of first step already gives approximation at the center of the interval boost::numeric::odeint::copy( m_x1.m_v , x_mp ); sys( m_x1.m_v , derivs[0].m_v , th ); boost::numeric::odeint::copy( in , m_x0.m_v ); unsigned short i = 1; while( i != m_steps ) { // general step //tmp = m_x1; m_x1 = m_x0 + h2*m_dxdt; m_x0 = tmp m_algebra.for_each3( m_x1.m_v , m_x0.m_v , derivs[i-1].m_v , typename operations_type::template scale_sum_swap2< value_type , time_type >( val1 , h2 ) ); if( i == m_steps/2-1 ) // save approximation at the center of the interval boost::numeric::odeint::copy( m_x1.m_v , x_mp ); th += h; sys( m_x1.m_v , derivs[i].m_v , th); i++; } // last step // x = 0.5*( m_x0 + m_x1 + h*m_dxdt ) m_algebra.for_each4( out , m_x0.m_v , m_x1.m_v , derivs[m_steps-1].m_v , typename operations_type::template scale_sum3< value_type , value_type , time_type >( val05 , val05 , val05*h ) ); } void set_steps( unsigned short steps ) { m_steps = steps; } unsigned short steps( void ) const { return m_steps; } template< class StateIn > bool resize( const StateIn &x ) { bool resized( false ); resized |= adjust_size_by_resizeability( m_x0 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable::type() ); return resized; } template< class StateIn > void adjust_size( const StateIn &x ) { resize( x ); } private: algebra_type m_algebra; unsigned short m_steps; resizer_type m_resizer; wrapped_state_type m_x0; wrapped_state_type m_x1; }; /********** DOXYGEN ***********/ /** * \class modified_midpoint * * Implementation of the modified midpoint method with a configurable * number of intermediate steps. This class is used by the Bulirsch-Stoer * algorithm and is not meant for direct usage. */ /** * \class modified_midpoint_dense_out * * Implementation of the modified midpoint method with a configurable * number of intermediate steps. This class is used by the dense output * Bulirsch-Stoer algorithm and is not meant for direct usage. * \note This stepper is for internal use only and does not meet * any stepper concept. */ } } } #endif // BOOST_NUMERIC_ODEINT_STEPPER_MODIFIED_MIDPOINT_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/rosenbrock4.hpp000066400000000000000000000344121265471724600264060ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/rosenbrock4.hpp [begin_description] Implementation of the Rosenbrock 4 method for solving stiff ODEs. Note, that a controller and a dense-output stepper exist for this method, [end_description] Copyright 2011-2013 Karsten Ahnert Copyright 2011-2012 Mario Mulansky Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_ROSENBROCK4_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_ROSENBROCK4_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { /* * ToDo: * * 2. Interfacing for odeint, check if controlled_error_stepper can be used * 3. dense output */ template< class Value > struct default_rosenbrock_coefficients { typedef Value value_type; typedef unsigned short order_type; default_rosenbrock_coefficients( void ) : gamma ( static_cast< value_type >( 0.25 ) ) , d1 ( static_cast< value_type >( 0.25 ) ) , d2 ( static_cast< value_type >( -0.1043 ) ) , d3 ( static_cast< value_type >( 0.1035 ) ) , d4 ( static_cast< value_type >( 0.3620000000000023e-01 ) ) , c2 ( static_cast< value_type >( 0.386 ) ) , c3 ( static_cast< value_type >( 0.21 ) ) , c4 ( static_cast< value_type >( 0.63 ) ) , c21 ( static_cast< value_type >( -0.5668800000000000e+01 ) ) , a21 ( static_cast< value_type >( 0.1544000000000000e+01 ) ) , c31 ( static_cast< value_type >( -0.2430093356833875e+01 ) ) , c32 ( static_cast< value_type >( -0.2063599157091915e+00 ) ) , a31 ( static_cast< value_type >( 0.9466785280815826e+00 ) ) , a32 ( static_cast< value_type >( 0.2557011698983284e+00 ) ) , c41 ( static_cast< value_type >( -0.1073529058151375e+00 ) ) , c42 ( static_cast< value_type >( -0.9594562251023355e+01 ) ) , c43 ( static_cast< value_type >( -0.2047028614809616e+02 ) ) , a41 ( static_cast< value_type >( 0.3314825187068521e+01 ) ) , a42 ( static_cast< value_type >( 0.2896124015972201e+01 ) ) , a43 ( static_cast< value_type >( 0.9986419139977817e+00 ) ) , c51 ( static_cast< value_type >( 0.7496443313967647e+01 ) ) , c52 ( static_cast< value_type >( -0.1024680431464352e+02 ) ) , c53 ( static_cast< value_type >( -0.3399990352819905e+02 ) ) , c54 ( static_cast< value_type >( 0.1170890893206160e+02 ) ) , a51 ( static_cast< value_type >( 0.1221224509226641e+01 ) ) , a52 ( static_cast< value_type >( 0.6019134481288629e+01 ) ) , a53 ( static_cast< value_type >( 0.1253708332932087e+02 ) ) , a54 ( static_cast< value_type >( -0.6878860361058950e+00 ) ) , c61 ( static_cast< value_type >( 0.8083246795921522e+01 ) ) , c62 ( static_cast< value_type >( -0.7981132988064893e+01 ) ) , c63 ( static_cast< value_type >( -0.3152159432874371e+02 ) ) , c64 ( static_cast< value_type >( 0.1631930543123136e+02 ) ) , c65 ( static_cast< value_type >( -0.6058818238834054e+01 ) ) , d21 ( static_cast< value_type >( 0.1012623508344586e+02 ) ) , d22 ( static_cast< value_type >( -0.7487995877610167e+01 ) ) , d23 ( static_cast< value_type >( -0.3480091861555747e+02 ) ) , d24 ( static_cast< value_type >( -0.7992771707568823e+01 ) ) , d25 ( static_cast< value_type >( 0.1025137723295662e+01 ) ) , d31 ( static_cast< value_type >( -0.6762803392801253e+00 ) ) , d32 ( static_cast< value_type >( 0.6087714651680015e+01 ) ) , d33 ( static_cast< value_type >( 0.1643084320892478e+02 ) ) , d34 ( static_cast< value_type >( 0.2476722511418386e+02 ) ) , d35 ( static_cast< value_type >( -0.6594389125716872e+01 ) ) {} const value_type gamma; const value_type d1 , d2 , d3 , d4; const value_type c2 , c3 , c4; const value_type c21 ; const value_type a21; const value_type c31 , c32; const value_type a31 , a32; const value_type c41 , c42 , c43; const value_type a41 , a42 , a43; const value_type c51 , c52 , c53 , c54; const value_type a51 , a52 , a53 , a54; const value_type c61 , c62 , c63 , c64 , c65; const value_type d21 , d22 , d23 , d24 , d25; const value_type d31 , d32 , d33 , d34 , d35; static const order_type stepper_order = 4; static const order_type error_order = 3; }; template< class Value , class Coefficients = default_rosenbrock_coefficients< Value > , class Resizer = initially_resizer > class rosenbrock4 { private: public: typedef Value value_type; typedef boost::numeric::ublas::vector< value_type > state_type; typedef state_type deriv_type; typedef value_type time_type; typedef boost::numeric::ublas::matrix< value_type > matrix_type; typedef boost::numeric::ublas::permutation_matrix< size_t > pmatrix_type; typedef Resizer resizer_type; typedef Coefficients rosenbrock_coefficients; typedef stepper_tag stepper_category; typedef unsigned short order_type; typedef state_wrapper< state_type > wrapped_state_type; typedef state_wrapper< deriv_type > wrapped_deriv_type; typedef state_wrapper< matrix_type > wrapped_matrix_type; typedef state_wrapper< pmatrix_type > wrapped_pmatrix_type; typedef rosenbrock4< Value , Coefficients , Resizer > stepper_type; const static order_type stepper_order = rosenbrock_coefficients::stepper_order; const static order_type error_order = rosenbrock_coefficients::error_order; rosenbrock4( void ) : m_resizer() , m_x_err_resizer() , m_jac() , m_pm() , m_dfdt() , m_dxdt() , m_dxdtnew() , m_g1() , m_g2() , m_g3() , m_g4() , m_g5() , m_cont3() , m_cont4() , m_xtmp() , m_x_err() , m_coef() { } order_type order() const { return stepper_order; } template< class System > void do_step( System system , const state_type &x , time_type t , state_type &xout , time_type dt , state_type &xerr ) { // get the system and jacobi function typedef typename odeint::unwrap_reference< System >::type system_type; typedef typename odeint::unwrap_reference< typename system_type::first_type >::type deriv_func_type; typedef typename odeint::unwrap_reference< typename system_type::second_type >::type jacobi_func_type; system_type &sys = system; deriv_func_type &deriv_func = sys.first; jacobi_func_type &jacobi_func = sys.second; const size_t n = x.size(); m_resizer.adjust_size( x , detail::bind( &stepper_type::template resize_impl , detail::ref( *this ) , detail::_1 ) ); for( size_t i=0 ; i( n ); boost::numeric::ublas::lu_factorize( m_jac.m_v , m_pm.m_v ); for( size_t i=0 ; i void do_step( System system , state_type &x , time_type t , time_type dt , state_type &xerr ) { do_step( system , x , t , x , dt , xerr ); } /* * do_step without error output - just calls above functions with and neglects the error estimate */ template< class System > void do_step( System system , const state_type &x , time_type t , state_type &xout , time_type dt ) { m_x_err_resizer.adjust_size( x , detail::bind( &stepper_type::template resize_x_err , detail::ref( *this ) , detail::_1 ) ); do_step( system , x , t , xout , dt , m_x_err.m_v ); } template< class System > void do_step( System system , state_type &x , time_type t , time_type dt ) { m_x_err_resizer.adjust_size( x , detail::bind( &stepper_type::template resize_x_err , detail::ref( *this ) , detail::_1 ) ); do_step( system , x , t , dt , m_x_err.m_v ); } void prepare_dense_output() { const size_t n = m_g1.m_v.size(); for( size_t i=0 ; i void adjust_size( const StateType &x ) { resize_impl( x ); resize_x_err( x ); } protected: template< class StateIn > bool resize_impl( const StateIn &x ) { bool resized = false; resized |= adjust_size_by_resizeability( m_dxdt , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_dfdt , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_dxdtnew , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_xtmp , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_g1 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_g2 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_g3 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_g4 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_g5 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_cont3 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_cont4 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_jac , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_pm , x , typename is_resizeable::type() ); return resized; } template< class StateIn > bool resize_x_err( const StateIn &x ) { return adjust_size_by_resizeability( m_x_err , x , typename is_resizeable::type() ); } private: resizer_type m_resizer; resizer_type m_x_err_resizer; wrapped_matrix_type m_jac; wrapped_pmatrix_type m_pm; wrapped_deriv_type m_dfdt , m_dxdt , m_dxdtnew; wrapped_state_type m_g1 , m_g2 , m_g3 , m_g4 , m_g5; wrapped_state_type m_cont3 , m_cont4; wrapped_state_type m_xtmp; wrapped_state_type m_x_err; const rosenbrock_coefficients m_coef; }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_ROSENBROCK4_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/rosenbrock4_controller.hpp000066400000000000000000000142021265471724600306440ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/rosenbrock4_controller.hpp [begin_description] Controller for the Rosenbrock4 method. [end_description] Copyright 2011-2012 Karsten Ahnert Copyright 2011-2012 Mario Mulansky Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_ROSENBROCK4_CONTROLLER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_ROSENBROCK4_CONTROLLER_HPP_INCLUDED #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class Stepper > class rosenbrock4_controller { private: public: typedef Stepper stepper_type; typedef typename stepper_type::value_type value_type; typedef typename stepper_type::state_type state_type; typedef typename stepper_type::wrapped_state_type wrapped_state_type; typedef typename stepper_type::time_type time_type; typedef typename stepper_type::deriv_type deriv_type; typedef typename stepper_type::wrapped_deriv_type wrapped_deriv_type; typedef typename stepper_type::resizer_type resizer_type; typedef controlled_stepper_tag stepper_category; typedef rosenbrock4_controller< Stepper > controller_type; rosenbrock4_controller( value_type atol = 1.0e-6 , value_type rtol = 1.0e-6 , const stepper_type &stepper = stepper_type() ) : m_stepper( stepper ) , m_atol( atol ) , m_rtol( rtol ) , m_first_step( true ) , m_err_old( 0.0 ) , m_dt_old( 0.0 ) , m_last_rejected( false ) { } value_type error( const state_type &x , const state_type &xold , const state_type &xerr ) { BOOST_USING_STD_MAX(); using std::abs; using std::sqrt; const size_t n = x.size(); value_type err = 0.0 , sk = 0.0; for( size_t i=0 ; i boost::numeric::odeint::controlled_step_result try_step( System sys , state_type &x , time_type &t , time_type &dt ) { m_xnew_resizer.adjust_size( x , detail::bind( &controller_type::template resize_m_xnew< state_type > , detail::ref( *this ) , detail::_1 ) ); boost::numeric::odeint::controlled_step_result res = try_step( sys , x , t , m_xnew.m_v , dt ); if( res == success ) { boost::numeric::odeint::copy( m_xnew.m_v , x ); } return res; } template< class System > boost::numeric::odeint::controlled_step_result try_step( System sys , const state_type &x , time_type &t , state_type &xout , time_type &dt ) { BOOST_USING_STD_MIN(); BOOST_USING_STD_MAX(); using std::pow; static const value_type safe = 0.9 , fac1 = 5.0 , fac2 = 1.0 / 6.0; m_xerr_resizer.adjust_size( x , detail::bind( &controller_type::template resize_m_xerr< state_type > , detail::ref( *this ) , detail::_1 ) ); m_stepper.do_step( sys , x , t , xout , dt , m_xerr.m_v ); value_type err = error( xout , x , m_xerr.m_v ); value_type fac = max BOOST_PREVENT_MACRO_SUBSTITUTION ( fac2 , min BOOST_PREVENT_MACRO_SUBSTITUTION ( fac1 , static_cast< value_type >( pow( err , 0.25 ) / safe ) ) ); value_type dt_new = dt / fac; if ( err <= 1.0 ) { if( m_first_step ) { m_first_step = false; } else { value_type fac_pred = ( m_dt_old / dt ) * pow( err * err / m_err_old , 0.25 ) / safe; fac_pred = max BOOST_PREVENT_MACRO_SUBSTITUTION ( fac2 , min BOOST_PREVENT_MACRO_SUBSTITUTION ( fac1 , fac_pred ) ); fac = max BOOST_PREVENT_MACRO_SUBSTITUTION ( fac , fac_pred ); dt_new = dt / fac; } m_dt_old = dt; m_err_old = max BOOST_PREVENT_MACRO_SUBSTITUTION ( static_cast< value_type >( 0.01 ) , err ); if( m_last_rejected ) dt_new = ( dt >= 0.0 ? min BOOST_PREVENT_MACRO_SUBSTITUTION ( dt_new , dt ) : max BOOST_PREVENT_MACRO_SUBSTITUTION ( dt_new , dt ) ); t += dt; dt = dt_new; m_last_rejected = false; return success; } else { dt = dt_new; m_last_rejected = true; return fail; } } template< class StateType > void adjust_size( const StateType &x ) { resize_m_xerr( x ); resize_m_xnew( x ); } stepper_type& stepper( void ) { return m_stepper; } const stepper_type& stepper( void ) const { return m_stepper; } private: template< class StateIn > bool resize_m_xerr( const StateIn &x ) { return adjust_size_by_resizeability( m_xerr , x , typename is_resizeable::type() ); } template< class StateIn > bool resize_m_xnew( const StateIn &x ) { return adjust_size_by_resizeability( m_xnew , x , typename is_resizeable::type() ); } stepper_type m_stepper; resizer_type m_xerr_resizer; resizer_type m_xnew_resizer; wrapped_state_type m_xerr; wrapped_state_type m_xnew; value_type m_atol , m_rtol; bool m_first_step; value_type m_err_old , m_dt_old; bool m_last_rejected; }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_ROSENBROCK4_CONTROLLER_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp000066400000000000000000000121031265471724600311750ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp [begin_description] Dense output for Rosenbrock 4. [end_description] Copyright 2011-2012 Karsten Ahnert Copyright 2011-2012 Mario Mulansky Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_ROSENBROCK4_DENSE_OUTPUT_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_ROSENBROCK4_DENSE_OUTPUT_HPP_INCLUDED #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class ControlledStepper > class rosenbrock4_dense_output { public: typedef ControlledStepper controlled_stepper_type; typedef typename controlled_stepper_type::stepper_type stepper_type; typedef typename stepper_type::value_type value_type; typedef typename stepper_type::state_type state_type; typedef typename stepper_type::wrapped_state_type wrapped_state_type; typedef typename stepper_type::time_type time_type; typedef typename stepper_type::deriv_type deriv_type; typedef typename stepper_type::wrapped_deriv_type wrapped_deriv_type; typedef typename stepper_type::resizer_type resizer_type; typedef dense_output_stepper_tag stepper_category; typedef rosenbrock4_dense_output< ControlledStepper > dense_output_stepper_type; rosenbrock4_dense_output( const controlled_stepper_type &stepper = controlled_stepper_type() ) : m_stepper( stepper ) , m_x1() , m_x2() , m_current_state_x1( true ) , m_t() , m_t_old() , m_dt() { } template< class StateType > void initialize( const StateType &x0 , time_type t0 , time_type dt0 ) { m_resizer.adjust_size( x0 , detail::bind( &dense_output_stepper_type::template resize_impl< StateType > , detail::ref( *this ) , detail::_1 ) ); get_current_state() = x0; m_t = t0; m_dt = dt0; } template< class System > std::pair< time_type , time_type > do_step( System system ) { const size_t max_count = 1000; controlled_step_result res = fail; m_t_old = m_t; size_t count = 0; do { res = m_stepper.try_step( system , get_current_state() , m_t , get_old_state() , m_dt ); if( count++ == max_count ) throw std::overflow_error( "rosenbrock4 : too much iterations!"); } while( res == fail ); m_stepper.stepper().prepare_dense_output(); this->toggle_current_state(); return std::make_pair( m_t_old , m_t ); } /* * The two overloads are needed in order to solve the forwarding problem. */ template< class StateOut > void calc_state( time_type t , StateOut &x ) { m_stepper.stepper().calc_state( t , x , get_old_state() , m_t_old , get_current_state() , m_t ); } template< class StateOut > void calc_state( time_type t , const StateOut &x ) { m_stepper.stepper().calc_state( t , x , get_old_state() , m_t_old , get_current_state() , m_t ); } template< class StateType > void adjust_size( const StateType &x ) { m_stepper.adjust_size( x ); resize_impl( x ); } const state_type& current_state( void ) const { return get_current_state(); } time_type current_time( void ) const { return m_t; } const state_type& previous_state( void ) const { return get_old_state(); } time_type previous_time( void ) const { return m_t_old; } time_type current_time_step( void ) const { return m_dt; } private: state_type& get_current_state( void ) { return m_current_state_x1 ? m_x1.m_v : m_x2.m_v ; } const state_type& get_current_state( void ) const { return m_current_state_x1 ? m_x1.m_v : m_x2.m_v ; } state_type& get_old_state( void ) { return m_current_state_x1 ? m_x2.m_v : m_x1.m_v ; } const state_type& get_old_state( void ) const { return m_current_state_x1 ? m_x2.m_v : m_x1.m_v ; } void toggle_current_state( void ) { m_current_state_x1 = ! m_current_state_x1; } template< class StateIn > bool resize_impl( const StateIn &x ) { bool resized = false; resized |= adjust_size_by_resizeability( m_x1 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_x2 , x , typename is_resizeable::type() ); return resized; } controlled_stepper_type m_stepper; resizer_type m_resizer; wrapped_state_type m_x1 , m_x2; bool m_current_state_x1; time_type m_t , m_t_old , m_dt; }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_ROSENBROCK4_DENSE_OUTPUT_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/runge_kutta4.hpp000066400000000000000000000133441265471724600265700ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/runge_kutta4.hpp [begin_description] Implementation of the classical Runge-Kutta stepper with the generic stepper. [end_description] Copyright 2011-2013 Mario Mulansky Copyright 2011-2013 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA4_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA4_HPP_INCLUDED #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { #ifndef DOXYGEN_SKIP template< class Value = double > struct rk4_coefficients_a1 : boost::array< Value , 1 > { rk4_coefficients_a1( void ) { (*this)[0] = static_cast< Value >( 1 ) / static_cast< Value >( 2 ); } }; template< class Value = double > struct rk4_coefficients_a2 : boost::array< Value , 2 > { rk4_coefficients_a2( void ) { (*this)[0] = static_cast(0); (*this)[1] = static_cast< Value >( 1 ) / static_cast< Value >( 2 ); } }; template< class Value = double > struct rk4_coefficients_a3 : boost::array< Value , 3 > { rk4_coefficients_a3( void ) { (*this)[0] = static_cast(0); (*this)[1] = static_cast(0); (*this)[2] = static_cast(1); } }; template< class Value = double > struct rk4_coefficients_b : boost::array< Value , 4 > { rk4_coefficients_b( void ) { (*this)[0] = static_cast(1)/static_cast(6); (*this)[1] = static_cast(1)/static_cast(3); (*this)[2] = static_cast(1)/static_cast(3); (*this)[3] = static_cast(1)/static_cast(6); } }; template< class Value = double > struct rk4_coefficients_c : boost::array< Value , 4 > { rk4_coefficients_c( void ) { (*this)[0] = static_cast(0); (*this)[1] = static_cast< Value >( 1 ) / static_cast< Value >( 2 ); (*this)[2] = static_cast< Value >( 1 ) / static_cast< Value >( 2 ); (*this)[3] = static_cast(1); } }; #endif template< class State , class Value = double , class Deriv = State , class Time = Value , class Algebra = typename algebra_dispatcher< State >::algebra_type , class Operations = typename operations_dispatcher< State >::operations_type , class Resizer = initially_resizer > #ifndef DOXYGEN_SKIP class runge_kutta4 : public explicit_generic_rk< 4 , 4 , State , Value , Deriv , Time , Algebra , Operations , Resizer > #else class runge_kutta4 : public explicit_generic_rk #endif { public: #ifndef DOXYGEN_SKIP typedef explicit_generic_rk< 4 , 4 , State , Value , Deriv , Time , Algebra , Operations , Resizer > stepper_base_type; #endif typedef typename stepper_base_type::state_type state_type; typedef typename stepper_base_type::value_type value_type; typedef typename stepper_base_type::deriv_type deriv_type; typedef typename stepper_base_type::time_type time_type; typedef typename stepper_base_type::algebra_type algebra_type; typedef typename stepper_base_type::operations_type operations_type; typedef typename stepper_base_type::resizer_type resizer_type; #ifndef DOXYGEN_SKIP typedef typename stepper_base_type::wrapped_state_type wrapped_state_type; typedef typename stepper_base_type::wrapped_deriv_type wrapped_deriv_type; typedef typename stepper_base_type::stepper_type stepper_type; #endif runge_kutta4( const algebra_type &algebra = algebra_type() ) : stepper_base_type( boost::fusion::make_vector( rk4_coefficients_a1() , rk4_coefficients_a2() , rk4_coefficients_a3() ) , rk4_coefficients_b() , rk4_coefficients_c() , algebra ) { } }; /** * \class runge_kutta4 * \brief The classical Runge-Kutta stepper of fourth order. * * The Runge-Kutta method of fourth order is one standard method for * solving ordinary differential equations and is widely used, see also * en.wikipedia.org/wiki/Runge-Kutta_methods * The method is explicit and fulfills the Stepper concept. Step size control * or continuous output are not provided. * * This class derives from explicit_stepper_base and inherits its interface via CRTP (current recurring template pattern). * Furthermore, it derivs from explicit_generic_rk which is a generic Runge-Kutta algorithm. For more details see * explicit_stepper_base and explicit_generic_rk. * * \tparam State The state type. * \tparam Value The value type. * \tparam Deriv The type representing the time derivative of the state. * \tparam Time The time representing the independent variable - the time. * \tparam Algebra The algebra type. * \tparam Operations The operations type. * \tparam Resizer The resizer policy type. */ /** * \fn runge_kutta4::runge_kutta4( const algebra_type &algebra = algebra_type() ) * \brief Constructs the runge_kutta4 class. This constructor can be used as a default * constructor if the algebra has a default constructor. * \param algebra A copy of algebra is made and stored inside explicit_stepper_base. */ } } } #endif // BOOST_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA4_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/runge_kutta4_classic.hpp000066400000000000000000000220471265471724600302710ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/runge_kutta4_classic.hpp [begin_description] Implementation for the classical Runge Kutta stepper. [end_description] Copyright 2010-2013 Karsten Ahnert Copyright 2010-2013 Mario Mulansky Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA4_CLASSIC_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA4_CLASSIC_HPP_INCLUDED #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class State , class Value = double , class Deriv = State , class Time = Value , class Algebra = typename algebra_dispatcher< State >::algebra_type , class Operations = typename operations_dispatcher< State >::operations_type , class Resizer = initially_resizer > #ifndef DOXYGEN_SKIP class runge_kutta4_classic : public explicit_stepper_base< runge_kutta4_classic< State , Value , Deriv , Time , Algebra , Operations , Resizer > , 4 , State , Value , Deriv , Time , Algebra , Operations , Resizer > #else class runge_kutta4_classic : public explicit_stepper_base #endif { public : #ifndef DOXYGEN_SKIP typedef explicit_stepper_base< runge_kutta4_classic< State , Value , Deriv , Time , Algebra , Operations , Resizer > , 4 , State , Value , Deriv , Time , Algebra , Operations , Resizer > stepper_base_type; #else typedef explicit_stepper_base< runge_kutta4_classic< ... > , ... > stepper_base_type; #endif typedef typename stepper_base_type::state_type state_type; typedef typename stepper_base_type::value_type value_type; typedef typename stepper_base_type::deriv_type deriv_type; typedef typename stepper_base_type::time_type time_type; typedef typename stepper_base_type::algebra_type algebra_type; typedef typename stepper_base_type::operations_type operations_type; typedef typename stepper_base_type::resizer_type resizer_type; #ifndef DOXYGEN_SKIP typedef typename stepper_base_type::stepper_type stepper_type; typedef typename stepper_base_type::wrapped_state_type wrapped_state_type; typedef typename stepper_base_type::wrapped_deriv_type wrapped_deriv_type; #endif // DOXYGEN_SKIP runge_kutta4_classic( const algebra_type &algebra = algebra_type() ) : stepper_base_type( algebra ) { } template< class System , class StateIn , class DerivIn , class StateOut > void do_step_impl( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt ) { // ToDo : check if size of in,dxdt,out are equal? static const value_type val1 = static_cast< value_type >( 1 ); m_resizer.adjust_size( in , detail::bind( &stepper_type::template resize_impl< StateIn > , detail::ref( *this ) , detail::_1 ) ); typename odeint::unwrap_reference< System >::type &sys = system; const time_type dh = dt / static_cast< value_type >( 2 ); const time_type th = t + dh; // dt * dxdt = k1 // m_x_tmp = x + dh*dxdt stepper_base_type::m_algebra.for_each3( m_x_tmp.m_v , in , dxdt , typename operations_type::template scale_sum2< value_type , time_type >( val1 , dh ) ); // dt * m_dxt = k2 sys( m_x_tmp.m_v , m_dxt.m_v , th ); // m_x_tmp = x + dh*m_dxt stepper_base_type::m_algebra.for_each3( m_x_tmp.m_v , in , m_dxt.m_v , typename operations_type::template scale_sum2< value_type , time_type >( val1 , dh ) ); // dt * m_dxm = k3 sys( m_x_tmp.m_v , m_dxm.m_v , th ); //m_x_tmp = x + dt*m_dxm stepper_base_type::m_algebra.for_each3( m_x_tmp.m_v , in , m_dxm.m_v , typename operations_type::template scale_sum2< value_type , time_type >( val1 , dt ) ); // dt * m_dxh = k4 sys( m_x_tmp.m_v , m_dxh.m_v , t + dt ); //x += dt/6 * ( m_dxdt + m_dxt + val2*m_dxm ) time_type dt6 = dt / static_cast< value_type >( 6 ); time_type dt3 = dt / static_cast< value_type >( 3 ); stepper_base_type::m_algebra.for_each6( out , in , dxdt , m_dxt.m_v , m_dxm.m_v , m_dxh.m_v , typename operations_type::template scale_sum5< value_type , time_type , time_type , time_type , time_type >( 1.0 , dt6 , dt3 , dt3 , dt6 ) ); // x += dt/6 * m_dxdt + dt/3 * m_dxt ) // stepper_base_type::m_algebra.for_each4( out , in , dxdt , m_dxt.m_v , // typename operations_type::template scale_sum3< value_type , time_type , time_type >( 1.0 , dt6 , dt3 ) ); // // x += dt/3 * m_dxm + dt/6 * m_dxh ) // stepper_base_type::m_algebra.for_each4( out , out , m_dxm.m_v , m_dxh.m_v , // typename operations_type::template scale_sum3< value_type , time_type , time_type >( 1.0 , dt3 , dt6 ) ); } template< class StateType > void adjust_size( const StateType &x ) { resize_impl( x ); stepper_base_type::adjust_size( x ); } private: template< class StateIn > bool resize_impl( const StateIn &x ) { bool resized = false; resized |= adjust_size_by_resizeability( m_x_tmp , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_dxm , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_dxt , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_dxh , x , typename is_resizeable::type() ); return resized; } resizer_type m_resizer; wrapped_deriv_type m_dxt; wrapped_deriv_type m_dxm; wrapped_deriv_type m_dxh; wrapped_state_type m_x_tmp; }; /********* DOXYGEN *********/ /** * \class runge_kutta4_classic * \brief The classical Runge-Kutta stepper of fourth order. * * The Runge-Kutta method of fourth order is one standard method for * solving ordinary differential equations and is widely used, see also * en.wikipedia.org/wiki/Runge-Kutta_methods * The method is explicit and fulfills the Stepper concept. Step size control * or continuous output are not provided. This class implements the method directly, hence the * generic Runge-Kutta algorithm is not used. * * This class derives from explicit_stepper_base and inherits its interface via * CRTP (current recurring template pattern). For more details see * explicit_stepper_base. * * \tparam State The state type. * \tparam Value The value type. * \tparam Deriv The type representing the time derivative of the state. * \tparam Time The time representing the independent variable - the time. * \tparam Algebra The algebra type. * \tparam Operations The operations type. * \tparam Resizer The resizer policy type. */ /** * \fn runge_kutta4_classic::runge_kutta4_classic( const algebra_type &algebra ) * \brief Constructs the runge_kutta4_classic class. This constructor can be used as a default * constructor if the algebra has a default constructor. * \param algebra A copy of algebra is made and stored inside explicit_stepper_base. */ /** * \fn runge_kutta4_classic::do_step_impl( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt ) * \brief This method performs one step. The derivative `dxdt` of `in` at the time `t` is passed to the method. * The result is updated out of place, hence the input is in `in` and the output in `out`. * Access to this step functionality is provided by explicit_stepper_base and * `do_step_impl` should not be called directly. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param dxdt The derivative of x at t. * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. */ /** * \fn runge_kutta4_classic::adjust_size( const StateType &x ) * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA4_CLASSIC_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp000066400000000000000000000207441265471724600306720ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp [begin_description] Implementation of the Runge Kutta Cash Karp 5(4) method. It uses the generic error stepper. [end_description] Copyright 2011-2013 Mario Mulansky Copyright 2011-2013 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA_CASH_KARP54_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA_CASH_KARP54_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { #ifndef DOXYGEN_SKIP template< class Value = double > struct rk54_ck_coefficients_a1 : boost::array< Value , 1 > { rk54_ck_coefficients_a1( void ) { (*this)[0] = static_cast< Value >( 1 )/static_cast< Value >( 5 ); } }; template< class Value = double > struct rk54_ck_coefficients_a2 : boost::array< Value , 2 > { rk54_ck_coefficients_a2( void ) { (*this)[0] = static_cast( 3 )/static_cast( 40 ); (*this)[1] = static_cast( 9 )/static_cast( 40 ); } }; template< class Value = double > struct rk54_ck_coefficients_a3 : boost::array< Value , 3 > { rk54_ck_coefficients_a3( void ) { (*this)[0] = static_cast( 3 )/static_cast( 10 ); (*this)[1] = static_cast( -9 )/static_cast( 10 ); (*this)[2] = static_cast( 6 )/static_cast( 5 ); } }; template< class Value = double > struct rk54_ck_coefficients_a4 : boost::array< Value , 4 > { rk54_ck_coefficients_a4( void ) { (*this)[0] = static_cast( -11 )/static_cast( 54 ); (*this)[1] = static_cast( 5 )/static_cast( 2 ); (*this)[2] = static_cast( -70 )/static_cast( 27 ); (*this)[3] = static_cast( 35 )/static_cast( 27 ); } }; template< class Value = double > struct rk54_ck_coefficients_a5 : boost::array< Value , 5 > { rk54_ck_coefficients_a5( void ) { (*this)[0] = static_cast( 1631 )/static_cast( 55296 ); (*this)[1] = static_cast( 175 )/static_cast( 512 ); (*this)[2] = static_cast( 575 )/static_cast( 13824 ); (*this)[3] = static_cast( 44275 )/static_cast( 110592 ); (*this)[4] = static_cast( 253 )/static_cast( 4096 ); } }; template< class Value = double > struct rk54_ck_coefficients_b : boost::array< Value , 6 > { rk54_ck_coefficients_b( void ) { (*this)[0] = static_cast( 37 )/static_cast( 378 ); (*this)[1] = static_cast( 0 ); (*this)[2] = static_cast( 250 )/static_cast( 621 ); (*this)[3] = static_cast( 125 )/static_cast( 594 ); (*this)[4] = static_cast( 0 ); (*this)[5] = static_cast( 512 )/static_cast( 1771 ); } }; template< class Value = double > struct rk54_ck_coefficients_db : boost::array< Value , 6 > { rk54_ck_coefficients_db( void ) { (*this)[0] = static_cast( 37 )/static_cast( 378 ) - static_cast( 2825 )/static_cast( 27648 ); (*this)[1] = static_cast( 0 ); (*this)[2] = static_cast( 250 )/static_cast( 621 ) - static_cast( 18575 )/static_cast( 48384 ); (*this)[3] = static_cast( 125 )/static_cast( 594 ) - static_cast( 13525 )/static_cast( 55296 ); (*this)[4] = static_cast( -277 )/static_cast( 14336 ); (*this)[5] = static_cast( 512 )/static_cast( 1771 ) - static_cast( 1 )/static_cast( 4 ); } }; template< class Value = double > struct rk54_ck_coefficients_c : boost::array< Value , 6 > { rk54_ck_coefficients_c( void ) { (*this)[0] = static_cast(0); (*this)[1] = static_cast( 1 )/static_cast( 5 ); (*this)[2] = static_cast( 3 )/static_cast( 10 ); (*this)[3] = static_cast( 3 )/static_cast( 5 ); (*this)[4] = static_cast( 1 ); (*this)[5] = static_cast( 7 )/static_cast( 8 ); } }; #endif template< class State , class Value = double , class Deriv = State , class Time = Value , class Algebra = typename algebra_dispatcher< State >::algebra_type , class Operations = typename operations_dispatcher< State >::operations_type , class Resizer = initially_resizer > #ifndef DOXYGEN_SKIP class runge_kutta_cash_karp54 : public explicit_error_generic_rk< 6 , 5 , 5 , 4 , State , Value , Deriv , Time , Algebra , Operations , Resizer > #else class runge_kutta_cash_karp54 : public explicit_error_generic_rk #endif { public: #ifndef DOXYGEN_SKIP typedef explicit_error_generic_rk< 6 , 5 , 5 , 4 , State , Value , Deriv , Time , Algebra , Operations , Resizer > stepper_base_type; #endif typedef typename stepper_base_type::state_type state_type; typedef typename stepper_base_type::value_type value_type; typedef typename stepper_base_type::deriv_type deriv_type; typedef typename stepper_base_type::time_type time_type; typedef typename stepper_base_type::algebra_type algebra_type; typedef typename stepper_base_type::operations_type operations_type; typedef typename stepper_base_type::resizer_type resizer_typ; #ifndef DOXYGEN_SKIP typedef typename stepper_base_type::stepper_type stepper_type; typedef typename stepper_base_type::wrapped_state_type wrapped_state_type; typedef typename stepper_base_type::wrapped_deriv_type wrapped_deriv_type; #endif runge_kutta_cash_karp54( const algebra_type &algebra = algebra_type() ) : stepper_base_type( boost::fusion::make_vector( rk54_ck_coefficients_a1() , rk54_ck_coefficients_a2() , rk54_ck_coefficients_a3() , rk54_ck_coefficients_a4() , rk54_ck_coefficients_a5() ) , rk54_ck_coefficients_b() , rk54_ck_coefficients_db() , rk54_ck_coefficients_c() , algebra ) { } }; /********** DOXYGEN **********/ /** * \class runge_kutta_cash_karp54 * \brief The Runge-Kutta Cash-Karp method. * * The Runge-Kutta Cash-Karp method is one of the standard methods for * solving ordinary differential equations, see * en.wikipedia.org/wiki/Cash-Karp_methods. * The method is explicit and fulfills the Error Stepper concept. Step size control * is provided but continuous output is not available for this method. * * This class derives from explicit_error_stepper_base and inherits its interface via CRTP (current recurring template pattern). * Furthermore, it derivs from explicit_error_generic_rk which is a generic Runge-Kutta algorithm with error estimation. * For more details see explicit_error_stepper_base and explicit_error_generic_rk. * * \tparam State The state type. * \tparam Value The value type. * \tparam Deriv The type representing the time derivative of the state. * \tparam Time The time representing the independent variable - the time. * \tparam Algebra The algebra type. * \tparam Operations The operations type. * \tparam Resizer The resizer policy type. */ /** * \fn runge_kutta_cash_karp54::runge_kutta_cash_karp54( const algebra_type &algebra ) * \brief Constructs the runge_kutta_cash_karp54 class. This constructor can be used as a default * constructor if the algebra has a default constructor. * \param algebra A copy of algebra is made and stored inside explicit_stepper_base. */ } } } #endif // BOOST_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA_CASH_KARP54_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/runge_kutta_cash_karp54_classic.hpp000066400000000000000000000337561265471724600324020ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/runge_kutta_cash_karp54_classic.hpp [begin_description] Classical implementation of the Runge-Kutta Cash-Karp 5(4) method. [end_description] Copyright 2010-2013 Mario Mulansky Copyright 2010-2013 Karsten Ahnert Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA_CASH_KARP54_CLASSIC_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA_CASH_KARP54_CLASSIC_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class State , class Value = double , class Deriv = State , class Time = Value , class Algebra = typename algebra_dispatcher< State >::algebra_type , class Operations = typename operations_dispatcher< State >::operations_type , class Resizer = initially_resizer > #ifndef DOXYGEN_SKIP class runge_kutta_cash_karp54_classic : public explicit_error_stepper_base< runge_kutta_cash_karp54_classic< State , Value , Deriv , Time , Algebra , Operations , Resizer > , 5 , 5 , 4 , State , Value , Deriv , Time , Algebra , Operations , Resizer > #else class runge_kutta_cash_karp54_classic : public explicit_error_stepper_base #endif { public : #ifndef DOXYGEN_SKIP typedef explicit_error_stepper_base< runge_kutta_cash_karp54_classic< State , Value , Deriv , Time , Algebra , Operations , Resizer > , 5 , 5 , 4 , State , Value , Deriv , Time , Algebra , Operations , Resizer > stepper_base_type; #else typedef explicit_error_stepper_base< runge_kutta_cash_karp54_classic< ... > , ... > stepper_base_type; #endif typedef typename stepper_base_type::state_type state_type; typedef typename stepper_base_type::value_type value_type; typedef typename stepper_base_type::deriv_type deriv_type; typedef typename stepper_base_type::time_type time_type; typedef typename stepper_base_type::algebra_type algebra_type; typedef typename stepper_base_type::operations_type operations_type; typedef typename stepper_base_type::resizer_type resizer_type; #ifndef DOXYGEN_SKIP typedef typename stepper_base_type::wrapped_state_type wrapped_state_type; typedef typename stepper_base_type::wrapped_deriv_type wrapped_deriv_type; typedef typename stepper_base_type::stepper_type stepper_type; #endif runge_kutta_cash_karp54_classic( const algebra_type &algebra = algebra_type() ) : stepper_base_type( algebra ) { } template< class System , class StateIn , class DerivIn , class StateOut , class Err > void do_step_impl( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt , Err &xerr ) { const value_type c1 = static_cast ( 37 ) / static_cast( 378 ); const value_type c3 = static_cast ( 250 ) / static_cast( 621 ); const value_type c4 = static_cast ( 125 ) / static_cast( 594 ); const value_type c6 = static_cast ( 512 ) / static_cast( 1771 ); const value_type dc1 = c1 - static_cast ( 2825 ) / static_cast( 27648 ); const value_type dc3 = c3 - static_cast ( 18575 ) / static_cast( 48384 ); const value_type dc4 = c4 - static_cast ( 13525 ) / static_cast( 55296 ); const value_type dc5 = static_cast ( -277 ) / static_cast( 14336 ); const value_type dc6 = c6 - static_cast ( 1 ) / static_cast ( 4 ); do_step_impl( system , in , dxdt , t , out , dt ); //error estimate stepper_base_type::m_algebra.for_each6( xerr , dxdt , m_k3.m_v , m_k4.m_v , m_k5.m_v , m_k6.m_v , typename operations_type::template scale_sum5< time_type , time_type , time_type , time_type , time_type >( dt*dc1 , dt*dc3 , dt*dc4 , dt*dc5 , dt*dc6 )); } template< class System , class StateIn , class DerivIn , class StateOut > void do_step_impl( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt ) { const value_type a2 = static_cast ( 1 ) / static_cast ( 5 ); const value_type a3 = static_cast ( 3 ) / static_cast ( 10 ); const value_type a4 = static_cast ( 3 ) / static_cast ( 5 ); const value_type a5 = static_cast ( 1 ); const value_type a6 = static_cast ( 7 ) / static_cast ( 8 ); const value_type b21 = static_cast ( 1 ) / static_cast ( 5 ); const value_type b31 = static_cast ( 3 ) / static_cast( 40 ); const value_type b32 = static_cast ( 9 ) / static_cast( 40 ); const value_type b41 = static_cast ( 3 ) / static_cast ( 10 ); const value_type b42 = static_cast ( -9 ) / static_cast ( 10 ); const value_type b43 = static_cast ( 6 ) / static_cast ( 5 ); const value_type b51 = static_cast ( -11 ) / static_cast( 54 ); const value_type b52 = static_cast ( 5 ) / static_cast ( 2 ); const value_type b53 = static_cast ( -70 ) / static_cast( 27 ); const value_type b54 = static_cast ( 35 ) / static_cast( 27 ); const value_type b61 = static_cast ( 1631 ) / static_cast( 55296 ); const value_type b62 = static_cast ( 175 ) / static_cast( 512 ); const value_type b63 = static_cast ( 575 ) / static_cast( 13824 ); const value_type b64 = static_cast ( 44275 ) / static_cast( 110592 ); const value_type b65 = static_cast ( 253 ) / static_cast( 4096 ); const value_type c1 = static_cast ( 37 ) / static_cast( 378 ); const value_type c3 = static_cast ( 250 ) / static_cast( 621 ); const value_type c4 = static_cast ( 125 ) / static_cast( 594 ); const value_type c6 = static_cast ( 512 ) / static_cast( 1771 ); typename odeint::unwrap_reference< System >::type &sys = system; m_resizer.adjust_size( in , detail::bind( &stepper_type::template resize_impl , detail::ref( *this ) , detail::_1 ) ); //m_x1 = x + dt*b21*dxdt stepper_base_type::m_algebra.for_each3( m_x_tmp.m_v , in , dxdt , typename operations_type::template scale_sum2< value_type , time_type >( 1.0 , dt*b21 ) ); sys( m_x_tmp.m_v , m_k2.m_v , t + dt*a2 ); // m_x_tmp = x + dt*b31*dxdt + dt*b32*m_x2 stepper_base_type::m_algebra.for_each4( m_x_tmp.m_v , in , dxdt , m_k2.m_v , typename operations_type::template scale_sum3< value_type , time_type , time_type >( 1.0 , dt*b31 , dt*b32 )); sys( m_x_tmp.m_v , m_k3.m_v , t + dt*a3 ); // m_x_tmp = x + dt * (b41*dxdt + b42*m_x2 + b43*m_x3) stepper_base_type::m_algebra.for_each5( m_x_tmp.m_v , in , dxdt , m_k2.m_v , m_k3.m_v , typename operations_type::template scale_sum4< value_type , time_type , time_type , time_type >( 1.0 , dt*b41 , dt*b42 , dt*b43 )); sys( m_x_tmp.m_v, m_k4.m_v , t + dt*a4 ); stepper_base_type::m_algebra.for_each6( m_x_tmp.m_v , in , dxdt , m_k2.m_v , m_k3.m_v , m_k4.m_v , typename operations_type::template scale_sum5< value_type , time_type , time_type , time_type , time_type >( 1.0 , dt*b51 , dt*b52 , dt*b53 , dt*b54 )); sys( m_x_tmp.m_v , m_k5.m_v , t + dt*a5 ); stepper_base_type::m_algebra.for_each7( m_x_tmp.m_v , in , dxdt , m_k2.m_v , m_k3.m_v , m_k4.m_v , m_k5.m_v , typename operations_type::template scale_sum6< value_type , time_type , time_type , time_type , time_type , time_type >( 1.0 , dt*b61 , dt*b62 , dt*b63 , dt*b64 , dt*b65 )); sys( m_x_tmp.m_v , m_k6.m_v , t + dt*a6 ); stepper_base_type::m_algebra.for_each6( out , in , dxdt , m_k3.m_v , m_k4.m_v , m_k6.m_v , typename operations_type::template scale_sum5< value_type , time_type , time_type , time_type , time_type >( 1.0 , dt*c1 , dt*c3 , dt*c4 , dt*c6 )); } /** * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ template< class StateIn > void adjust_size( const StateIn &x ) { resize_impl( x ); stepper_base_type::adjust_size( x ); } private: template< class StateIn > bool resize_impl( const StateIn &x ) { bool resized = false; resized |= adjust_size_by_resizeability( m_x_tmp , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_k2 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_k3 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_k4 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_k5 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_k6 , x , typename is_resizeable::type() ); return resized; } wrapped_state_type m_x_tmp; wrapped_deriv_type m_k2, m_k3, m_k4, m_k5, m_k6; resizer_type m_resizer; }; /************ DOXYGEN *************/ /** * \class runge_kutta_cash_karp54_classic * \brief The Runge-Kutta Cash-Karp method implemented without the generic Runge-Kutta algorithm. * * The Runge-Kutta Cash-Karp method is one of the standard methods for * solving ordinary differential equations, see * en.wikipedia.org/wiki/Cash-Karp_method. * The method is explicit and fulfills the Error Stepper concept. Step size control * is provided but continuous output is not available for this method. * * This class derives from explicit_error_stepper_base and inherits its interface via CRTP (current recurring * template pattern). This class implements the method directly, hence the generic Runge-Kutta algorithm is not used. * * \tparam State The state type. * \tparam Value The value type. * \tparam Deriv The type representing the time derivative of the state. * \tparam Time The time representing the independent variable - the time. * \tparam Algebra The algebra type. * \tparam Operations The operations type. * \tparam Resizer The resizer policy type. */ /** * \fn runge_kutta_cash_karp54_classic::runge_kutta_cash_karp54_classic( const algebra_type &algebra ) * \brief Constructs the runge_kutta_cash_karp54_classic class. This constructor can be used as a default * constructor if the algebra has a default constructor. * \param algebra A copy of algebra is made and stored inside explicit_stepper_base. */ /** * \fn runge_kutta_cash_karp54_classic::do_step_impl( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt , Err &xerr ) * \brief This method performs one step. The derivative `dxdt` of `in` at the time `t` is passed to the method. * * The result is updated out-of-place, hence the input is in `in` and the output in `out`. Futhermore, an * estimation of the error is stored in `xerr`. * Access to this step functionality is provided by explicit_error_stepper_base and * `do_step_impl` should not be called directly. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param dxdt The derivative of x at t. * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. * \param xerr The result of the error estimation is written in xerr. */ /** * \fn runge_kutta_cash_karp54_classic::do_step_impl( System system , const StateIn &in , const DerivIn &dxdt , time_type t , StateOut &out , time_type dt ) * \brief This method performs one step. The derivative `dxdt` of `in` at the time `t` is passed to the method. * The result is updated out-of-place, hence the input is in `in` and the output in `out`. * Access to this step functionality is provided by explicit_error_stepper_base and * `do_step_impl` should not be called directly. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param dxdt The derivative of x at t. * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dt The step size. */ } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA_CASH_KARP54_CLASSIC_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/runge_kutta_dopri5.hpp000066400000000000000000000517541265471724600277750ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/runge_kutta_dopri5.hpp [begin_description] Implementation of the Dormand-Prince 5(4) method. This stepper can also be used with the dense-output controlled stepper. [end_description] Copyright 2010-2013 Karsten Ahnert Copyright 2010-2013 Mario Mulansky Copyright 2012 Christoph Koke Distributed under the 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_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA_DOPRI5_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA_DOPRI5_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class State , class Value = double , class Deriv = State , class Time = Value , class Algebra = typename algebra_dispatcher< State >::algebra_type , class Operations = typename operations_dispatcher< State >::operations_type , class Resizer = initially_resizer > class runge_kutta_dopri5 #ifndef DOXYGEN_SKIP : public explicit_error_stepper_fsal_base< runge_kutta_dopri5< State , Value , Deriv , Time , Algebra , Operations , Resizer > , 5 , 5 , 4 , State , Value , Deriv , Time , Algebra , Operations , Resizer > #else : public explicit_error_stepper_fsal_base #endif { public : #ifndef DOXYGEN_SKIP typedef explicit_error_stepper_fsal_base< runge_kutta_dopri5< State , Value , Deriv , Time , Algebra , Operations , Resizer > , 5 , 5 , 4 , State , Value , Deriv , Time , Algebra , Operations , Resizer > stepper_base_type; #else typedef explicit_error_stepper_fsal_base< runge_kutta_dopri5< ... > , ... > stepper_base_type; #endif typedef typename stepper_base_type::state_type state_type; typedef typename stepper_base_type::value_type value_type; typedef typename stepper_base_type::deriv_type deriv_type; typedef typename stepper_base_type::time_type time_type; typedef typename stepper_base_type::algebra_type algebra_type; typedef typename stepper_base_type::operations_type operations_type; typedef typename stepper_base_type::resizer_type resizer_type; #ifndef DOXYGEN_SKIP typedef typename stepper_base_type::stepper_type stepper_type; typedef typename stepper_base_type::wrapped_state_type wrapped_state_type; typedef typename stepper_base_type::wrapped_deriv_type wrapped_deriv_type; #endif // DOXYGEN_SKIP runge_kutta_dopri5( const algebra_type &algebra = algebra_type() ) : stepper_base_type( algebra ) { } template< class System , class StateIn , class DerivIn , class StateOut , class DerivOut > void do_step_impl( System system , const StateIn &in , const DerivIn &dxdt_in , time_type t , StateOut &out , DerivOut &dxdt_out , time_type dt ) { const value_type a2 = static_cast ( 1 ) / static_cast( 5 ); const value_type a3 = static_cast ( 3 ) / static_cast ( 10 ); const value_type a4 = static_cast ( 4 ) / static_cast ( 5 ); const value_type a5 = static_cast ( 8 )/static_cast ( 9 ); const value_type b21 = static_cast ( 1 ) / static_cast ( 5 ); const value_type b31 = static_cast ( 3 ) / static_cast( 40 ); const value_type b32 = static_cast ( 9 ) / static_cast( 40 ); const value_type b41 = static_cast ( 44 ) / static_cast ( 45 ); const value_type b42 = static_cast ( -56 ) / static_cast ( 15 ); const value_type b43 = static_cast ( 32 ) / static_cast ( 9 ); const value_type b51 = static_cast ( 19372 ) / static_cast( 6561 ); const value_type b52 = static_cast ( -25360 ) / static_cast ( 2187 ); const value_type b53 = static_cast ( 64448 ) / static_cast( 6561 ); const value_type b54 = static_cast ( -212 ) / static_cast( 729 ); const value_type b61 = static_cast ( 9017 ) / static_cast( 3168 ); const value_type b62 = static_cast ( -355 ) / static_cast( 33 ); const value_type b63 = static_cast ( 46732 ) / static_cast( 5247 ); const value_type b64 = static_cast ( 49 ) / static_cast( 176 ); const value_type b65 = static_cast ( -5103 ) / static_cast( 18656 ); const value_type c1 = static_cast ( 35 ) / static_cast( 384 ); const value_type c3 = static_cast ( 500 ) / static_cast( 1113 ); const value_type c4 = static_cast ( 125 ) / static_cast( 192 ); const value_type c5 = static_cast ( -2187 ) / static_cast( 6784 ); const value_type c6 = static_cast ( 11 ) / static_cast( 84 ); typename odeint::unwrap_reference< System >::type &sys = system; m_k_x_tmp_resizer.adjust_size( in , detail::bind( &stepper_type::template resize_k_x_tmp_impl , detail::ref( *this ) , detail::_1 ) ); //m_x_tmp = x + dt*b21*dxdt stepper_base_type::m_algebra.for_each3( m_x_tmp.m_v , in , dxdt_in , typename operations_type::template scale_sum2< value_type , time_type >( 1.0 , dt*b21 ) ); sys( m_x_tmp.m_v , m_k2.m_v , t + dt*a2 ); // m_x_tmp = x + dt*b31*dxdt + dt*b32*m_k2 stepper_base_type::m_algebra.for_each4( m_x_tmp.m_v , in , dxdt_in , m_k2.m_v , typename operations_type::template scale_sum3< value_type , time_type , time_type >( 1.0 , dt*b31 , dt*b32 )); sys( m_x_tmp.m_v , m_k3.m_v , t + dt*a3 ); // m_x_tmp = x + dt * (b41*dxdt + b42*m_k2 + b43*m_k3) stepper_base_type::m_algebra.for_each5( m_x_tmp.m_v , in , dxdt_in , m_k2.m_v , m_k3.m_v , typename operations_type::template scale_sum4< value_type , time_type , time_type , time_type >( 1.0 , dt*b41 , dt*b42 , dt*b43 )); sys( m_x_tmp.m_v, m_k4.m_v , t + dt*a4 ); stepper_base_type::m_algebra.for_each6( m_x_tmp.m_v , in , dxdt_in , m_k2.m_v , m_k3.m_v , m_k4.m_v , typename operations_type::template scale_sum5< value_type , time_type , time_type , time_type , time_type >( 1.0 , dt*b51 , dt*b52 , dt*b53 , dt*b54 )); sys( m_x_tmp.m_v , m_k5.m_v , t + dt*a5 ); stepper_base_type::m_algebra.for_each7( m_x_tmp.m_v , in , dxdt_in , m_k2.m_v , m_k3.m_v , m_k4.m_v , m_k5.m_v , typename operations_type::template scale_sum6< value_type , time_type , time_type , time_type , time_type , time_type >( 1.0 , dt*b61 , dt*b62 , dt*b63 , dt*b64 , dt*b65 )); sys( m_x_tmp.m_v , m_k6.m_v , t + dt ); stepper_base_type::m_algebra.for_each7( out , in , dxdt_in , m_k3.m_v , m_k4.m_v , m_k5.m_v , m_k6.m_v , typename operations_type::template scale_sum6< value_type , time_type , time_type , time_type , time_type , time_type >( 1.0 , dt*c1 , dt*c3 , dt*c4 , dt*c5 , dt*c6 )); // the new derivative sys( out , dxdt_out , t + dt ); } template< class System , class StateIn , class DerivIn , class StateOut , class DerivOut , class Err > void do_step_impl( System system , const StateIn &in , const DerivIn &dxdt_in , time_type t , StateOut &out , DerivOut &dxdt_out , time_type dt , Err &xerr ) { const value_type c1 = static_cast ( 35 ) / static_cast( 384 ); const value_type c3 = static_cast ( 500 ) / static_cast( 1113 ); const value_type c4 = static_cast ( 125 ) / static_cast( 192 ); const value_type c5 = static_cast ( -2187 ) / static_cast( 6784 ); const value_type c6 = static_cast ( 11 ) / static_cast( 84 ); const value_type dc1 = c1 - static_cast ( 5179 ) / static_cast( 57600 ); const value_type dc3 = c3 - static_cast ( 7571 ) / static_cast( 16695 ); const value_type dc4 = c4 - static_cast ( 393 ) / static_cast( 640 ); const value_type dc5 = c5 - static_cast ( -92097 ) / static_cast( 339200 ); const value_type dc6 = c6 - static_cast ( 187 ) / static_cast( 2100 ); const value_type dc7 = static_cast( -1 ) / static_cast ( 40 ); /* ToDo: copy only if &dxdt_in == &dxdt_out ? */ if( same_instance( dxdt_in , dxdt_out ) ) { m_dxdt_tmp_resizer.adjust_size( in , detail::bind( &stepper_type::template resize_dxdt_tmp_impl , detail::ref( *this ) , detail::_1 ) ); boost::numeric::odeint::copy( dxdt_in , m_dxdt_tmp.m_v ); do_step_impl( system , in , dxdt_in , t , out , dxdt_out , dt ); //error estimate stepper_base_type::m_algebra.for_each7( xerr , m_dxdt_tmp.m_v , m_k3.m_v , m_k4.m_v , m_k5.m_v , m_k6.m_v , dxdt_out , typename operations_type::template scale_sum6< time_type , time_type , time_type , time_type , time_type , time_type >( dt*dc1 , dt*dc3 , dt*dc4 , dt*dc5 , dt*dc6 , dt*dc7 ) ); } else { do_step_impl( system , in , dxdt_in , t , out , dxdt_out , dt ); //error estimate stepper_base_type::m_algebra.for_each7( xerr , dxdt_in , m_k3.m_v , m_k4.m_v , m_k5.m_v , m_k6.m_v , dxdt_out , typename operations_type::template scale_sum6< time_type , time_type , time_type , time_type , time_type , time_type >( dt*dc1 , dt*dc3 , dt*dc4 , dt*dc5 , dt*dc6 , dt*dc7 ) ); } } /* * Calculates Dense-Output for Dopri5 * * See Hairer, Norsett, Wanner: Solving Ordinary Differential Equations, Nonstiff Problems. I, p.191/192 * * y(t+theta) = y(t) + h * sum_i^7 b_i(theta) * k_i * * A = theta^2 * ( 3 - 2 theta ) * B = theta^2 * ( theta - 1 ) * C = theta^2 * ( theta - 1 )^2 * D = theta * ( theta - 1 )^2 * * b_1( theta ) = A * b_1 - C * X1( theta ) + D * b_2( theta ) = 0 * b_3( theta ) = A * b_3 + C * X3( theta ) * b_4( theta ) = A * b_4 - C * X4( theta ) * b_5( theta ) = A * b_5 + C * X5( theta ) * b_6( theta ) = A * b_6 - C * X6( theta ) * b_7( theta ) = B + C * X7( theta ) * * An alternative Method is described in: * * www-m2.ma.tum.de/homepages/simeon/numerik3/kap3.ps */ template< class StateOut , class StateIn1 , class DerivIn1 , class StateIn2 , class DerivIn2 > void calc_state( time_type t , StateOut &x , const StateIn1 &x_old , const DerivIn1 &deriv_old , time_type t_old , const StateIn2 & /* x_new */ , const DerivIn2 &deriv_new , time_type t_new ) const { const value_type b1 = static_cast ( 35 ) / static_cast( 384 ); const value_type b3 = static_cast ( 500 ) / static_cast( 1113 ); const value_type b4 = static_cast ( 125 ) / static_cast( 192 ); const value_type b5 = static_cast ( -2187 ) / static_cast( 6784 ); const value_type b6 = static_cast ( 11 ) / static_cast( 84 ); const time_type dt = ( t_new - t_old ); const value_type theta = ( t - t_old ) / dt; const value_type X1 = static_cast< value_type >( 5 ) * ( static_cast< value_type >( 2558722523LL ) - static_cast< value_type >( 31403016 ) * theta ) / static_cast< value_type >( 11282082432LL ); const value_type X3 = static_cast< value_type >( 100 ) * ( static_cast< value_type >( 882725551 ) - static_cast< value_type >( 15701508 ) * theta ) / static_cast< value_type >( 32700410799LL ); const value_type X4 = static_cast< value_type >( 25 ) * ( static_cast< value_type >( 443332067 ) - static_cast< value_type >( 31403016 ) * theta ) / static_cast< value_type >( 1880347072LL ) ; const value_type X5 = static_cast< value_type >( 32805 ) * ( static_cast< value_type >( 23143187 ) - static_cast< value_type >( 3489224 ) * theta ) / static_cast< value_type >( 199316789632LL ); const value_type X6 = static_cast< value_type >( 55 ) * ( static_cast< value_type >( 29972135 ) - static_cast< value_type >( 7076736 ) * theta ) / static_cast< value_type >( 822651844 ); const value_type X7 = static_cast< value_type >( 10 ) * ( static_cast< value_type >( 7414447 ) - static_cast< value_type >( 829305 ) * theta ) / static_cast< value_type >( 29380423 ); const value_type theta_m_1 = theta - static_cast< value_type >( 1 ); const value_type theta_sq = theta * theta; const value_type A = theta_sq * ( static_cast< value_type >( 3 ) - static_cast< value_type >( 2 ) * theta ); const value_type B = theta_sq * theta_m_1; const value_type C = theta_sq * theta_m_1 * theta_m_1; const value_type D = theta * theta_m_1 * theta_m_1; const value_type b1_theta = A * b1 - C * X1 + D; const value_type b3_theta = A * b3 + C * X3; const value_type b4_theta = A * b4 - C * X4; const value_type b5_theta = A * b5 + C * X5; const value_type b6_theta = A * b6 - C * X6; const value_type b7_theta = B + C * X7; // const state_type &k1 = *m_old_deriv; // const state_type &k3 = dopri5().m_k3; // const state_type &k4 = dopri5().m_k4; // const state_type &k5 = dopri5().m_k5; // const state_type &k6 = dopri5().m_k6; // const state_type &k7 = *m_current_deriv; stepper_base_type::m_algebra.for_each8( x , x_old , deriv_old , m_k3.m_v , m_k4.m_v , m_k5.m_v , m_k6.m_v , deriv_new , typename operations_type::template scale_sum7< value_type , time_type , time_type , time_type , time_type , time_type , time_type >( 1.0 , dt * b1_theta , dt * b3_theta , dt * b4_theta , dt * b5_theta , dt * b6_theta , dt * b7_theta ) ); } template< class StateIn > void adjust_size( const StateIn &x ) { resize_k_x_tmp_impl( x ); resize_dxdt_tmp_impl( x ); stepper_base_type::adjust_size( x ); } private: template< class StateIn > bool resize_k_x_tmp_impl( const StateIn &x ) { bool resized = false; resized |= adjust_size_by_resizeability( m_x_tmp , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_k2 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_k3 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_k4 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_k5 , x , typename is_resizeable::type() ); resized |= adjust_size_by_resizeability( m_k6 , x , typename is_resizeable::type() ); return resized; } template< class StateIn > bool resize_dxdt_tmp_impl( const StateIn &x ) { return adjust_size_by_resizeability( m_dxdt_tmp , x , typename is_resizeable::type() ); } wrapped_state_type m_x_tmp; wrapped_deriv_type m_k2 , m_k3 , m_k4 , m_k5 , m_k6 ; wrapped_deriv_type m_dxdt_tmp; resizer_type m_k_x_tmp_resizer; resizer_type m_dxdt_tmp_resizer; }; /************* DOXYGEN ************/ /** * \class runge_kutta_dopri5 * \brief The Runge-Kutta Dormand-Prince 5 method. * * The Runge-Kutta Dormand-Prince 5 method is a very popular method for solving ODEs, see * . * The method is explicit and fulfills the Error Stepper concept. Step size control * is provided but continuous output is available which make this method favourable for many applications. * * This class derives from explicit_error_stepper_fsal_base and inherits its interface via CRTP (current recurring * template pattern). The method possesses the FSAL (first-same-as-last) property. See * explicit_error_stepper_fsal_base for more details. * * \tparam State The state type. * \tparam Value The value type. * \tparam Deriv The type representing the time derivative of the state. * \tparam Time The time representing the independent variable - the time. * \tparam Algebra The algebra type. * \tparam Operations The operations type. * \tparam Resizer The resizer policy type. */ /** * \fn runge_kutta_dopri5::runge_kutta_dopri5( const algebra_type &algebra ) * \brief Constructs the runge_kutta_dopri5 class. This constructor can be used as a default * constructor if the algebra has a default constructor. * \param algebra A copy of algebra is made and stored inside explicit_stepper_base. */ /** * \fn runge_kutta_dopri5::do_step_impl( System system , const StateIn &in , const DerivIn &dxdt_in , time_type t , StateOut &out , DerivOut &dxdt_out , time_type dt ) * \brief This method performs one step. The derivative `dxdt_in` of `in` at the time `t` is passed to the * method. The result is updated out-of-place, hence the input is in `in` and the output in `out`. Furthermore, * the derivative is update out-of-place, hence the input is assumed to be in `dxdt_in` and the output in * `dxdt_out`. * Access to this step functionality is provided by explicit_error_stepper_fsal_base and * `do_step_impl` should not be called directly. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param dxdt_in The derivative of x at t. dxdt_in is not modified by this method * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dxdt_out The result of the new derivative at time t+dt. * \param dt The step size. */ /** * \fn runge_kutta_dopri5::do_step_impl( System system , const StateIn &in , const DerivIn &dxdt_in , time_type t , StateOut &out , DerivOut &dxdt_out , time_type dt , Err &xerr ) * \brief This method performs one step. The derivative `dxdt_in` of `in` at the time `t` is passed to the * method. The result is updated out-of-place, hence the input is in `in` and the output in `out`. Furthermore, * the derivative is update out-of-place, hence the input is assumed to be in `dxdt_in` and the output in * `dxdt_out`. * Access to this step functionality is provided by explicit_error_stepper_fsal_base and * `do_step_impl` should not be called directly. * An estimation of the error is calculated. * * \param system The system function to solve, hence the r.h.s. of the ODE. It must fulfill the * Simple System concept. * \param in The state of the ODE which should be solved. in is not modified in this method * \param dxdt_in The derivative of x at t. dxdt_in is not modified by this method * \param t The value of the time, at which the step should be performed. * \param out The result of the step is written in out. * \param dxdt_out The result of the new derivative at time t+dt. * \param dt The step size. * \param xerr An estimation of the error. */ /** * \fn runge_kutta_dopri5::calc_state( time_type t , StateOut &x , const StateIn1 &x_old , const DerivIn1 &deriv_old , time_type t_old , const StateIn2 & , const DerivIn2 &deriv_new , time_type t_new ) const * \brief This method is used for continuous output and it calculates the state `x` at a time `t` from the * knowledge of two states `old_state` and `current_state` at time points `t_old` and `t_new`. It also uses * internal variables to calculate the result. Hence this method must be called after two successful `do_step` * calls. */ /** * \fn runge_kutta_dopri5::adjust_size( const StateIn &x ) * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA_DOPRI5_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/runge_kutta_fehlberg78.hpp000066400000000000000000000352351265471724600305240ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/runge_kutta_fehlberg87.hpp [begin_description] Implementation of the Runge-Kutta-Fehlberg stepper with the generic stepper. [end_description] Copyright 2011-2013 Mario Mulansky Copyright 2012-2013 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA_FEHLBERG87_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA_FEHLBERG87_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { #ifndef DOXYGEN_SKIP template< class Value = double > struct rk78_coefficients_a1 : boost::array< Value , 1 > { rk78_coefficients_a1( void ) { (*this)[0] = static_cast< Value >( 2 )/static_cast< Value >( 27 ); } }; template< class Value = double > struct rk78_coefficients_a2 : boost::array< Value , 2 > { rk78_coefficients_a2( void ) { (*this)[0] = static_cast< Value >( 1 )/static_cast< Value >( 36 ); (*this)[1] = static_cast< Value >( 1 )/static_cast< Value >( 12 ); } }; template< class Value = double > struct rk78_coefficients_a3 : boost::array< Value , 3 > { rk78_coefficients_a3( void ) { (*this)[0] = static_cast< Value >( 1 )/static_cast< Value >( 24 ); (*this)[1] = static_cast< Value >( 0 ); (*this)[2] = static_cast< Value >( 1 )/static_cast< Value >( 8 ); } }; template< class Value = double > struct rk78_coefficients_a4 : boost::array< Value , 4 > { rk78_coefficients_a4( void ) { (*this)[0] = static_cast< Value >( 5 )/static_cast< Value >( 12 ); (*this)[1] = static_cast< Value >( 0 ); (*this)[2] = static_cast< Value >( -25 )/static_cast< Value >( 16 ); (*this)[3] = static_cast< Value >( 25 )/static_cast< Value >( 16 ); } }; template< class Value = double > struct rk78_coefficients_a5 : boost::array< Value , 5 > { rk78_coefficients_a5( void ) { (*this)[0] = static_cast< Value >( 1 )/static_cast< Value >( 20 ); (*this)[1] = static_cast< Value >( 0 ); (*this)[2] = static_cast< Value >( 0 ); (*this)[3] = static_cast< Value >( 1 )/static_cast< Value >( 4 ); (*this)[4] = static_cast< Value >( 1 )/static_cast< Value >( 5 ); } }; template< class Value = double > struct rk78_coefficients_a6 : boost::array< Value , 6 > { rk78_coefficients_a6( void ) { (*this)[0] = static_cast< Value >( -25 )/static_cast< Value >( 108 ); (*this)[1] = static_cast< Value >( 0 ); (*this)[2] = static_cast< Value >( 0 ); (*this)[3] = static_cast< Value >( 125 )/static_cast< Value >( 108 ); (*this)[4] = static_cast< Value >( -65 )/static_cast< Value >( 27 ); (*this)[5] = static_cast< Value >( 125 )/static_cast< Value >( 54 ); } }; template< class Value = double > struct rk78_coefficients_a7 : boost::array< Value , 7 > { rk78_coefficients_a7( void ) { (*this)[0] = static_cast< Value >( 31 )/static_cast< Value >( 300 ); (*this)[1] = static_cast< Value >( 0 ); (*this)[2] = static_cast< Value >( 0 ); (*this)[3] = static_cast< Value >( 0 ); (*this)[4] = static_cast< Value >( 61 )/static_cast< Value >( 225 ); (*this)[5] = static_cast< Value >( -2 )/static_cast< Value >( 9 ); (*this)[6] = static_cast< Value >( 13 )/static_cast< Value >( 900 ); } }; template< class Value = double > struct rk78_coefficients_a8 : boost::array< Value , 8 > { rk78_coefficients_a8( void ) { (*this)[0] = static_cast< Value >( 2 ); (*this)[1] = static_cast< Value >( 0 ); (*this)[2] = static_cast< Value >( 0 ); (*this)[3] = static_cast< Value >( -53 )/static_cast< Value >( 6 ); (*this)[4] = static_cast< Value >( 704 )/static_cast< Value >( 45 ); (*this)[5] = static_cast< Value >( -107 )/static_cast< Value >( 9 ); (*this)[6] = static_cast< Value >( 67 )/static_cast< Value >( 90 ); (*this)[7] = static_cast< Value >( 3 ); } }; template< class Value = double > struct rk78_coefficients_a9 : boost::array< Value , 9 > { rk78_coefficients_a9( void ) { (*this)[0] = static_cast< Value >( -91 )/static_cast< Value >( 108 ); (*this)[1] = static_cast< Value >( 0 ); (*this)[2] = static_cast< Value >( 0 ); (*this)[3] = static_cast< Value >( 23 )/static_cast< Value >( 108 ); (*this)[4] = static_cast< Value >( -976 )/static_cast< Value >( 135 ); (*this)[5] = static_cast< Value >( 311 )/static_cast< Value >( 54 ); (*this)[6] = static_cast< Value >( -19 )/static_cast< Value >( 60 ); (*this)[7] = static_cast< Value >( 17 )/static_cast< Value >( 6 ); (*this)[8] = static_cast< Value >( -1 )/static_cast< Value >( 12 ); } }; template< class Value = double > struct rk78_coefficients_a10 : boost::array< Value , 10 > { rk78_coefficients_a10( void ) { (*this)[0] = static_cast< Value >( 2383 )/static_cast< Value >( 4100 ); (*this)[1] = static_cast< Value >( 0 ); (*this)[2] = static_cast< Value >( 0 ); (*this)[3] = static_cast< Value >( -341 )/static_cast< Value >( 164 ); (*this)[4] = static_cast< Value >( 4496 )/static_cast< Value >( 1025 ); (*this)[5] = static_cast< Value >( -301 )/static_cast< Value >( 82 ); (*this)[6] = static_cast< Value >( 2133 )/static_cast< Value >( 4100 ); (*this)[7] = static_cast< Value >( 45 )/static_cast< Value >( 82 ); (*this)[8] = static_cast< Value >( 45 )/static_cast< Value >( 164 ); (*this)[9] = static_cast< Value >( 18 )/static_cast< Value >( 41 ); } }; template< class Value = double > struct rk78_coefficients_a11 : boost::array< Value , 11 > { rk78_coefficients_a11( void ) { (*this)[0] = static_cast< Value >( 3 )/static_cast< Value >( 205 ); (*this)[1] = static_cast< Value >( 0 ); (*this)[2] = static_cast< Value >( 0 ); (*this)[3] = static_cast< Value >( 0 ); (*this)[4] = static_cast< Value >( 0 ); (*this)[5] = static_cast< Value >( -6 )/static_cast< Value >( 41 ); (*this)[6] = static_cast< Value >( -3 )/static_cast< Value >( 205 ); (*this)[7] = static_cast< Value >( -3 )/static_cast< Value >( 41 ); (*this)[8] = static_cast< Value >( 3 )/static_cast< Value >( 41 ); (*this)[9] = static_cast< Value >( 6 )/static_cast< Value >( 41 ); (*this)[10] = static_cast< Value >( 0 ); } }; template< class Value = double > struct rk78_coefficients_a12 : boost::array< Value , 12 > { rk78_coefficients_a12( void ) { (*this)[0] = static_cast< Value >( -1777 )/static_cast< Value >( 4100 ); (*this)[1] = static_cast< Value >( 0 ); (*this)[2] = static_cast< Value >( 0 ); (*this)[3] = static_cast< Value >( -341 )/static_cast< Value >( 164 ); (*this)[4] = static_cast< Value >( 4496 )/static_cast< Value >( 1025 ); (*this)[5] = static_cast< Value >( -289 )/static_cast< Value >( 82 ); (*this)[6] = static_cast< Value >( 2193 )/static_cast< Value >( 4100 ); (*this)[7] = static_cast< Value >( 51 )/static_cast< Value >( 82 ); (*this)[8] = static_cast< Value >( 33 )/static_cast< Value >( 164 ); (*this)[9] = static_cast< Value >( 12 )/static_cast< Value >( 41 ); (*this)[10] = static_cast< Value >( 0 ); (*this)[11] = static_cast< Value >( 1 ); } }; template< class Value = double > struct rk78_coefficients_b : boost::array< Value , 13 > { rk78_coefficients_b( void ) { (*this)[0] = static_cast< Value >( 0 ); (*this)[1] = static_cast< Value >( 0 ); (*this)[2] = static_cast< Value >( 0 ); (*this)[3] = static_cast< Value >( 0 ); (*this)[4] = static_cast< Value >( 0 ); (*this)[5] = static_cast< Value >( 34 )/static_cast( 105 ); (*this)[6] = static_cast< Value >( 9 )/static_cast( 35 ); (*this)[7] = static_cast< Value >( 9 )/static_cast( 35 ); (*this)[8] = static_cast< Value >( 9 )/static_cast( 280 ); (*this)[9] = static_cast< Value >( 9 )/static_cast( 280 ); (*this)[10] = static_cast< Value >( 0 ); (*this)[11] = static_cast< Value >( 41 )/static_cast( 840 ); (*this)[12] = static_cast< Value >( 41 )/static_cast( 840 ); } }; template< class Value = double > struct rk78_coefficients_db : boost::array< Value , 13 > { rk78_coefficients_db( void ) { (*this)[0] = static_cast< Value >( 0 ) - static_cast< Value >( 41 )/static_cast( 840 ); (*this)[1] = static_cast< Value >( 0 ); (*this)[2] = static_cast< Value >( 0 ); (*this)[3] = static_cast< Value >( 0 ); (*this)[4] = static_cast< Value >( 0 ); (*this)[5] = static_cast< Value >( 0 ); (*this)[6] = static_cast< Value >( 0 ); (*this)[7] = static_cast< Value >( 0 ); (*this)[8] = static_cast< Value >( 0 ); (*this)[9] = static_cast< Value >( 0 ); (*this)[10] = static_cast< Value >( 0 ) - static_cast< Value >( 41 )/static_cast( 840 ); (*this)[11] = static_cast< Value >( 41 )/static_cast( 840 ); (*this)[12] = static_cast< Value >( 41 )/static_cast( 840 ); } }; template< class Value = double > struct rk78_coefficients_c : boost::array< Value , 13 > { rk78_coefficients_c( void ) { (*this)[0] = static_cast< Value >( 0 ); (*this)[1] = static_cast< Value >( 2 )/static_cast< Value >( 27 ); (*this)[2] = static_cast< Value >( 1 )/static_cast< Value >( 9 ); (*this)[3] = static_cast< Value >( 1 )/static_cast( 6 ); (*this)[4] = static_cast< Value >( 5 )/static_cast( 12 ); (*this)[5] = static_cast< Value >( 1 )/static_cast( 2 ); (*this)[6] = static_cast< Value >( 5 )/static_cast( 6 ); (*this)[7] = static_cast< Value >( 1 )/static_cast( 6 ); (*this)[8] = static_cast< Value >( 2 )/static_cast( 3 ); (*this)[9] = static_cast< Value >( 1 )/static_cast( 3 ); (*this)[10] = static_cast< Value >( 1 ); (*this)[11] = static_cast< Value >( 0 ); (*this)[12] = static_cast< Value >( 1 ); } }; #endif // DOXYGEN_SKIP template< class State , class Value = double , class Deriv = State , class Time = Value , class Algebra = typename algebra_dispatcher< State >::algebra_type , class Operations = typename operations_dispatcher< State >::operations_type , class Resizer = initially_resizer > #ifndef DOXYGEN_SKIP class runge_kutta_fehlberg78 : public explicit_error_generic_rk< 13 , 8 , 8 , 7 , State , Value , Deriv , Time , Algebra , Operations , Resizer > #else class runge_kutta_fehlberg78 : public explicit_error_generic_rk #endif { public: #ifndef DOXYGEN_SKIP typedef explicit_error_generic_rk< 13 , 8 , 8 , 7 , State , Value , Deriv , Time , Algebra , Operations , Resizer > stepper_base_type; #endif typedef typename stepper_base_type::state_type state_type; typedef typename stepper_base_type::value_type value_type; typedef typename stepper_base_type::deriv_type deriv_type; typedef typename stepper_base_type::time_type time_type; typedef typename stepper_base_type::algebra_type algebra_type; typedef typename stepper_base_type::operations_type operations_type; typedef typename stepper_base_type::resizer_type resizer_type; #ifndef DOXYGEN_SKIP typedef typename stepper_base_type::stepper_type stepper_type; typedef typename stepper_base_type::wrapped_state_type wrapped_state_type; typedef typename stepper_base_type::wrapped_deriv_type wrapped_deriv_type; #endif // DOXYGEN_SKIP runge_kutta_fehlberg78( const algebra_type &algebra = algebra_type() ) : stepper_base_type( boost::fusion::make_vector( rk78_coefficients_a1() , rk78_coefficients_a2() , rk78_coefficients_a3() , rk78_coefficients_a4() , rk78_coefficients_a5() , rk78_coefficients_a6() , rk78_coefficients_a7() , rk78_coefficients_a8() , rk78_coefficients_a9() , rk78_coefficients_a10() , rk78_coefficients_a11() , rk78_coefficients_a12() ) , rk78_coefficients_b() , rk78_coefficients_db() , rk78_coefficients_c() , algebra ) { } }; /************* DOXYGEN *************/ /** * \class runge_kutta_fehlberg78 * \brief The Runge-Kutta Fehlberg 78 method. * * The Runge-Kutta Fehlberg 78 method is a standard method for high-precision applications. * The method is explicit and fulfills the Error Stepper concept. Step size control * is provided but continuous output is not available for this method. * * This class derives from explicit_error_stepper_base and inherits its interface via CRTP (current recurring template pattern). * Furthermore, it derivs from explicit_error_generic_rk which is a generic Runge-Kutta algorithm with error estimation. * For more details see explicit_error_stepper_base and explicit_error_generic_rk. * * \tparam State The state type. * \tparam Value The value type. * \tparam Deriv The type representing the time derivative of the state. * \tparam Time The time representing the independent variable - the time. * \tparam Algebra The algebra type. * \tparam Operations The operations type. * \tparam Resizer The resizer policy type. */ /** * \fn runge_kutta_fehlberg78::runge_kutta_fehlberg78( const algebra_type &algebra ) * \brief Constructs the runge_kutta_cash_fehlberg78 class. This constructor can be used as a default * constructor if the algebra has a default constructor. * \param algebra A copy of algebra is made and stored inside explicit_stepper_base. */ } } } #endif //BOOST_NUMERIC_ODEINT_STEPPER_RUNGE_KUTTA_FEHLBERG87_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/stepper_categories.hpp000066400000000000000000000041621265471724600300410ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/stepper_categories.hpp [begin_description] Definition of all stepper categories. [end_description] Copyright 2010-2011 Mario Mulansky Copyright 2010-2012 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_STEPPER_STEPPER_CATEGORIES_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_STEPPER_CATEGORIES_HPP_INCLUDED #include namespace boost { namespace numeric { namespace odeint { /* * Tags to specify stepper types * * These tags are used by integrate() to choose which integration method is used */ struct stepper_tag {}; // struct explicit_stepper_tag : stepper_tag {}; // struct implicit_stepper_tag : stepper_tag {}; struct error_stepper_tag : stepper_tag {}; struct explicit_error_stepper_tag : error_stepper_tag {}; struct explicit_error_stepper_fsal_tag : error_stepper_tag {}; struct controlled_stepper_tag {}; struct explicit_controlled_stepper_tag : controlled_stepper_tag {}; struct explicit_controlled_stepper_fsal_tag : controlled_stepper_tag {}; struct dense_output_stepper_tag {}; template< class tag > struct base_tag ; template< > struct base_tag< stepper_tag > { typedef stepper_tag type; }; template< > struct base_tag< error_stepper_tag > { typedef stepper_tag type; }; template< > struct base_tag< explicit_error_stepper_tag > { typedef stepper_tag type; }; template< > struct base_tag< explicit_error_stepper_fsal_tag > { typedef stepper_tag type; }; template< > struct base_tag< controlled_stepper_tag > { typedef controlled_stepper_tag type; }; template< > struct base_tag< explicit_controlled_stepper_tag > { typedef controlled_stepper_tag type; }; template< > struct base_tag< explicit_controlled_stepper_fsal_tag > { typedef controlled_stepper_tag type; }; template< > struct base_tag< dense_output_stepper_tag > { typedef dense_output_stepper_tag type; }; } // odeint } // numeric } // boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_STEPPER_CATEGORIES_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/symplectic_euler.hpp000066400000000000000000000075411265471724600275260ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/symplectic_euler.hpp [begin_description] Implementation of the symplectic Euler for separable Hamiltonian systems. [end_description] Copyright 2011-2013 Karsten Ahnert Copyright 2011-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_SYMPLECTIC_EULER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_SYMPLECTIC_EULER_HPP_INCLUDED #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { #ifndef DOXYGEN_SKIP namespace detail { namespace symplectic_euler_coef { template< class Value > struct coef_a_type : public boost::array< Value , 1 > { coef_a_type( void ) { (*this)[0] = static_cast< Value >( 1 ); } }; template< class Value > struct coef_b_type : public boost::array< Value , 1 > { coef_b_type( void ) { (*this)[0] = static_cast< Value >( 1 ); } }; } // namespace symplectic_euler_coef } // namespace detail #endif template< class Coor , class Momentum = Coor , class Value = double , class CoorDeriv = Coor , class MomentumDeriv = Coor , class Time = Value , class Algebra = typename algebra_dispatcher< Coor >::algebra_type , class Operations = typename operations_dispatcher< Coor >::operations_type , class Resizer = initially_resizer > #ifndef DOXYGEN_SKIP class symplectic_euler : public symplectic_nystroem_stepper_base < 1 , 1 , Coor , Momentum , Value , CoorDeriv , MomentumDeriv , Time , Algebra , Operations , Resizer > #else class symplectic_euler : public symplectic_nystroem_stepper_base #endif { public: #ifndef DOXYGEN_SKIP typedef symplectic_nystroem_stepper_base< 1 , 1 , Coor , Momentum , Value , CoorDeriv , MomentumDeriv , Time , Algebra , Operations , Resizer > stepper_base_type; #endif typedef typename stepper_base_type::algebra_type algebra_type; typedef typename stepper_base_type::value_type value_type; symplectic_euler( const algebra_type &algebra = algebra_type() ) : stepper_base_type( detail::symplectic_euler_coef::coef_a_type< value_type >() , detail::symplectic_euler_coef::coef_b_type< value_type >() , algebra ) { } }; /*************** DOXYGEN ***************/ /** * \class symplectic_euler * \brief Implementation of the symplectic Euler method. * * The method is of first order and has one stage. It is described HERE. * * \tparam Order The order of the stepper. * \tparam Coor The type representing the coordinates q. * \tparam Momentum The type representing the coordinates p. * \tparam Value The basic value type. Should be something like float, double or a high-precision type. * \tparam CoorDeriv The type representing the time derivative of the coordinate dq/dt. * \tparam MomemtnumDeriv The type representing the time derivative of the momentum dp/dt. * \tparam Time The type representing the time t. * \tparam Algebra The algebra. * \tparam Operations The operations. * \tparam Resizer The resizer policy. */ /** * \fn symplectic_euler::symplectic_euler( const algebra_type &algebra ) * \brief Constructs the symplectic_euler. This constructor can be used as a default * constructor if the algebra has a default constructor. * \param algebra A copy of algebra is made and stored inside explicit_stepper_base. */ } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_SYMPLECTIC_EULER_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan.hpp000066400000000000000000000120001265471724600325000ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan.hpp [begin_description] tba. [end_description] Copyright 2012-2013 Karsten Ahnert Copyright 2012-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_SYMPLECTIC_RKN_SB3A_M4_MCLACHLAN_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_STEPPER_SYMPLECTIC_RKN_SB3A_M4_MCLACHLAN_HPP_DEFINED #include #include #include #include namespace boost { namespace numeric { namespace odeint { #ifndef DOXYGEN_SKIP namespace detail { namespace symplectic_rkn_sb3a_m4_mclachlan { /* exp( a1 t A ) exp( b1 t B ) exp( a2 t A ) exp( b2 t B ) exp( a3 t A ) exp( b2 t B ) exp( a2 t A ) exp( b1 t B ) exp( a1 t A ) */ template< class Value > struct coef_a_type : public boost::array< Value , 5 > { coef_a_type( void ) { using std::sqrt; Value z = sqrt( static_cast< Value >( 7 ) / static_cast< Value >( 8 ) ) / static_cast< Value >( 3 ); (*this)[0] = static_cast< Value >( 1 ) / static_cast< Value >( 2 ) - z ; (*this)[1] = static_cast< Value >( -1 ) / static_cast< Value >( 3 ) + z ; (*this)[2] = static_cast< Value >( 2 ) / static_cast< Value >( 3 ); (*this)[3] = (*this)[1]; (*this)[4] = (*this)[0]; } }; template< class Value > struct coef_b_type : public boost::array< Value , 5 > { coef_b_type( void ) { (*this)[0] = static_cast< Value >( 1 ); (*this)[1] = static_cast< Value >( -1 ) / static_cast< Value >( 2 ); (*this)[2] = (*this)[1]; (*this)[3] = (*this)[0]; (*this)[4] = static_cast< Value >( 0 ); } }; } // namespace symplectic_rkn_sb3a_m4_mclachlan } // namespace detail #endif // DOXYGEN_SKIP template< class Coor , class Momentum = Coor , class Value = double , class CoorDeriv = Coor , class MomentumDeriv = Coor , class Time = Value , class Algebra = typename algebra_dispatcher< Coor >::algebra_type , class Operations = typename operations_dispatcher< Coor >::operations_type , class Resizer = initially_resizer > #ifndef DOXYGEN_SKIP class symplectic_rkn_sb3a_m4_mclachlan : public symplectic_nystroem_stepper_base < 5 , 4 , Coor , Momentum , Value , CoorDeriv , MomentumDeriv , Time , Algebra , Operations , Resizer > #else class symplectic_rkn_sb3a_m4_mclachlan : public symplectic_nystroem_stepper_base #endif { public: #ifndef DOXYGEN_SKIP typedef symplectic_nystroem_stepper_base < 5 , 4 , Coor , Momentum , Value , CoorDeriv , MomentumDeriv , Time , Algebra , Operations , Resizer > stepper_base_type; #endif typedef typename stepper_base_type::algebra_type algebra_type; typedef typename stepper_base_type::value_type value_type; symplectic_rkn_sb3a_m4_mclachlan( const algebra_type &algebra = algebra_type() ) : stepper_base_type( detail::symplectic_rkn_sb3a_m4_mclachlan::coef_a_type< value_type >() , detail::symplectic_rkn_sb3a_m4_mclachlan::coef_b_type< value_type >() , algebra ) { } }; /***************** DOXYGEN ***************/ /** * \class symplectic_rkn_sb3a_m4_mclachlan * \brief Implementation of the symmetric B3A Runge-Kutta Nystroem method of fifth order. * * The method is of fourth order and has five stages. It is described HERE. This method can be used * with multiprecision types since the coefficients are defined analytically. * * ToDo: add reference to paper. * * \tparam Order The order of the stepper. * \tparam Coor The type representing the coordinates q. * \tparam Momentum The type representing the coordinates p. * \tparam Value The basic value type. Should be something like float, double or a high-precision type. * \tparam CoorDeriv The type representing the time derivative of the coordinate dq/dt. * \tparam MomemtnumDeriv The type representing the time derivative of the momentum dp/dt. * \tparam Time The type representing the time t. * \tparam Algebra The algebra. * \tparam Operations The operations. * \tparam Resizer The resizer policy. */ /** * \fn symplectic_rkn_sb3a_m4_mclachlan::symplectic_rkn_sb3a_m4_mclachlan( const algebra_type &algebra ) * \brief Constructs the symplectic_rkn_sb3a_m4_mclachlan. This constructor can be used as a default * constructor if the algebra has a default constructor. * \param algebra A copy of algebra is made and stored inside explicit_stepper_base. */ } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_SYMPLECTIC_RKN_SB3A_M4_MCLACHLAN_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/stepper/symplectic_rkn_sb3a_mclachlan.hpp000066400000000000000000000124151265471724600321120ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/symplectic_rkn_sb3a_mclachlan.hpp [begin_description] Implementation of the symplectic MacLachlan stepper for separable Hamiltonian system. [end_description] Copyright 2011-2013 Karsten Ahnert Copyright 2011-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_SYMPLECTIC_RKN_SB3A_MCLACHLAN_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_STEPPER_SYMPLECTIC_RKN_SB3A_MCLACHLAN_HPP_INCLUDED #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { #ifndef DOXYGEN_SKIP namespace detail { namespace symplectic_rkn_sb3a_mclachlan { /* exp( a1 t A ) exp( b1 t B ) exp( a2 t A ) exp( b2 t B ) exp( a3 t A ) exp( b3 t B ) exp( a3 t A ) exp( b2 t B ) exp( a2 t A ) exp( b1 t B ) exp( a1 t A ) */ template< class Value > struct coef_a_type : public boost::array< Value , 6 > { coef_a_type( void ) { (*this)[0] = static_cast< Value >( 0.40518861839525227722 ); (*this)[1] = static_cast< Value >( -0.28714404081652408900 ); (*this)[2] = static_cast< Value >( 1 ) / static_cast< Value >( 2 ) - ( (*this)[0] + (*this)[1] ); (*this)[3] = (*this)[2]; (*this)[4] = (*this)[1]; (*this)[5] = (*this)[0]; } }; template< class Value > struct coef_b_type : public boost::array< Value , 6 > { coef_b_type( void ) { (*this)[0] = static_cast< Value >( -3 ) / static_cast< Value >( 73 ); (*this)[1] = static_cast< Value >( 17 ) / static_cast< Value >( 59 ); (*this)[2] = static_cast< Value >( 1 ) - static_cast< Value >( 2 ) * ( (*this)[0] + (*this)[1] ); (*this)[3] = (*this)[1]; (*this)[4] = (*this)[0]; (*this)[5] = static_cast< Value >( 0 ); } }; } // namespace symplectic_rkn_sb3a_mclachlan } // namespace detail #endif // DOXYGEN_SKIP template< class Coor , class Momentum = Coor , class Value = double , class CoorDeriv = Coor , class MomentumDeriv = Coor , class Time = Value , class Algebra = typename algebra_dispatcher< Coor >::algebra_type , class Operations = typename operations_dispatcher< Coor >::operations_type , class Resizer = initially_resizer > #ifndef DOXYGEN_SKIP class symplectic_rkn_sb3a_mclachlan : public symplectic_nystroem_stepper_base < 6 , 4 , Coor , Momentum , Value , CoorDeriv , MomentumDeriv , Time , Algebra , Operations , Resizer > #else class symplectic_rkn_sb3a_mclachlan : public symplectic_nystroem_stepper_base #endif { public: #ifndef DOXYGEN_SKIP typedef symplectic_nystroem_stepper_base < 6 , 4 , Coor , Momentum , Value , CoorDeriv , MomentumDeriv , Time , Algebra , Operations , Resizer > stepper_base_type; #endif typedef typename stepper_base_type::algebra_type algebra_type; typedef typename stepper_base_type::value_type value_type; symplectic_rkn_sb3a_mclachlan( const algebra_type &algebra = algebra_type() ) : stepper_base_type( detail::symplectic_rkn_sb3a_mclachlan::coef_a_type< value_type >() , detail::symplectic_rkn_sb3a_mclachlan::coef_b_type< value_type >() , algebra ) { } }; /************* DOXYGEN ***********/ /** * \class symplectic_rkn_sb3a_mclachlan * \brief Implement of the symmetric B3A method of Runge-Kutta-Nystroem method of sixth order. * * The method is of fourth order and has six stages. It is described HERE. This method cannot be used * with multiprecision types since the coefficients are not defined analytically. * * ToDo Add reference to the paper. * * \tparam Order The order of the stepper. * \tparam Coor The type representing the coordinates q. * \tparam Momentum The type representing the coordinates p. * \tparam Value The basic value type. Should be something like float, double or a high-precision type. * \tparam CoorDeriv The type representing the time derivative of the coordinate dq/dt. * \tparam MomemtnumDeriv The type representing the time derivative of the momentum dp/dt. * \tparam Time The type representing the time t. * \tparam Algebra The algebra. * \tparam Operations The operations. * \tparam Resizer The resizer policy. */ /** * \fn symplectic_rkn_sb3a_mclachlan::symplectic_rkn_sb3a_mclachlan( const algebra_type &algebra ) * \brief Constructs the symplectic_rkn_sb3a_mclachlan. This constructor can be used as a default * constructor if the algebra has a default constructor. * \param algebra A copy of algebra is made and stored inside explicit_stepper_base. */ } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_SYMPLECTIC_RKN_SB3A_MCLACHLAN_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/stepper/velocity_verlet.hpp000066400000000000000000000323501265471724600273710ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/stepper/velocity_verlet.hpp [begin_description] tba. [end_description] Copyright 2009-2012 Karsten Ahnert Copyright 2009-2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_STEPPER_VELOCITY_VERLET_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_STEPPER_VELOCITY_VERLET_HPP_DEFINED #include #include #include #include #include #include #include #include #include #include // #include // #include namespace boost { namespace numeric { namespace odeint { template < class Coor , class Velocity = Coor , class Value = double , class Acceleration = Coor , class Time = Value , class TimeSq = Time , class Algebra = typename algebra_dispatcher< Coor >::algebra_type , class Operations = typename operations_dispatcher< Coor >::operations_type , class Resizer = initially_resizer > class velocity_verlet : public algebra_stepper_base< Algebra , Operations > { public: typedef algebra_stepper_base< Algebra , Operations > algebra_stepper_base_type; typedef typename algebra_stepper_base_type::algebra_type algebra_type; typedef typename algebra_stepper_base_type::operations_type operations_type; typedef Coor coor_type; typedef Velocity velocity_type; typedef Acceleration acceleration_type; typedef std::pair< coor_type , velocity_type > state_type; typedef std::pair< velocity_type , acceleration_type > deriv_type; typedef state_wrapper< acceleration_type > wrapped_acceleration_type; typedef Value value_type; typedef Time time_type; typedef TimeSq time_square_type; typedef Resizer resizer_type; typedef stepper_tag stepper_category; typedef unsigned short order_type; static const order_type order_value = 1; /** * \return Returns the order of the stepper. */ order_type order( void ) const { return order_value; } velocity_verlet( const algebra_type & algebra = algebra_type() ) : algebra_stepper_base_type( algebra ) , m_first_call( true ) , m_a1() , m_a2() , m_current_a1( true ) { } template< class System , class StateInOut > void do_step( System system , StateInOut & x , time_type t , time_type dt ) { do_step_v1( system , x , t , dt ); } template< class System , class StateInOut > void do_step( System system , const StateInOut & x , time_type t , time_type dt ) { do_step_v1( system , x , t , dt ); } template< class System , class CoorIn , class VelocityIn , class AccelerationIn , class CoorOut , class VelocityOut , class AccelerationOut > void do_step( System system , CoorIn const & qin , VelocityIn const & pin , AccelerationIn const & ain , CoorOut & qout , VelocityOut & pout , AccelerationOut & aout , time_type t , time_type dt ) { const value_type one = static_cast< value_type >( 1.0 ); const value_type one_half = static_cast< value_type >( 0.5 ); algebra_stepper_base_type::m_algebra.for_each4( qout , qin , pin , ain , typename operations_type::template scale_sum3< value_type , time_type , time_square_type >( one , one * dt , one_half * dt * dt ) ); typename odeint::unwrap_reference< System >::type & sys = system; sys( qout , pin , aout , t + dt ); algebra_stepper_base_type::m_algebra.for_each4( pout , pin , ain , aout , typename operations_type::template scale_sum3< value_type , time_type , time_type >( one , one_half * dt , one_half * dt ) ); } template< class StateIn > void adjust_size( const StateIn & x ) { if( resize_impl( x ) ) m_first_call = true; } void reset( void ) { m_first_call = true; } /** * \fn velocity_verlet::initialize( const AccelerationIn &qin ) * \brief Initializes the internal state of the stepper. * \param deriv The acceleration of x. The next call of `do_step` expects that the acceleration of `x` passed to `do_step` * has the value of `qin`. */ template< class AccelerationIn > void initialize( const AccelerationIn & ain ) { // alloc a m_resizer.adjust_size( ain , detail::bind( &velocity_verlet::template resize_impl< AccelerationIn > , detail::ref( *this ) , detail::_1 ) ); boost::numeric::odeint::copy( ain , get_current_acc() ); m_first_call = false; } template< class System , class CoorIn , class VelocityIn > void initialize( System system , const CoorIn & qin , const VelocityIn & pin , time_type t ) { m_resizer.adjust_size( qin , detail::bind( &velocity_verlet::template resize_impl< CoorIn > , detail::ref( *this ) , detail::_1 ) ); initialize_acc( system , qin , pin , t ); } bool is_initialized( void ) const { return ! m_first_call; } private: template< class System , class CoorIn , class VelocityIn > void initialize_acc( System system , const CoorIn & qin , const VelocityIn & pin , time_type t ) { typename odeint::unwrap_reference< System >::type & sys = system; sys( qin , pin , get_current_acc() , t ); m_first_call = false; } template< class System , class StateInOut > void do_step_v1( System system , StateInOut & x , time_type t , time_type dt ) { typedef typename odeint::unwrap_reference< StateInOut >::type state_in_type; typedef typename odeint::unwrap_reference< typename state_in_type::first_type >::type coor_in_type; typedef typename odeint::unwrap_reference< typename state_in_type::second_type >::type momentum_in_type; typedef typename boost::remove_reference< coor_in_type >::type xyz_type; state_in_type & statein = x; coor_in_type & qinout = statein.first; momentum_in_type & pinout = statein.second; // alloc a if( m_resizer.adjust_size( qinout , detail::bind( &velocity_verlet::template resize_impl< xyz_type > , detail::ref( *this ) , detail::_1 ) ) || m_first_call ) { initialize_acc( system , qinout , pinout , t ); } // check first do_step( system , qinout , pinout , get_current_acc() , qinout , pinout , get_old_acc() , t , dt ); toggle_current_acc(); } template< class StateIn > bool resize_impl( const StateIn & x ) { bool resized = false; resized |= adjust_size_by_resizeability( m_a1 , x , typename is_resizeable< acceleration_type >::type() ); resized |= adjust_size_by_resizeability( m_a2 , x , typename is_resizeable< acceleration_type >::type() ); return resized; } acceleration_type & get_current_acc( void ) { return m_current_a1 ? m_a1.m_v : m_a2.m_v ; } const acceleration_type & get_current_acc( void ) const { return m_current_a1 ? m_a1.m_v : m_a2.m_v ; } acceleration_type & get_old_acc( void ) { return m_current_a1 ? m_a2.m_v : m_a1.m_v ; } const acceleration_type & get_old_acc( void ) const { return m_current_a1 ? m_a2.m_v : m_a1.m_v ; } void toggle_current_acc( void ) { m_current_a1 = ! m_current_a1; } resizer_type m_resizer; bool m_first_call; wrapped_acceleration_type m_a1 , m_a2; bool m_current_a1; }; /** * \class velocity_verlet * \brief The Velocity-Verlet algorithm. * * The Velocity-Verlet algorithm is a method for simulation of molecular dynamics systems. It solves the ODE * a=f(r,v',t) where r are the coordinates, v are the velocities and a are the accelerations, hence v = dr/dt, a=dv/dt. * * \tparam Coor The type representing the coordinates. * \tparam Velocity The type representing the velocities. * \tparam Value The type value type. * \tparam Acceleration The type representing the acceleration. * \tparam Time The time representing the independent variable - the time. * \tparam TimeSq The time representing the square of the time. * \tparam Algebra The algebra. * \tparam Operations The operations type. * \tparam Resizer The resizer policy type. */ /** * \fn velocity_verlet::velocity_verlet( const algebra_type &algebra ) * \brief Constructs the velocity_verlet class. This constructor can be used as a default * constructor if the algebra has a default constructor. * \param algebra A copy of algebra is made and stored. */ /** * \fn velocity_verlet::do_step( System system , StateInOut &x , time_type t , time_type dt ) * \brief This method performs one step. It transforms the result in-place. * * It can be used like * \code * pair< coordinates , velocities > state; * stepper.do_step( sys , x , t , dt ); * \endcode * * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the * Second Order System concept. * \param x The state of the ODE which should be solved. The state is pair of Coor and Velocity. * \param t The value of the time, at which the step should be performed. * \param dt The step size. */ /** * \fn velocity_verlet::do_step( System system , const StateInOut &x , time_type t , time_type dt ) * \brief This method performs one step. It transforms the result in-place. * * It can be used like * \code * pair< coordinates , velocities > state; * stepper.do_step( sys , x , t , dt ); * \endcode * * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the * Second Order System concept. * \param x The state of the ODE which should be solved. The state is pair of Coor and Velocity. * \param t The value of the time, at which the step should be performed. * \param dt The step size. */ /** * \fn velocity_verlet::do_step( System system , CoorIn const & qin , VelocityIn const & pin , AccelerationIn const & ain , CoorOut & qout , VelocityOut & pout , AccelerationOut & aout , time_type t , time_type dt ) * \brief This method performs one step. It transforms the result in-place. Additionally to the other methods * the coordinates, velocities and accelerations are passed directly to do_step and they are transformed out-of-place. * * It can be used like * \code * coordinates qin , qout; * velocities pin , pout; * accelerations ain, aout; * stepper.do_step( sys , qin , pin , ain , qout , pout , aout , t , dt ); * \endcode * * \param system The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the * Second Order System concept. * \param x The state of the ODE which should be solved. The state is pair of Coor and Velocity. * \param t The value of the time, at which the step should be performed. * \param dt The step size. */ /** * \fn void velocity_verlet::adjust_size( const StateIn &x ) * \brief Adjust the size of all temporaries in the stepper manually. * \param x A state from which the size of the temporaries to be resized is deduced. */ /** * \fn velocity_verlet::reset( void ) * \brief Resets the internal state of this stepper. After calling this method it is safe to use all * `do_step` method without explicitly initializing the stepper. */ /** * \fn velocity_verlet::initialize( System system , const CoorIn &qin , const VelocityIn &pin , time_type t ) * \brief Initializes the internal state of the stepper. * * This method is equivalent to * \code * Acceleration a; * system( qin , pin , a , t ); * stepper.initialize( a ); * \endcode * * \param system The system function for the next calls of `do_step`. * \param qin The current coordinates of the ODE. * \param pin The current velocities of the ODE. * \param t The current time of the ODE. */ /** * \fn velocity_verlet::is_initialized() * \returns Returns if the stepper is initialized. */ } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_STEPPER_VELOCITY_VERLET_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/util/000077500000000000000000000000001265471724600227315ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/util/bind.hpp000066400000000000000000000032561265471724600243640ustar00rootroot00000000000000/* * [begin_description] * Boost bind pull the placeholders, _1, _2, ... into global * namespace. This can conflict with the C++03 TR1 and C++11 * std::placeholders. This header provides a workaround for * this problem. * [end_description] * * Copyright 2012 Christoph Koke * Copyright 2012 Karsten Ahnert * * Distributed under the 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_NUMERIC_ODEINT_UTIL_BIND_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_UTIL_BIND_HPP_INCLUDED #include #if BOOST_NUMERIC_ODEINT_CXX11 #include #else #define BOOST_BIND_NO_PLACEHOLDERS #include #endif namespace boost { namespace numeric { namespace odeint { namespace detail { #if BOOST_NUMERIC_ODEINT_CXX11 using ::std::bind; using namespace ::std::placeholders; #else // unnamed namespace to avoid multiple declarations (#138) namespace { using ::boost::bind; boost::arg<1> _1; boost::arg<2> _2; } // using ::boost::bind; // using ::_1; // using ::_2; #endif } } } } /* // the following is the suggested way. Unfortunately it does not work with all compilers. #ifdef BOOST_NO_CXX11_HDR_FUNCTIONAL #include #else #include #endif namespace boost { namespace numeric { namespace odeint { namespace detail { #ifdef BOOST_NO_CXX11_HDR_FUNCTIONAL using ::boost::bind; using ::_1; using ::_2; #else using ::std::bind; using namespace ::std::placeholders; #endif } } } }*/ #endif // BOOST_NUMERIC_ODEINT_UTIL_BIND_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/util/copy.hpp000066400000000000000000000041561265471724600244220ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/copy.hpp [begin_description] Copy abstraction for the usage in the steppers. [end_description] Copyright 2011-2012 Karsten Ahnert Copyright 2011-2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_UTIL_COPY_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_UTIL_COPY_HPP_INCLUDED #include #include #include namespace boost { namespace numeric { namespace odeint { namespace detail { template< class Container1 , class Container2 > void do_copying( const Container1 &from , Container2 &to , boost::mpl::true_ ) { boost::range::copy( from , boost::begin( to ) ); } template< class Container1 , class Container2 > void do_copying( const Container1 &from , Container2 &to , boost::mpl::false_ ) { to = from; } } // namespace detail /* * Default implementation of the copy operation used the assign operator * gsl_vector must copied differently */ template< class Container1 , class Container2 , class Enabler = void > struct copy_impl_sfinae { static void copy( const Container1 &from , Container2 &to ) { typedef typename boost::numeric::odeint::detail::is_range< Container1 >::type is_range_type; detail::do_copying( from , to , is_range_type() ); } }; template< class Container1, class Container2 > struct copy_impl { static void copy( const Container1 &from , Container2 &to ) { copy_impl_sfinae< Container1 , Container2 >::copy( from , to ); } }; // ToDo: allow also to copy INTO a range, not only from a range! Needs "const Container2 &to" template< class Container1 , class Container2 > void copy( const Container1 &from , Container2 &to ) { copy_impl< Container1 , Container2 >::copy( from , to ); } } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_UTIL_COPY_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/util/detail/000077500000000000000000000000001265471724600241735ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/odeint/util/detail/is_range.hpp000066400000000000000000000052301265471724600264730ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/detail/is_range.hpp [begin_description] is_range implementation. Taken from the boost::range library. [end_description] Copyright 2011-2013 Karsten Ahnert Copyright 2011-2013 Thorsten Ottosen Distributed under the 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_NUMERIC_ODEINT_UTIL_DETAIL_IS_RANGE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_UTIL_DETAIL_IS_RANGE_HPP_INCLUDED #if defined(_MSC_VER) && (_MSC_VER >= 1200) # pragma once #endif #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { namespace range_detail { BOOST_MPL_HAS_XXX_TRAIT_DEF(iterator) BOOST_MPL_HAS_XXX_TRAIT_DEF(const_iterator) } namespace detail { template< typename Range > struct is_range : boost::mpl::and_, range_detail::has_const_iterator > { }; ////////////////////////////////////////////////////////////////////////// // pair ////////////////////////////////////////////////////////////////////////// template< typename iteratorT > struct is_range< std::pair > : boost::mpl::true_ { }; template< typename iteratorT > struct is_range< const std::pair > : boost::mpl::true_ { }; ////////////////////////////////////////////////////////////////////////// // array ////////////////////////////////////////////////////////////////////////// template< typename elementT, std::size_t sz > struct is_range< elementT[sz] > : boost::mpl::true_ { }; template< typename elementT, std::size_t sz > struct is_range< const elementT[sz] > : boost::mpl::true_ { }; ////////////////////////////////////////////////////////////////////////// // string ////////////////////////////////////////////////////////////////////////// template<> struct is_range< char* > : boost::mpl::true_ { }; template<> struct is_range< wchar_t* > : boost::mpl::true_ { }; template<> struct is_range< const char* > : boost::mpl::true_ { }; template<> struct is_range< const wchar_t* > : boost::mpl::true_ { }; template<> struct is_range< char* const > : boost::mpl::true_ { }; template<> struct is_range< wchar_t* const > : boost::mpl::true_ { }; template<> struct is_range< const char* const > : boost::mpl::true_ { }; template<> struct is_range< const wchar_t* const > : boost::mpl::true_ { }; } // namespace detail } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_UTIL_DETAIL_IS_RANGE_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/util/detail/less_with_sign.hpp000066400000000000000000000035751265471724600277370ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/detail/less_with_sign.hpp [begin_description] Helper function to compare times taking into account the sign of dt [end_description] Copyright 2012-2013 Mario Mulansky Copyright 2012 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_INTEGRATE_DETAIL_LESS_WITH_SIGN_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_INTEGRATE_DETAIL_LESS_WITH_SIGN_HPP_INCLUDED #include #include namespace boost { namespace numeric { namespace odeint { namespace detail { /** * return t1 < t2 if dt > 0 and t1 > t2 if dt < 0 with epsilon accuracy */ template< typename T > bool less_with_sign( T t1 , T t2 , T dt ) { if( get_unit_value(dt) > 0 ) //return t1 < t2; return t2-t1 > std::numeric_limits::epsilon(); else //return t1 > t2; return t1-t2 > std::numeric_limits::epsilon(); } /** * return t1 <= t2 if dt > 0 and t1 => t2 if dt < 0 with epsilon accuracy */ template< typename T > bool less_eq_with_sign( T t1 , T t2 , T dt ) { if( get_unit_value(dt) > 0 ) return t1-t2 < std::numeric_limits::epsilon(); else return t2-t1 < std::numeric_limits::epsilon(); } template< typename T > T min_abs( T t1 , T t2 ) { BOOST_USING_STD_MIN(); BOOST_USING_STD_MAX(); if( t1>0 ) return min BOOST_PREVENT_MACRO_SUBSTITUTION ( t1 , t2 ); else return max BOOST_PREVENT_MACRO_SUBSTITUTION ( t1 , t2 ); } template< typename T > T max_abs( T t1 , T t2 ) { BOOST_USING_STD_MIN(); BOOST_USING_STD_MAX(); if( t1>0 ) return max BOOST_PREVENT_MACRO_SUBSTITUTION ( t1 , t2 ); else return min BOOST_PREVENT_MACRO_SUBSTITUTION ( t1 , t2 ); } } } } } #endif KWStyle-master/Utilities/boost/numeric/odeint/util/is_pair.hpp000066400000000000000000000015771265471724600251020ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/is_pair.hpp [begin_description] Metafunction to determine if a type is a std::pair<>. [end_description] Copyright 2011 Karsten Ahnert Copyright 2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_UTIL_IS_PAIR_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_UTIL_IS_PAIR_HPP_INCLUDED #include #include namespace boost { namespace numeric { namespace odeint { template< class T > struct is_pair : public boost::mpl::false_ { }; template< class T1 , class T2 > struct is_pair< std::pair< T1 , T2 > > : public boost::mpl::true_ { }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_UTIL_IS_PAIR_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/util/is_resizeable.hpp000066400000000000000000000040661265471724600262700ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/is_resizeable.hpp [begin_description] Metafunction to determine if a state type can resized. For usage in the steppers. [end_description] Copyright 2011-2012 Karsten Ahnert Copyright 2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_UTIL_IS_RESIZEABLE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_UTIL_IS_RESIZEABLE_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { /* * by default any type is not resizable */ template< typename Container , typename Enabler = void > struct is_resizeable_sfinae : boost::false_type {}; template< typename Container > struct is_resizeable : is_resizeable_sfinae< Container > {}; /* * specialization for std::vector */ template< class V, class A > struct is_resizeable< std::vector< V , A > > : boost::true_type {}; /* * sfinae specialization for fusion sequences */ template< typename FusionSequence > struct is_resizeable_sfinae< FusionSequence , typename boost::enable_if< typename boost::fusion::traits::is_sequence< FusionSequence >::type >::type > { typedef typename boost::mpl::find_if< FusionSequence , is_resizeable< boost::mpl::_1 > >::type iter; typedef typename boost::mpl::end< FusionSequence >::type last; typedef typename boost::mpl::if_< boost::is_same< iter , last > , boost::false_type , boost::true_type >::type type; const static bool value = type::value; }; } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_UTIL_IS_RESIZEABLE_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/util/multi_array_adaption.hpp000066400000000000000000000066451265471724600276640ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/multi_array_adaption.hpp [begin_description] tba. [end_description] Copyright 2009-2012 Karsten Ahnert Copyright 2009-2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_UTIL_MULTI_ARRAY_ADAPTION_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_UTIL_MULTI_ARRAY_ADAPTION_HPP_DEFINED #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< typename T > struct is_multi_array { typedef boost::false_type type; const static bool value = type::value; }; template< typename T > struct is_resizeable_multi_array { typedef boost::false_type type; const static bool value = type::value; }; template< typename V , size_t Dim , typename A > struct is_multi_array< boost::multi_array< V , Dim , A > > { typedef boost::true_type type; const static bool value = type::value; }; template< typename V , size_t Dim , typename A > struct is_resizeable_multi_array< boost::multi_array< V , Dim , A > > { typedef boost::true_type type; const static bool value = type::value; }; template< typename T > struct is_resizeable_sfinae< T , typename boost::enable_if< typename is_resizeable_multi_array< T >::type >::type > { typedef boost::true_type type; const static bool value = type::value; }; template< typename T1 , typename T2 > struct same_size_impl_sfinae< T1 , T2 , typename boost::enable_if< typename boost::mpl::and_< is_multi_array< T1 > , is_multi_array< T2 > , boost::mpl::bool_< T1::dimensionality == T2::dimensionality > >::type >::type > { static bool same_size( T1 const &x1 , T2 const &x2 ) { for( size_t i=0 ; i struct resize_impl_sfinae< T1 , T2 , typename boost::enable_if< typename boost::mpl::and_< is_resizeable_multi_array< T1 > , is_multi_array< T2 > , boost::mpl::bool_< T1::dimensionality == T2::dimensionality > >::type >::type > { static void resize( T1 &x1 , const T2 &x2 ) { boost::array< int , T1::dimensionality > extents; for( size_t i=0 ; i origins; for( size_t i=0 ; i // like BOOST_PP_ENUM_SHIFTED but with a comma in front like _TRAILING #define BOOST_ODEINT_ENUM_TRAILING_SHIFTED_PARAMS(count, param) \ BOOST_PP_COMMA_IF(BOOST_PP_DEC(count)) \ BOOST_PP_ENUM_SHIFTED_PARAMS(count, param) #define BOOST_ODEINT_ENUM_TRAILING_SHIFTED_BINARY_PARAMS(count, p1, p2) \ BOOST_PP_COMMA_IF(BOOST_PP_DEC(count)) \ BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS(count, p1, p2) // like BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS(n, p1, p2) but p2 is shifted left. // generate "p1 ## 0 = p2, p1 ## 1 = p3 ## 0, p1 ## 2 = p3 ## 1" #define BOOST_ODEINT_ENUM_LSHIFTED_BINARY_PARAMS(count, p1, p2, p3) \ BOOST_PP_ENUM(count, BOOST_ODEINT_ENUM_LSHIFTED_BINARY_PARAMS_, (p1, p2, p3)) #define BOOST_ODEINT_ENUM_LSHIFTED_BINARY_PARAMS_(z, n, data) \ BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(3, 0, data), n) \ BOOST_PP_IF(n, \ BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(3, 2, data), BOOST_PP_DEC(n)), \ BOOST_PP_TUPLE_ELEM(3, 1, data)) // like BOOST_PP_ENUM_BINARY_PARAMS(n, p1, p2) but with statements. // "p1 ## 0 p2 ## 0 ; p1 ## 1 p2 ## 1 ; ..." #define BOOST_ODEINT_ENUM_BINARY_STATEMENTS(count, p1, p2) \ BOOST_PP_REPEAT(count, BOOST_ODEINT_ENUM_BINARY_STATEMENTS_, (p1, p2)) #define BOOST_ODEINT_ENUM_BINARY_STATEMENTS_(z, n, data) \ BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2, 0, data), n) \ BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2, 1, data), n) ; // like BOOST_PP_ENUM_BINARY_PARAMS(n, p1, p2) but p2 is in parens. // "p1 ## 0 (p2 ## 0) , p1 ## 1 (p2 ## 1) , ..." #define BOOST_ODEINT_ENUM_UNARY_CALLS(count, p1, p2) \ BOOST_PP_ENUM(count, BOOST_ODEINT_ENUM_UNARY_CALLS_, (p1, p2)) #define BOOST_ODEINT_ENUM_SHIFTED_UNARY_CALLS(count, p1, p2) \ BOOST_PP_ENUM_SHIFTED(count, BOOST_ODEINT_ENUM_UNARY_CALLS_, (p1, p2)) #define BOOST_ODEINT_ENUM_TRAILING_SHIFTED_UNARY_CALLS(count, p1, p2) \ BOOST_PP_COMMA_IF(BOOST_PP_DEC(count)) \ BOOST_PP_ENUM_SHIFTED(count, BOOST_ODEINT_ENUM_UNARY_CALLS_, (p1, p2)) #define BOOST_ODEINT_ENUM_UNARY_CALLS_(z, n, data) \ BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2, 0, data), n) \ ( BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2, 1, data), n) ) // maximum arity + 1 for scale_sum and for_each #define BOOST_ODEINT_N_ARY_MAX 16 // generate scale_sum1 to scale_sumN, operator body generated by macro(N) #define BOOST_ODEINT_GEN_SCALE_SUM(macro) \ BOOST_PP_REPEAT_FROM_TO(1, BOOST_ODEINT_N_ARY_MAX, BOOST_ODEINT_GEN_SCALE_SUM_, macro) #define BOOST_ODEINT_GEN_SCALE_SUM_(z, n, macro) \ template< BOOST_ODEINT_ENUM_LSHIFTED_BINARY_PARAMS(n, class Fac, = double, = Fac) > \ struct BOOST_PP_CAT(scale_sum, n) \ { \ BOOST_ODEINT_ENUM_BINARY_STATEMENTS(n, const Fac, m_alpha) \ \ BOOST_PP_CAT(scale_sum, n) \ ( BOOST_PP_ENUM_BINARY_PARAMS(n, Fac, alpha) ) \ : BOOST_ODEINT_ENUM_UNARY_CALLS(n, m_alpha, alpha) {} \ \ template< BOOST_PP_ENUM_PARAMS(BOOST_PP_INC(n), class T) > \ void operator()( T0 &t0 \ BOOST_ODEINT_ENUM_TRAILING_SHIFTED_BINARY_PARAMS(BOOST_PP_INC(n), const T, &t) \ ) const \ { macro(n) } \ typedef void result_type; \ }; // generate for_each1 to for_eachN, body generated by macro(N) #define BOOST_ODEINT_GEN_FOR_EACH(macro) \ BOOST_PP_REPEAT_FROM_TO(1, BOOST_ODEINT_N_ARY_MAX, BOOST_ODEINT_GEN_FOR_EACH_, macro) #define BOOST_ODEINT_GEN_FOR_EACH_(z, n, macro) \ template< BOOST_PP_ENUM_PARAMS(n, class S) , class Op > \ static void for_each##n ( BOOST_PP_ENUM_BINARY_PARAMS(n, S, &s) , Op op ) \ { macro(n) } #endif KWStyle-master/Utilities/boost/numeric/odeint/util/resize.hpp000066400000000000000000000057771265471724600247630ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/state_wrapper.hpp [begin_description] State wrapper for the state type in all stepper. The state wrappers are responsible for construction, destruction, copying construction, assignment and resizing. [end_description] Copyright 2011-2013 Karsten Ahnert Copyright 2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_UTIL_RESIZE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_UTIL_RESIZE_HPP_INCLUDED #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class StateOut , class StateIn , class Enabler = void > struct resize_impl_sfinae { static void resize( StateOut &x1 , const StateIn &x2 ) { x1.resize( boost::size( x2 ) ); } }; // resize function // standard implementation relies on boost.range and resize member function template< class StateOut , class StateIn > struct resize_impl { static void resize( StateOut &x1 , const StateIn &x2 ) { resize_impl_sfinae< StateOut , StateIn >::resize( x1 , x2 ); } }; // do not overload or specialize this function, specialize resize_impl<> instead template< class StateOut , class StateIn > void resize( StateOut &x1 , const StateIn &x2 ) { resize_impl< StateOut , StateIn >::resize( x1 , x2 ); } namespace detail { struct resizer { typedef void result_type; template< class StateOut , class StateIn > void operator()( StateOut &x1 , const StateIn &x2 ) const { resize_op( x1 , x2 , typename is_resizeable< StateOut >::type() ); } template< class StateOut , class StateIn > void resize_op( StateOut &x1 , const StateIn &x2 , boost::true_type ) const { resize( x1 , x2 ); } template< class StateOut , class StateIn > void resize_op( StateOut &x1 , const StateIn &x2 , boost::false_type ) const { } }; } // namespace detail /* * specialization for fusion sequences */ template< class FusionSeq > struct resize_impl_sfinae< FusionSeq , FusionSeq , typename boost::enable_if< typename boost::fusion::traits::is_sequence< FusionSeq >::type >::type > { static void resize( FusionSeq &x1 , const FusionSeq &x2 ) { typedef boost::fusion::vector< FusionSeq& , const FusionSeq& > Sequences; Sequences sequences( x1 , x2 ); boost::fusion::for_each( boost::fusion::zip_view< Sequences >( sequences ) , boost::fusion::make_fused( detail::resizer() ) ); } }; } } } #endif // BOOST_NUMERIC_ODEINT_UTIL_RESIZE_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/util/resizer.hpp000066400000000000000000000036151265471724600251320ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/resizer.hpp [begin_description] Implementation of the resizers. [end_description] Copyright 2011-2012 Mario Mulansky Copyright 2011 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_UTIL_RESIZER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_UTIL_RESIZER_HPP_INCLUDED #include #include #include namespace boost { namespace numeric { namespace odeint { template< class ResizeWrappedState , class State > bool adjust_size_by_resizeability( ResizeWrappedState &x , const State &y , boost::true_type ) { if ( !same_size( x.m_v , y ) ) { resize( x.m_v , y ); return true; } else return false; } template< class ResizeWrappedState , class State > bool adjust_size_by_resizeability( ResizeWrappedState & /* x */ , const State & /* y */ , boost::false_type ) { return false; } struct always_resizer { template< class State , class ResizeFunction > bool adjust_size( const State &x , ResizeFunction f ) { return f( x ); } }; struct initially_resizer { bool m_initialized; initially_resizer() : m_initialized( false ) { } template< class State , class ResizeFunction > bool adjust_size( const State &x , ResizeFunction f ) { if( !m_initialized ) { m_initialized = true; return f( x ); } else return false; } }; struct never_resizer { template< class State , class ResizeFunction > bool adjust_size( const State &x , ResizeFunction f ) { return false; } }; } } } #endif // BOOST_NUMERIC_ODEINT_UTIL_RESIZER_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/util/same_instance.hpp000066400000000000000000000022241265471724600262530ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/same_instance.hpp [begin_description] Basic check if two variables are the same instance [end_description] Copyright 2012 Karsten Ahnert Copyright 2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_UTIL_SAME_INSTANCE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_UTIL_SAME_INSTANCE_HPP_INCLUDED namespace boost { namespace numeric { namespace odeint { template< class T1 , class T2 , class Enabler=void > struct same_instance_impl { static bool same_instance( const T1& /* x1 */ , const T2& /* x2 */ ) { return false; } }; template< class T > struct same_instance_impl< T , T > { static bool same_instance( const T &x1 , const T &x2 ) { // check pointers return (&x1 == &x2); } }; template< class T1 , class T2 > bool same_instance( const T1 &x1 , const T2 &x2 ) { return same_instance_impl< T1 , T2 >::same_instance( x1 , x2 ); } } // namespace odeint } // namespace numeric } // namespace boost #endif KWStyle-master/Utilities/boost/numeric/odeint/util/same_size.hpp000066400000000000000000000057621265471724600254330ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/state_wrapper.hpp [begin_description] State wrapper for the state type in all stepper. The state wrappers are responsible for construction, destruction, copying construction, assignment and resizing. [end_description] Copyright 2011-2013 Karsten Ahnert Copyright 2011 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_UTIL_SAME_SIZE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_UTIL_SAME_SIZE_HPP_INCLUDED #include #include #include #include #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< typename State1 , typename State2 , class Enabler = void > struct same_size_impl_sfinae { static bool same_size( const State1 &x1 , const State2 &x2 ) { return ( boost::size( x1 ) == boost::size( x2 ) ); } }; // same_size function // standard implementation relies on boost.range template< class State1 , class State2 > struct same_size_impl { static bool same_size( const State1 &x1 , const State2 &x2 ) { return same_size_impl_sfinae< State1 , State2 >::same_size( x1 , x2 ); } }; // do not overload or specialize this function, specialize resize_impl<> instead template< class State1 , class State2 > bool same_size( const State1 &x1 , const State2 &x2 ) { return same_size_impl< State1 , State2 >::same_size( x1 , x2 ); } namespace detail { struct same_size_fusion { typedef bool result_type; template< class S1 , class S2 > bool operator()( const S1 &x1 , const S2 &x2 ) const { return same_size_op( x1 , x2 , typename is_resizeable< S1 >::type() ); } template< class S1 , class S2 > bool same_size_op( const S1 &x1 , const S2 &x2 , boost::true_type ) const { return same_size( x1 , x2 ); } template< class S1 , class S2 > bool same_size_op( const S1 &x1 , const S2 &x2 , boost::false_type ) const { return true; } }; } // namespace detail template< class FusionSeq > struct same_size_impl_sfinae< FusionSeq , FusionSeq , typename boost::enable_if< typename boost::fusion::traits::is_sequence< FusionSeq >::type >::type > { static bool same_size( const FusionSeq &x1 , const FusionSeq &x2 ) { typedef boost::fusion::vector< const FusionSeq& , const FusionSeq& > Sequences; Sequences sequences( x1 , x2 ); return boost::fusion::all( boost::fusion::zip_view< Sequences >( sequences ) , boost::fusion::make_fused( detail::same_size_fusion() ) ); } }; } } } #endif // BOOST_NUMERIC_ODEINT_UTIL_SAME_SIZE_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/util/split.hpp000066400000000000000000000027011265471724600245750ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/split.hpp [begin_description] Split abstraction for parallel backends. [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Copyright 2013 Pascal Germroth Distributed under the 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_NUMERIC_ODEINT_UTIL_SPLIT_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_UTIL_SPLIT_HPP_INCLUDED namespace boost { namespace numeric { namespace odeint { /* * No default implementation of the split operation */ template< class Container1, class Container2 , class Enabler = void > struct split_impl { static void split( const Container1 &from , Container2 &to ); }; template< class Container1 , class Container2 > void split( const Container1 &from , Container2 &to ) { split_impl< Container1 , Container2 >::split( from , to ); } /* * No default implementation of the unsplit operation */ template< class Container1, class Container2 , class Enabler = void > struct unsplit_impl { static void unsplit( const Container1 &from , Container2 &to ); }; template< class Container1 , class Container2 > void unsplit( const Container1 &from , Container2 &to ) { unsplit_impl< Container1 , Container2 >::unsplit( from , to ); } } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_UTIL_COPY_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/util/split_adaptor.hpp000066400000000000000000000060351265471724600263130ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/split_adaptor.hpp [begin_description] A range adaptor which returns even-sized slices. [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Copyright 2013 Pascal Germroth Distributed under the 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_NUMERIC_ODEINT_UTIL_SPLIT_ADAPTOR_INCLUDED #define BOOST_NUMERIC_ODEINT_UTIL_SPLIT_ADAPTOR_INCLUDED #include #include #include #include namespace boost { namespace numeric { namespace odeint { namespace detail { /** \brief Returns the begin and end offset for a sub-range */ inline std::pair split_offsets( std::size_t total_length, std::size_t index, std::size_t parts ) { BOOST_ASSERT( parts > 0 ); BOOST_ASSERT( index < parts ); const std::size_t slice = total_length / parts, partial = total_length % parts, lo = (std::min)(index, partial), hi = (std::max)(0, index - partial), begin_offset = lo * (slice + 1) + hi * slice, length = slice + (index < partial ? 1 : 0), end_offset = begin_offset + length; return std::make_pair( begin_offset, end_offset ); } /** \brief Return the sub-range `index` from a range which is split into `parts`. * * For example, splitting a range into three about equal-sized sub-ranges: * \code * sub0 = make_split_range(rng, 0, 3); * sub1 = rng | split(1, 3); * sub2 = rng | split(2, 3); * \endcode */ template< class RandomAccessRange > inline iterator_range< typename range_iterator::type > make_split_range( RandomAccessRange& rng, std::size_t index, std::size_t parts ) { const std::pair off = split_offsets(boost::size(rng), index, parts); return make_iterator_range( boost::begin(rng) + off.first, boost::begin(rng) + off.second ); } template< class RandomAccessRange > inline iterator_range< typename range_iterator::type > make_split_range( const RandomAccessRange& rng, std::size_t index, std::size_t parts ) { const std::pair off = split_offsets(boost::size(rng), index, parts); return make_iterator_range( boost::begin(rng) + off.first, boost::begin(rng) + off.second ); } struct split { split(std::size_t index, std::size_t parts) : index(index), parts(parts) {} std::size_t index, parts; }; template< class RandomAccessRange > inline iterator_range< typename range_iterator::type > operator|( RandomAccessRange& rng, const split& f ) { return make_split_range( rng, f.index, f.parts ); } template< class RandomAccessRange > inline iterator_range< typename range_iterator::type > operator|( const RandomAccessRange& rng, const split& f ) { return make_split_range( rng, f.index, f.parts ); } } } } } #endif KWStyle-master/Utilities/boost/numeric/odeint/util/state_wrapper.hpp000066400000000000000000000021121265471724600263160ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/state_wrapper.hpp [begin_description] State wrapper for the state type in all stepper. The state wrappers are responsible for construction, destruction, copying construction, assignment and resizing. [end_description] Copyright 2011-2012 Mario Mulansky Copyright 2011-2013 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_UTIL_STATE_WRAPPER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_UTIL_STATE_WRAPPER_HPP_INCLUDED #include #include #include #include namespace boost { namespace numeric { namespace odeint { template< class V , class Enabler = void > struct state_wrapper { typedef state_wrapper< V > state_wrapper_type; V m_v; }; } } } #endif // BOOST_NUMERIC_ODEINT_UTIL_STATE_WRAPPER_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/util/stepper_traits.hpp000066400000000000000000000030121265471724600265060ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/stepper_traits.hpp [begin_description] tba. [end_description] Copyright 2013 Karsten Ahnert Copyright 2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_UTIL_STEPPER_TRAITS_HPP_DEFINED #define BOOST_NUMERIC_ODEINT_UTIL_STEPPER_TRAITS_HPP_DEFINED #include namespace boost { namespace numeric { namespace odeint { namespace traits { template< class Stepper > struct state_type { typedef typename boost::numeric::odeint::unwrap_reference< Stepper >::type stepper_type; typedef typename stepper_type::state_type type; }; template< class Stepper > struct time_type { typedef typename boost::numeric::odeint::unwrap_reference< Stepper >::type stepper_type; typedef typename stepper_type::time_type type; }; template< class Stepper > struct stepper_category { typedef typename boost::numeric::odeint::unwrap_reference< Stepper >::type stepper_type; typedef typename stepper_type::stepper_category type; }; template< class Stepper > struct value_type { typedef typename boost::numeric::odeint::unwrap_reference< Stepper >::type stepper_type; typedef typename stepper_type::value_type type; }; } // namespace traits } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_UTIL_STEPPER_TRAITS_HPP_DEFINED KWStyle-master/Utilities/boost/numeric/odeint/util/ublas_matrix_expression.patch000066400000000000000000000006041265471724600307230ustar00rootroot000000000000003390,3392c3390 < typename enable_if< is_convertible, < typename matrix_binary_scalar2_traits >::result_type < > ::result_type --- > typename matrix_binary_scalar2_traits >::result_type KWStyle-master/Utilities/boost/numeric/odeint/util/ublas_wrapper.hpp000066400000000000000000000232411265471724600263120ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/ublas_wrapper.hpp [begin_description] Resizing for ublas::vector and ublas::matrix [end_description] Copyright 2011-2013 Mario Mulansky Copyright 2011-2013 Karsten Ahnert Distributed under the 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_NUMERIC_ODEINT_UTIL_UBLAS_WRAPPER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_UTIL_UBLAS_WRAPPER_HPP_INCLUDED #include #include #include #include #include #include #include #include #include #include /* extend ublas by a few operations */ /* map norm_inf onto reduce( v , default_operations::maximum ) */ namespace boost { namespace numeric { namespace odeint { template< typename T , typename A > struct vector_space_norm_inf< boost::numeric::ublas::vector > { typedef T result_type; result_type operator()( const boost::numeric::ublas::vector &x ) const { return boost::numeric::ublas::norm_inf( x ); } }; template< class T , class L , class A > struct vector_space_norm_inf< boost::numeric::ublas::matrix > { typedef T result_type; result_type operator()( const boost::numeric::ublas::matrix &x ) const { return boost::numeric::ublas::norm_inf( x ); } }; } } } /* additional operations: * abs( v ) * v / w * a + v */ namespace boost { namespace numeric { namespace ublas { // elementwise abs - calculates absolute values of the elements template struct scalar_abs: public scalar_unary_functor { typedef typename scalar_unary_functor::value_type value_type; typedef typename scalar_unary_functor::argument_type argument_type; typedef typename scalar_unary_functor::result_type result_type; static BOOST_UBLAS_INLINE result_type apply (argument_type t) { using std::abs; return abs (t); } }; // (abs v) [i] = abs (v [i]) template BOOST_UBLAS_INLINE typename vector_unary_traits >::result_type abs (const vector_expression &e) { typedef typename vector_unary_traits >::expression_type expression_type; return expression_type (e ()); } // (abs m) [i] = abs (m [i]) template BOOST_UBLAS_INLINE typename matrix_unary1_traits >::result_type abs (const matrix_expression &e) { typedef typename matrix_unary1_traits >::expression_type expression_type; return expression_type (e ()); } // elementwise division (v1 / v2) [i] = v1 [i] / v2 [i] template BOOST_UBLAS_INLINE typename vector_binary_traits >::result_type operator / (const vector_expression &e1, const vector_expression &e2) { typedef typename vector_binary_traits >::expression_type expression_type; return expression_type (e1 (), e2 ()); } // elementwise division (m1 / m2) [i] = m1 [i] / m2 [i] template BOOST_UBLAS_INLINE typename matrix_binary_traits >::result_type operator / (const matrix_expression &e1, const matrix_expression &e2) { typedef typename matrix_binary_traits >::expression_type expression_type; return expression_type (e1 (), e2 ()); } // addition with scalar // (t + v) [i] = t + v [i] template BOOST_UBLAS_INLINE typename enable_if< is_convertible, typename vector_binary_scalar1_traits >::result_type >::type operator + (const T1 &e1, const vector_expression &e2) { typedef typename vector_binary_scalar1_traits >::expression_type expression_type; return expression_type (e1, e2 ()); } // addition with scalar // (t + m) [i] = t + m [i] template BOOST_UBLAS_INLINE typename enable_if< is_convertible, typename matrix_binary_scalar1_traits >::result_type >::type operator + (const T1 &e1, const matrix_expression &e2) { typedef typename matrix_binary_scalar1_traits >::expression_type expression_type; return expression_type (e1, e2 ()); } } } } /* add resize functionality */ namespace boost { namespace numeric { namespace odeint { /* * resizeable specialization for boost::numeric::ublas::vector */ template< class T , class A > struct is_resizeable< boost::numeric::ublas::vector< T , A > > { typedef boost::true_type type; const static bool value = type::value; }; /* * resizeable specialization for boost::numeric::ublas::matrix */ template< class T , class L , class A > struct is_resizeable< boost::numeric::ublas::matrix< T , L , A > > { typedef boost::true_type type; const static bool value = type::value; }; /* * resizeable specialization for boost::numeric::ublas::permutation_matrix */ template< class T , class A > struct is_resizeable< boost::numeric::ublas::permutation_matrix< T , A > > { typedef boost::true_type type; const static bool value = type::value; }; // specialization for ublas::matrix // same size and resize specialization for matrix-matrix resizing template< class T , class L , class A , class T2 , class L2 , class A2 > struct same_size_impl< boost::numeric::ublas::matrix< T , L , A > , boost::numeric::ublas::matrix< T2 , L2 , A2 > > { static bool same_size( const boost::numeric::ublas::matrix< T , L , A > &m1 , const boost::numeric::ublas::matrix< T2 , L2 , A2 > &m2 ) { return ( ( m1.size1() == m2.size1() ) && ( m1.size2() == m2.size2() ) ); } }; template< class T , class L , class A , class T2 , class L2 , class A2 > struct resize_impl< boost::numeric::ublas::matrix< T , L , A > , boost::numeric::ublas::matrix< T2 , L2 , A2 > > { static void resize( boost::numeric::ublas::matrix< T , L , A > &m1 , const boost::numeric::ublas::matrix< T2 , L2 , A2 > &m2 ) { m1.resize( m2.size1() , m2.size2() ); } }; // same size and resize specialization for matrix-vector resizing template< class T , class L , class A , class T_V , class A_V > struct same_size_impl< boost::numeric::ublas::matrix< T , L , A > , boost::numeric::ublas::vector< T_V , A_V > > { static bool same_size( const boost::numeric::ublas::matrix< T , L , A > &m , const boost::numeric::ublas::vector< T_V , A_V > &v ) { return ( ( m.size1() == v.size() ) && ( m.size2() == v.size() ) ); } }; template< class T , class L , class A , class T_V , class A_V > struct resize_impl< boost::numeric::ublas::matrix< T , L , A > , boost::numeric::ublas::vector< T_V , A_V > > { static void resize( boost::numeric::ublas::matrix< T , L , A > &m , const boost::numeric::ublas::vector< T_V , A_V > &v ) { m.resize( v.size() , v.size() ); } }; // specialization for ublas::permutation_matrix // same size and resize specialization for matrix-vector resizing template< class T , class A , class T_V , class A_V > struct same_size_impl< boost::numeric::ublas::permutation_matrix< T , A > , boost::numeric::ublas::vector< T_V , A_V > > { static bool same_size( const boost::numeric::ublas::permutation_matrix< T , A > &m , const boost::numeric::ublas::vector< T_V , A_V > &v ) { return ( m.size() == v.size() ); // && ( m.size2() == v.size() ) ); } }; template< class T , class A , class T_V , class A_V > struct resize_impl< boost::numeric::ublas::vector< T_V , A_V > , boost::numeric::ublas::permutation_matrix< T , A > > { static void resize( const boost::numeric::ublas::vector< T_V , A_V > &v, boost::numeric::ublas::permutation_matrix< T , A > &m ) { m.resize( v.size() , v.size() ); } }; template< class T , class A > struct state_wrapper< boost::numeric::ublas::permutation_matrix< T , A > > // with resizing { typedef boost::numeric::ublas::permutation_matrix< T , A > state_type; typedef state_wrapper< state_type > state_wrapper_type; state_type m_v; state_wrapper() : m_v( 1 ) // permutation matrix constructor requires a size, choose 1 as default { } }; } } } #endif // BOOST_NUMERIC_ODEINT_UTIL_UBLAS_WRAPPER_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/util/unit_helper.hpp000066400000000000000000000062111265471724600257600ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/unit_helper.hpp [begin_description] Get and set the value of a unit. [end_description] Copyright 2012-2013 Karsten Ahnert Copyright 2012-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_UTIL_UNIT_HELPER_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_UTIL_UNIT_HELPER_HPP_INCLUDED #ifndef __CUDACC__ #include #include #include #endif namespace boost { namespace numeric { namespace odeint { namespace detail { template struct get_unit_value_impl { static T value(const T &t) { return t; } typedef T result_type; }; #ifndef __CUDACC__ template struct get_unit_value_impl< boost::units::quantity< Unit , T> > { static T value( const boost::units::quantity< Unit , T> &t ) { return t.value(); } typedef T result_type; }; #endif template struct set_unit_value_impl { static void set_value(T &t , const V &v) { t = v; } }; #ifndef __CUDACC__ template struct set_unit_value_impl , V> { static void set_value(boost::units::quantity &t , const V &v) { t = boost::units::quantity::from_value(v); } }; #endif } // namespace detail template typename detail::get_unit_value_impl::result_type get_unit_value(const T &t) { return detail::get_unit_value_impl::value(t); } template void set_unit_value(T &t , const V &v) { return detail::set_unit_value_impl::set_value(t , v); } template< class T > struct unit_value_type { typedef T type; }; #ifndef __CUDACC__ template< class Unit , class Y > struct unit_value_type< boost::units::quantity< Unit , Y > > { typedef Y type; }; #endif template< typename Time > struct inverse_time { typedef Time type; }; #ifndef __CUDACC__ template< typename Unit , typename Value > struct inverse_time< boost::units::quantity< Unit , Value > > { typedef boost::units::quantity< Unit , Value > time_type; typedef typename boost::units::get_dimension< time_type >::type dimension; typedef typename boost::units::get_system< time_type >::type system; typedef typename boost::mpl::divides< boost::units::dimensionless_type , dimension >::type inv_dimension; typedef boost::units::unit< inv_dimension , system > inv_unit; typedef boost::units::quantity< inv_unit , Value > type; }; #endif } // namespace odeint } // namespace numeric } // namespace boost #endif // BOOST_NUMERIC_ODEINT_UTIL_UNIT_HELPER_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/util/unwrap_reference.hpp000066400000000000000000000046131265471724600270000ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/util/unwrap_reference.hpp [begin_description] unwrap_reference [end_description] Copyright 2012-2013 Karsten Ahnert Copyright 2012-2013 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_UTIL_UNWRAP_REFERENCE_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_UTIL_UNWRAP_REFERENCE_HPP_INCLUDED #include #if BOOST_NUMERIC_ODEINT_CXX11 #include #else #include #endif namespace boost { #if BOOST_NUMERIC_ODEINT_CXX11 template struct reference_wrapper; template struct unwrap_reference; #endif namespace numeric { namespace odeint { #if BOOST_NUMERIC_ODEINT_CXX11 template struct unwrap_reference { typedef typename std::remove_reference::type type; }; template struct unwrap_reference< std::reference_wrapper > { typedef typename std::remove_reference::type type; }; template struct unwrap_reference< boost::reference_wrapper > { typedef typename boost::unwrap_reference::type type; }; #else using ::boost::unwrap_reference; #endif namespace detail { #if BOOST_NUMERIC_ODEINT_CXX11 using ::std::ref; #else using ::boost::ref; #endif } } } } /* * * the following is the suggested way, but unfortunately it does not work with all compilers. */ /* #include #ifdef BOOST_NO_CXX11_HDR_FUNCTIONAL #include #else #include #endif namespace boost { namespace numeric { namespace odeint { #ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL template struct unwrap_reference { typedef typename std::remove_reference::type type; }; template struct unwrap_reference< std::reference_wrapper > { typedef typename std::remove_reference::type type; }; template struct unwrap_reference< boost::reference_wrapper > { typedef typename boost::unwrap_reference::type type; }; #else using ::boost::unwrap_reference; #endif } } } namespace boost { namespace numeric { namespace odeint { namespace detail { #ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL using ::std::ref; #else using ::boost::ref; #endif } } } } */ #endif // BOOST_NUMERIC_ODEINT_UTIL_UNWRAP_REFERENCE_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/odeint/version.hpp000066400000000000000000000022671265471724600241610ustar00rootroot00000000000000/* [auto_generated] boost/numeric/odeint/version.hpp [begin_description] Defines the current version of odeint. [end_description] Copyright 2011-2012 Karsten Ahnert Copyright 2011-2012 Mario Mulansky Distributed under the 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_NUMERIC_ODEINT_VERSION_HPP_INCLUDED #define BOOST_NUMERIC_ODEINT_VERSION_HPP_INCLUDED #include #include #define ODEINT_MAJOR_VERSION 2 #define ODEINT_MINOR_VERSION 2 #define ODEINT_PATCH_LEVEL 0 #define ODEINT_VERSION ( ODEINT_MAJOR_VERSION * 100000 + ODEINT_MINOR_VERSION * 100 + ODEINT_PATCH_LEVEL ) namespace boost { namespace numeric { namespace odeint { namespace version { const int major = ODEINT_MAJOR_VERSION ; const int minor = ODEINT_MINOR_VERSION ; const int patch_level = ODEINT_PATCH_LEVEL ; } inline std::string get_version_string( void ) { std::ostringstream str; str << "v" << version::major << "." << version::minor; if( version::patch_level != 0 ) str << "_" << version::patch_level; return str.str(); } } } } #endif // BOOST_NUMERIC_ODEINT_VERSION_HPP_INCLUDED KWStyle-master/Utilities/boost/numeric/ublas/000077500000000000000000000000001265471724600216005ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/ublas/assignment.hpp000066400000000000000000001050231265471724600244620ustar00rootroot00000000000000// // Copyright (c) 2010 Athanasios Iliopoulos // // Distributed under the 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 ASSIGNMENT_HPP #define ASSIGNMENT_HPP #include #include /*! \file assignment.hpp \brief uBlas assignment operator <<=. */ namespace boost { namespace numeric { namespace ublas { /** \brief A CRTP and Barton-Nackman trick index manipulator wrapper class. * * This class is not meant to be used directly. */ template class index_manipulator { public: typedef TV type; BOOST_UBLAS_INLINE const type &operator () () const { return *static_cast (this); } BOOST_UBLAS_INLINE type &operator () () { return *static_cast (this); } }; /** \brief A move_to vector index manipulator. * * When member function \c manip is called the referenced * index will be set to the manipulators' index. * * \sa move_to(T i) */ template class vector_move_to_manip: public index_manipulator > { public: BOOST_UBLAS_INLINE vector_move_to_manip(const T &k): i(k) { } template BOOST_UBLAS_INLINE void manip(V &k) const { k=i; } private: T i; }; /** \brief An object generator that returns a move_to vector index manipulator * * \param i The element number the manipulator will move to when \c manip member function is called * \return A move_to vector manipulator * * Example usage: * \code * vector a(6, 0); * a <<= 1, 2, move_to(5), 3; * \endcode * will result in: * \code * 1 2 0 0 0 3 * \endcode * * \tparam T Size type * \sa move_to() */ template BOOST_UBLAS_INLINE vector_move_to_manip move_to(T i) { return vector_move_to_manip(i); } /** \brief A static move to vector manipulator. * * When member function \c manip is called the referenced * index will be set to the manipulators' index * * \sa move_to(T i) and move_to() */ template class static_vector_move_to_manip: public index_manipulator > { public: template BOOST_UBLAS_INLINE void manip(V &k) const { k=I; } }; /** \brief An object generator that returns a static move_to vector index manipulator. * * Typically faster than the dynamic version, but can be used only when the * values are known at compile time. * * \return A static move_to vector manipulator * * Example usage: * \code * vector a(6, 0); * a <<= 1, 2, move_to<5>(), 3; * \endcode * will result in: * \code * 1 2 0 0 0 3 * \endcode * * \tparam I The number of elements the manipulator will traverse the index when \c manip function is called */ template BOOST_UBLAS_INLINE static_vector_move_to_manip move_to() { return static_vector_move_to_manip(); } /** \brief A move vector index manipulator. * * When member function traverse is called the manipulators' * index will be added to the referenced index. * * \see move(T i) */ template class vector_move_manip: public index_manipulator > { public: BOOST_UBLAS_INLINE vector_move_manip(const T &k): i(k) { } template BOOST_UBLAS_INLINE void manip(V &k) const { k+=i; } private: T i; }; /** * \brief An object generator that returns a move vector index manipulator * * \tparam T Size type * \param i The number of elements the manipulator will traverse the index when \c manip * member function is called. Negative values can be used. * \return A move vector manipulator * * Example usage: * \code * vector a(6, 0); * a <<= 1, 2, move(3), 3; * \endcode * will result in: * \code * 1 2 0 0 0 3 * \endcode * */ template BOOST_UBLAS_INLINE vector_move_manip move(T i) { return vector_move_manip(i); } /** * \brief A static move vector manipulator * * When member function \c manip is called the manipulators * index will be added to the referenced index * * \sa move() * * \todo Doxygen has some problems with similar template functions. Correct that. */ template class static_vector_move_manip: public index_manipulator > { public: template BOOST_UBLAS_INLINE void manip(V &k) const { k+=I; } }; /** * \brief An object generator that returns a static move vector index manipulator. * * Typically faster than the dynamic version, but can be used only when the * values are known at compile time. * \tparam I The Number of elements the manipulator will traverse the index when \c manip * function is called.Negative values can be used. * \return A static move vector manipulator * * Example usage: * \code * vector a(6, 0); * a <<= 1, 2, move<3>(), 3; * \endcode * will result in: * \code * 1 2 0 0 0 3 * \endcode * * \todo Doxygen has some problems with similar template functions. Correct that. */ template static_vector_move_manip move() { return static_vector_move_manip(); } /** * \brief A move_to matrix manipulator * * When member function \c manip is called the referenced * index will be set to the manipulators' index * * \sa move_to(T i, T j) * * \todo Doxygen has some problems with similar template functions. Correct that. */ template class matrix_move_to_manip: public index_manipulator > { public: BOOST_UBLAS_INLINE matrix_move_to_manip(T k, T l): i(k), j(l) { } template BOOST_UBLAS_INLINE void manip(V1 &k, V2 &l) const { k=i; l=j; } private: T i, j; }; /** * \brief An object generator that returns a "move_to" matrix index manipulator * * \tparam size type * \param i The row number the manipulator will move to when \c manip * member function is called * \param j The column number the manipulator will move to when \c manip * member function is called * \return A move matrix manipulator * * Example usage: * \code: * matrix A(3, 3, 0); * A <<= 1, 2, move_to(A.size1()-1, A.size1()-1), 3; * \endcode * will result in: * \code * 1 2 0 * 0 0 0 * 0 0 3 * \endcode * \sa move_to(T i, T j) and static_matrix_move_to_manip * * \todo Doxygen has some problems with similar template functions. Correct that. */ template BOOST_UBLAS_INLINE matrix_move_to_manip move_to(T i, T j) { return matrix_move_to_manip(i, j); } /** * \brief A static move_to matrix manipulator * When member function traverse is called the referenced * index will be set to the manipulators' index * * \sa move_to() * * \todo Doxygen has some problems with similar template functions. Correct that. */ template class static_matrix_move_to_manip: public index_manipulator > { public: template BOOST_UBLAS_INLINE void manip(V &k, K &l) const { k=I; l=J; } }; /** * \brief An object generator that returns a static move_to matrix index manipulator. * * Typically faster than the dynamic version, but can be used only when the * values are known at compile time. * \tparam I The row number the manipulator will set the matrix assigner index to. * \tparam J The column number the manipulator will set the matrix assigner index to. * \return A static move_to matrix manipulator * * Example usage: * \code: * matrix A(3, 3, 0); * A <<= 1, 2, move_to<2,2>, 3; * \endcode * will result in: * \code * 1 2 0 * 0 0 0 * 0 0 3 * \endcode * \sa move_to(T i, T j) and static_matrix_move_to_manip */ template BOOST_UBLAS_INLINE static_matrix_move_to_manip move_to() { return static_matrix_move_to_manip(); } /** * \brief A move matrix index manipulator. * * When member function \c manip is called the manipulator's * index will be added to the referenced' index. * * \sa move(T i, T j) */ template class matrix_move_manip: public index_manipulator > { public: BOOST_UBLAS_INLINE matrix_move_manip(T k, T l): i(k), j(l) { } template BOOST_UBLAS_INLINE void manip(V &k, K &l) const { k+=i; l+=j; } private: T i, j; }; /** * \brief An object generator that returns a move matrix index manipulator * * \tparam size type * \param i The number of rows the manipulator will traverse the index when "manip" * member function is called * \param j The number of columns the manipulator will traverse the index when "manip" * member function is called * \return A move matrix manipulator * * Example: * \code: * matrix A(3, 3, 0); * A <<= 1, 2, move(1,0), * 3,; * \endcode * will result in: * \code * 1 2 0 * 0 0 3 * 0 0 0 * \endcode */ template BOOST_UBLAS_INLINE matrix_move_manip move(T i, T j) { return matrix_move_manip(i, j); } /** * \brief A static move matrix index manipulator. * * When member function traverse is called the manipulator's * index will be added to the referenced' index. * * \sa move() * * \todo Doxygen has some problems with similar template functions. Correct that. */ template class static_matrix_move_manip: public index_manipulator > { public: template BOOST_UBLAS_INLINE void manip(V &k, K &l) const { k+=I; l+=J; } }; /** * \brief An object generator that returns a static "move" matrix index manipulator. * * Typically faster than the dynamic version, but can be used only when the * values are known at compile time. Negative values can be used. * \tparam I The number of rows the manipulator will trasverse the matrix assigner index. * \tparam J The number of columns the manipulator will trasverse the matrix assigner index. * \tparam size type * \return A static move matrix manipulator * * Example: * \code: * matrix A(3, 3, 0); * A <<= 1, 2, move<1,0>(), * 3,; * \endcode * will result in: * \code * 1 2 0 * 0 0 3 * 0 0 0 * \endcode * * \sa move_to() * * \todo Doxygen has some problems with similar template functions. Correct that. */ template BOOST_UBLAS_INLINE static_matrix_move_manip move() { return static_matrix_move_manip(); } /** * \brief A begining of row manipulator * * When member function \c manip is called the referenced * index will be be set to the begining of the row (i.e. column = 0) * * \sa begin1() */ class begin1_manip: public index_manipulator { public: template BOOST_UBLAS_INLINE void manip(V & k, K &/*l*/) const { k=0; } }; /** * \brief An object generator that returns a begin1 manipulator. * * The resulted manipulator will traverse the index to the begining * of the current column when its' \c manip member function is called. * * \return A begin1 matrix index manipulator * * Example usage: * \code: * matrix A(3, 3, 0); * A <<= 1, 2, next_row(), * 3, 4, begin1(), 1; * \endcode * will result in: * \code * 1 2 1 * 3 4 0 * 0 0 0 * \endcode * \sa begin2() */ inline begin1_manip begin1() { return begin1_manip(); } /** * \brief A begining of column manipulator * * When member function \c manip is called the referenced * index will be be set to the begining of the column (i.e. row = 0). * * * \sa begin2() */ class begin2_manip: public index_manipulator { public: template BOOST_UBLAS_INLINE void manip(V &/*k*/, K &l) const { l=0; } }; /** * \brief An object generator that returns a begin2 manipulator to be used to traverse a matrix. * * The resulted manipulator will traverse the index to the begining * of the current row when its' \c manip member function is called. * * \return A begin2 matrix manipulator * * Example: * \code: * matrix A(3, 3, 0); * A <<= 1, 2, move<1,0>(), * 3, begin2(), 1; * \endcode * will result in: * \code * 1 2 0 * 1 0 3 * 0 0 0 * \endcode * \sa begin1() begin2_manip */ inline begin2_manip begin2() { return begin2_manip(); } /** * \brief A next row matrix manipulator. * * When member function traverse is called the referenced * index will be traveresed to the begining of next row. * * \sa next_row() */ class next_row_manip: public index_manipulator { public: template BOOST_UBLAS_INLINE void manip(V &k, K &l) const { k++; l=0; } }; /** * \brief An object generator that returns a next_row manipulator. * * The resulted manipulator will traverse the index to the begining * of the next row when it's manip member function is called. * * \return A next_row matrix manipulator. * * Example: * \code: * matrix A(3, 3, 0); * A <<= 1, 2, next_row(), * 3, 4; * \endcode * will result in: * \code * 1 2 0 * 3 4 0 * 0 0 0 * \endcode * \sa next_column() */ inline next_row_manip next_row() { return next_row_manip(); } /** * \brief A next column matrix manipulator. * * When member function traverse is called the referenced * index will be traveresed to the begining of next column. * * \sa next_column() */ class next_column_manip: public index_manipulator { public: template BOOST_UBLAS_INLINE void manip(V &k, K &l) const { k=0; l++; } }; /** * \brief An object generator that returns a next_row manipulator. * * The resulted manipulator will traverse the index to the begining * of the next column when it's manip member function is called. * * \return A next_column matrix manipulator. * * Example: * \code: * matrix A(3, 3, 0); * A <<= 1, 2, 0, * 3, next_column(), 4; * \endcode * will result in: * \code * 1 2 4 * 3 0 0 * 0 0 0 * \endcode * */ inline next_column_manip next_column() { return next_column_manip(); } /** * \brief A wrapper for fill policy classes * */ template class fill_policy_wrapper { public: typedef T type; }; // Collection of the fill policies namespace fill_policy { /** * \brief An index assign policy * * This policy is used to for the simplified ublas assign through * normal indexing. * * */ class index_assign :public fill_policy_wrapper { public: template BOOST_UBLAS_INLINE static void apply(T &e, const S &i, const V &v) { e()(i) = v; } template BOOST_UBLAS_INLINE static void apply(T &e, const S &i, const S &j, const V &v) { e()(i, j) = v; } }; /** * \brief An index plus assign policy * * This policy is used when the assignment is desired to be followed * by an addition. * * */ class index_plus_assign :public fill_policy_wrapper { public: template BOOST_UBLAS_INLINE static void apply(T &e, const S &i, const V &v) { e()(i) += v; } template BOOST_UBLAS_INLINE static void apply(T &e, const S &i, const S &j, const V &v) { e()(i, j) += v; } }; /** * \brief An index minus assign policy * * This policy is used when the assignment is desired to be followed * by a substraction. * * */ class index_minus_assign :public fill_policy_wrapper { public: template BOOST_UBLAS_INLINE static void apply(T &e, const S &i, const V &v) { e()(i) -= v; } template BOOST_UBLAS_INLINE static void apply(T &e, const S &i, const S &j, const V &v) { e()(i, j) -= v; } }; /** * \brief The sparse push_back fill policy. * * This policy is adequate for sparse types, when fast filling is required, where indexing * assign is pretty slow. * It is important to note that push_back assign cannot be used to add elements before elements * already existing in a sparse container. To achieve that please use the sparse_insert fill policy. */ class sparse_push_back :public fill_policy_wrapper { public: template BOOST_UBLAS_INLINE static void apply(T &e, const S &i, const V &v) { e().push_back(i, v); } template BOOST_UBLAS_INLINE static void apply(T &e, const S &i, const S &j, const V &v) { e().push_back(i,j, v); } }; /** * \brief The sparse insert fill policy. * * This policy is adequate for sparse types, when fast filling is required, where indexing * assign is pretty slow. It is slower than sparse_push_back fill policy, but it can be used to * insert elements anywhere inside the container. */ class sparse_insert :public fill_policy_wrapper { public: template BOOST_UBLAS_INLINE static void apply(T &e, const S &i, const V &v) { e().insert_element(i, v); } template BOOST_UBLAS_INLINE static void apply(T &e, const S &i, const S &j, const V &v) { e().insert_element(i,j, v); } }; } /** \brief A wrapper for traverse policy classes * */ template class traverse_policy_wrapper { public: typedef T type; }; // Collection of the traverse policies namespace traverse_policy { /** * \brief The no wrap policy. * * The no wrap policy does not allow wrapping when assigning to a matrix */ struct no_wrap { /** * \brief Element wrap method */ template BOOST_UBLAS_INLINE static void apply1(const S1 &/*s*/, S2 &/*i*/, S3 &/*j*/) { } /** * \brief Matrix block wrap method */ template BOOST_UBLAS_INLINE static void apply2(const S1 &/*s1*/, const S1 &/*s2*/, S2 &/*i1*/, S3 &/*i2*/) { } }; /** * \brief The wrap policy. * * The wrap policy enables element wrapping when assigning to a matrix */ struct wrap { /** * \brief Element wrap method */ template BOOST_UBLAS_INLINE static void apply1(const S1 &s, S2 &i1, S3 &i2) { if (i2>=s) { i1++; i2=0; } } /** * \brief Matrix block wrap method */ template BOOST_UBLAS_INLINE static void apply2(const S1 &s1, const S1 &s2, S2 &i1, S3 &i2) { if (i2>=s2) i2=0; // Wrap to the next block else i1-=s1; // Move up (or right) one block } }; /** * \brief The row_by_row traverse policy * * This policy is used when the assignment is desired to happen * row_major wise for performance or other reasons. * * This is the default behaviour. To change it globally please define BOOST_UBLAS_DEFAULT_ASSIGN_BY_COLUMN * in the compilation options or in an adequate header file. * * Please see EXAMPLES_LINK for usage information. * * \todo Add examples link */ template class by_row_policy :public traverse_policy_wrapper > { public: template BOOST_UBLAS_INLINE static void advance(S1 &/*i*/, S2 &j) { j++;} template BOOST_UBLAS_INLINE static bool next(const E1 &e, const E2 &me, S1 &i, S2 &j, const S3 &/*i0*/, const S3 &j0, S4 &k, S5 &l) { l++; j++; if (l>=e().size2()) { l=0; k++; j=j0; i++; // It is assumed that the iteration starts from 0 and progresses only using this function from within // an assigner object. // Otherwise (i.e. if it is called outside the assigner object) apply2 should have been // outside the if statement. if (k>=e().size1()) { j=j0+e().size2(); Wrap::apply2(e().size1(), me().size2(), i, j); return false; } } return true; } template BOOST_UBLAS_INLINE static void apply_wrap(const E& e, S1 &i, S2 &j) { Wrap::apply1(e().size2(), i, j); } }; /** * \brief The column_by_column traverse policy * * This policy is used when the assignment is desired to happen * column_major wise, for performance or other reasons. * * This is the NOT the default behaviour. To set this as the default define BOOST_UBLAS_DEFAULT_ASSIGN_BY_COLUMN * in the compilation options or in an adequate header file. * * Please see EXAMPLES_LINK for usage information. * * \todo Add examples link */ template class by_column_policy :public traverse_policy_wrapper > { public: template BOOST_UBLAS_INLINE static void advance(S1 &i, S2 &/*j*/) { i++;} template BOOST_UBLAS_INLINE static bool next(const E1 &e, const E2 &me, S1 &i, S2 &j, const S3 &i0, const S3 &/*j0*/, S4 &k, S5 &l) { k++; i++; if (k>=e().size1()) { k=0; l++; i=i0; j++; // It is assumed that the iteration starts from 0 and progresses only using this function from within // an assigner object. // Otherwise (i.e. if it is called outside the assigner object) apply2 should have been // outside the if statement. if (l>=e().size2()) { i=i0+e().size1(); Wrap::apply2(e().size2(), me().size1(), j, i); return false; } } return true; } template BOOST_UBLAS_INLINE static void apply_wrap(const E& e, S1 &i, S2 &j) { Wrap::apply1(e().size1(), j, i); } }; } #ifndef BOOST_UBLAS_DEFAULT_NO_WRAP_POLICY typedef traverse_policy::wrap DEFAULT_WRAP_POLICY; #else typedef traverse_policy::no_wrap DEFAULT_WRAP_POLICY; #endif #ifndef BOOST_UBLAS_DEFAULT_ASSIGN_BY_COLUMN typedef traverse_policy::by_row_policy DEFAULT_TRAVERSE_POLICY; #else typedef traverse_policy::by_column DEFAULT_TRAVERSE_POLICY; #endif // Traverse policy namespace namespace traverse_policy { inline by_row_policy by_row() { return by_row_policy(); } inline by_row_policy by_row_wrap() { return by_row_policy(); } inline by_row_policy by_row_no_wrap() { return by_row_policy(); } inline by_column_policy by_column() { return by_column_policy(); } inline by_column_policy by_column_wrap() { return by_column_policy(); } inline by_column_policy by_column_no_wrap() { return by_column_policy(); } } /** * \brief An assigner object used to fill a vector using operator <<= and operator, (comma) * * This object is meant to be created by appropriate object generators. * Please see EXAMPLES_LINK for usage information. * * \todo Add examples link */ template class vector_expression_assigner { public: typedef typename E::expression_type::value_type value_type; typedef typename E::expression_type::size_type size_type; BOOST_UBLAS_INLINE vector_expression_assigner(E &e):ve(e), i(0) { } BOOST_UBLAS_INLINE vector_expression_assigner(size_type k, E &e):ve(e), i(k) { // Overloaded like that so it can be differentiated from (E, val). // Otherwise there would be an ambiquity when value_type == size_type. } BOOST_UBLAS_INLINE vector_expression_assigner(E &e, value_type val):ve(e), i(0) { operator,(val); } template BOOST_UBLAS_INLINE vector_expression_assigner(E &e, const vector_expression &nve):ve(e), i(0) { operator,(nve); } template BOOST_UBLAS_INLINE vector_expression_assigner(E &e, const index_manipulator &ta):ve(e), i(0) { operator,(ta); } BOOST_UBLAS_INLINE vector_expression_assigner &operator, (const value_type& val) { apply(val); return *this; } template BOOST_UBLAS_INLINE vector_expression_assigner &operator, (const vector_expression &nve) { for (typename AE::size_type k = 0; k!= nve().size(); k++) operator,(nve()(k)); return *this; } template BOOST_UBLAS_INLINE vector_expression_assigner &operator, (const index_manipulator &ta) { ta().manip(i); return *this; } template BOOST_UBLAS_INLINE vector_expression_assigner operator, (fill_policy_wrapper) const { return vector_expression_assigner(i, ve); } private: BOOST_UBLAS_INLINE vector_expression_assigner &apply(const typename E::expression_type::value_type& val) { Fill_Policy::apply(ve, i++, val); return *this; } private: E &ve; size_type i; }; /* // The following static assigner is about 30% slower than the dynamic one, probably due to the recursive creation of assigner objects. // It remains commented here for future reference. template class static_vector_expression_assigner { public: typedef typename E::expression_type::value_type value_type; typedef typename E::expression_type::size_type size_type; BOOST_UBLAS_INLINE static_vector_expression_assigner(E &e):ve(e) { } BOOST_UBLAS_INLINE static_vector_expression_assigner(E &e, value_type val):ve(e) { operator,(val); } BOOST_UBLAS_INLINE static_vector_expression_assigner operator, (const value_type& val) { return apply(val); } private: BOOST_UBLAS_INLINE static_vector_expression_assigner apply(const typename E::expression_type::value_type& val) { ve()(I)=val; return static_vector_expression_assigner(ve); } private: E &ve; }; template BOOST_UBLAS_INLINE static_vector_expression_assigner, 1 > test_static(vector_expression &v, const typename E::value_type &val) { v()(0)=val; return static_vector_expression_assigner, 1 >(v); } */ /** * \brief A vector_expression_assigner generator used with operator<<= for simple types * * Please see EXAMPLES_LINK for usage information. * * \todo Add examples link */ template BOOST_UBLAS_INLINE vector_expression_assigner > operator<<=(vector_expression &v, const typename E::value_type &val) { return vector_expression_assigner >(v,val); } /** * \brief ! A vector_expression_assigner generator used with operator<<= for vector expressions * * Please see EXAMPLES_LINK for usage information. * * \todo Add examples link */ template BOOST_UBLAS_INLINE vector_expression_assigner > operator<<=(vector_expression &v, const vector_expression &ve) { return vector_expression_assigner >(v,ve); } /** * \brief A vector_expression_assigner generator used with operator<<= for traverse manipulators * * Please see EXAMPLES_LINK for usage information. * * \todo Add examples link */ template BOOST_UBLAS_INLINE vector_expression_assigner > operator<<=(vector_expression &v, const index_manipulator &nv) { return vector_expression_assigner >(v,nv); } /** * \brief A vector_expression_assigner generator used with operator<<= for choice of fill policy * * Please see EXAMPLES_LINK for usage information. * * \todo Add examples link */ template BOOST_UBLAS_INLINE vector_expression_assigner, T> operator<<=(vector_expression &v, fill_policy_wrapper) { return vector_expression_assigner, T>(v); } /** * \brief An assigner object used to fill a vector using operator <<= and operator, (comma) * * This object is meant to be created by appropriate object generators. * Please see EXAMPLES_LINK for usage information. * * \todo Add examples link */ template class matrix_expression_assigner { public: typedef typename E::expression_type::size_type size_type; BOOST_UBLAS_INLINE matrix_expression_assigner(E &e): me(e), i(0), j(0) { } BOOST_UBLAS_INLINE matrix_expression_assigner(E &e, size_type k, size_type l): me(e), i(k), j(l) { } BOOST_UBLAS_INLINE matrix_expression_assigner(E &e, typename E::expression_type::value_type val): me(e), i(0), j(0) { operator,(val); } template BOOST_UBLAS_INLINE matrix_expression_assigner(E &e, const vector_expression &nve):me(e), i(0), j(0) { operator,(nve); } template BOOST_UBLAS_INLINE matrix_expression_assigner(E &e, const matrix_expression &nme):me(e), i(0), j(0) { operator,(nme); } template BOOST_UBLAS_INLINE matrix_expression_assigner(E &e, const index_manipulator &ta):me(e), i(0), j(0) { operator,(ta); } BOOST_UBLAS_INLINE matrix_expression_assigner &operator, (const typename E::expression_type::value_type& val) { Traverse_Policy::apply_wrap(me, i ,j); return apply(val); } template BOOST_UBLAS_INLINE matrix_expression_assigner &operator, (const vector_expression &nve) { for (typename AE::size_type k = 0; k!= nve().size(); k++) { operator,(nve()(k)); } return *this; } template BOOST_UBLAS_INLINE matrix_expression_assigner &operator, (const matrix_expression &nme) { return apply(nme); } template BOOST_UBLAS_INLINE matrix_expression_assigner &operator, (const index_manipulator &ta) { ta().manip(i, j); return *this; } template BOOST_UBLAS_INLINE matrix_expression_assigner operator, (fill_policy_wrapper) const { return matrix_expression_assigner(me, i, j); } template BOOST_UBLAS_INLINE matrix_expression_assigner operator, (traverse_policy_wrapper) { Traverse_Policy::apply_wrap(me, i ,j); return matrix_expression_assigner(me, i, j); } private: BOOST_UBLAS_INLINE matrix_expression_assigner &apply(const typename E::expression_type::value_type& val) { Fill_Policy::apply(me, i, j, val); Traverse_Policy::advance(i,j); return *this; } template BOOST_UBLAS_INLINE matrix_expression_assigner &apply(const matrix_expression &nme) { size_type bi = i; size_type bj = j; typename AE::size_type k=0, l=0; Fill_Policy::apply(me, i, j, nme()(k, l)); while (Traverse_Policy::next(nme, me, i, j, bi, bj, k, l)) Fill_Policy::apply(me, i, j, nme()(k, l)); return *this; } private: E &me; size_type i, j; }; /** * \brief A matrix_expression_assigner generator used with operator<<= for simple types * * Please see EXAMPLES_LINK for usage information. * * \todo Add examples link */ template BOOST_UBLAS_INLINE matrix_expression_assigner > operator<<=(matrix_expression &me, const typename E::value_type &val) { return matrix_expression_assigner >(me,val); } /** * \brief A matrix_expression_assigner generator used with operator<<= for choice of fill policy * * Please see EXAMPLES_LINK for usage information. * * \todo Add examples link */ template BOOST_UBLAS_INLINE matrix_expression_assigner, T> operator<<=(matrix_expression &me, fill_policy_wrapper) { return matrix_expression_assigner, T>(me); } /** * \brief A matrix_expression_assigner generator used with operator<<= for traverse manipulators * * Please see EXAMPLES_LINK for usage information. * * \todo Add examples link */ template BOOST_UBLAS_INLINE matrix_expression_assigner > operator<<=(matrix_expression &me, const index_manipulator &ta) { return matrix_expression_assigner >(me,ta); } /** * \brief A matrix_expression_assigner generator used with operator<<= for traverse manipulators * * Please see EXAMPLES_LINK for usage information. * * \todo Add examples link */ template BOOST_UBLAS_INLINE matrix_expression_assigner, fill_policy::index_assign, T> operator<<=(matrix_expression &me, traverse_policy_wrapper) { return matrix_expression_assigner, fill_policy::index_assign, T>(me); } /** * \brief A matrix_expression_assigner generator used with operator<<= for vector expressions * * Please see EXAMPLES_LINK for usage information. * * \todo Add examples link */ template BOOST_UBLAS_INLINE matrix_expression_assigner > operator<<=(matrix_expression &me, const vector_expression &ve) { return matrix_expression_assigner >(me,ve); } /** * \brief A matrix_expression_assigner generator used with operator<<= for matrix expressions * * Please see EXAMPLES_LINK for usage information. * * \todo Add examples link */ template BOOST_UBLAS_INLINE matrix_expression_assigner > operator<<=(matrix_expression &me1, const matrix_expression &me2) { return matrix_expression_assigner >(me1,me2); } } } } #endif // ASSIGNMENT_HPP KWStyle-master/Utilities/boost/numeric/ublas/banded.hpp000066400000000000000000002514771265471724600235460ustar00rootroot00000000000000// // Copyright (c) 2000-2013 // Joerg Walter, Mathias Koch, Athanasios Iliopoulos // // Distributed under the 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 authors gratefully acknowledge the support of // GeNeSys mbH & Co. KG in producing this work. // #ifndef _BOOST_UBLAS_BANDED_ #define _BOOST_UBLAS_BANDED_ #include #include // Iterators based on ideas of Jeremy Siek namespace boost { namespace numeric { namespace ublas { namespace hidden { /** \brief A helper for band_matrix indexing. * * The indexing happens as per the netlib description: http://www.netlib.org/lapack/lug/node124.html. * In the case of a row_major matrix a different approach is followed; */ template class banded_indexing { }; /** \brief A helper for indexing column major banded matrices. * */ template <> class banded_indexing { public: template BOOST_UBLAS_INLINE static T size(T /*size1*/, T size2) { return size2; } // template // BOOST_UBLAS_INLINE static bool valid_index(T size1, T /*size2*/, T lower, T upper, T i, T j) { // return (upper+i >= j) && i <= std::min(size1 - 1, j + lower); // upper + i is used by get_index. Maybe find a way to consolidate the operations to increase performance // } template BOOST_UBLAS_INLINE static T get_index(T /*size1*/, T size2, T lower, T upper, T i, T j) { return column_major::element (upper + i - j, lower + 1 + upper, j, size2); } }; /** \brief A helper for indexing row major banded matrices. * */ template <> class banded_indexing { public: template BOOST_UBLAS_INLINE static T size(T size1, T /*size2*/) { return size1; } // template // BOOST_UBLAS_INLINE static bool valid_index(T /*size1*/, T size2, T lower, T upper, T i, T j) { // return (lower+j >= i) && j <= std::min(size2 - 1, i + upper); // lower + j is used by get_index. Maybe find a way to consolidate the operations to increase performance // } template BOOST_UBLAS_INLINE static T get_index(T size1, T /*size2*/, T lower, T upper, T i, T j) { return row_major::element (i, size1, lower + j - i, lower + 1 + upper); } }; } /** \brief A banded matrix of values of type \c T. * * For a \f$(mxn)\f$-dimensional banded matrix with \f$l\f$ lower and \f$u\f$ upper diagonals and * \f$0 \leq i < m\f$ and \f$0 \leq j < n\f$, if \f$i>j+l\f$ or \f$i class banded_matrix: public matrix_container > { typedef T *pointer; typedef L layout_type; typedef banded_matrix self_type; public: #ifdef BOOST_UBLAS_ENABLE_PROXY_SHORTCUTS using matrix_container::operator (); #endif typedef typename A::size_type size_type; typedef typename A::difference_type difference_type; typedef T value_type; typedef const T &const_reference; typedef T &reference; typedef A array_type; typedef const matrix_reference const_closure_type; typedef matrix_reference closure_type; typedef vector vector_temporary_type; typedef matrix matrix_temporary_type; // general sub-matrix typedef packed_tag storage_category; typedef typename L::orientation_category orientation_category; private: public: // Construction and destruction BOOST_UBLAS_INLINE banded_matrix (): matrix_container (), size1_ (0), size2_ (0), lower_ (0), upper_ (0), data_ (0) {} BOOST_UBLAS_INLINE banded_matrix (size_type size1, size_type size2, size_type lower = 0, size_type upper = 0): matrix_container (), size1_ (size1), size2_ (size2), lower_ (lower), upper_ (upper), #if defined(BOOST_UBLAS_OWN_BANDED) || (BOOST_UBLAS_LEGACY_BANDED) data_ ((std::max) (size1, size2) * (lower + 1 + upper)) #else data_ ( hidden::banded_indexing::size(size1, size2) * (lower + 1 + upper)) // This is the netlib layout as described here: http://www.netlib.org/lapack/lug/node124.html #endif { } BOOST_UBLAS_INLINE banded_matrix (size_type size1, size_type size2, size_type lower, size_type upper, const array_type &data): matrix_container (), size1_ (size1), size2_ (size2), lower_ (lower), upper_ (upper), data_ (data) {} BOOST_UBLAS_INLINE banded_matrix (const banded_matrix &m): matrix_container (), size1_ (m.size1_), size2_ (m.size2_), lower_ (m.lower_), upper_ (m.upper_), data_ (m.data_) {} template BOOST_UBLAS_INLINE banded_matrix (const matrix_expression &ae, size_type lower = 0, size_type upper = 0): matrix_container (), size1_ (ae ().size1 ()), size2_ (ae ().size2 ()), lower_ (lower), upper_ (upper), #if defined(BOOST_UBLAS_OWN_BANDED) || (BOOST_UBLAS_LEGACY_BANDED) data_ ((std::max) (size1_, size2_) * (lower_ + 1 + upper_)) #else data_ ( hidden::banded_indexing::size(size1_, size2_) * (lower_ + 1 + upper_)) // This is the netlib layout as described here: http://www.netlib.org/lapack/lug/node124.html #endif { matrix_assign (*this, ae); } // Accessors BOOST_UBLAS_INLINE size_type size1 () const { return size1_; } BOOST_UBLAS_INLINE size_type size2 () const { return size2_; } BOOST_UBLAS_INLINE size_type lower () const { return lower_; } BOOST_UBLAS_INLINE size_type upper () const { return upper_; } // Storage accessors BOOST_UBLAS_INLINE const array_type &data () const { return data_; } BOOST_UBLAS_INLINE array_type &data () { return data_; } #if !defined (BOOST_UBLAS_OWN_BANDED)||(BOOST_UBLAS_LEGACY_BANDED) BOOST_UBLAS_INLINE bool is_element_in_band(size_type i, size_type j) const{ //return (upper_+i >= j) && i <= std::min(size1() - 1, j + lower_); // We don't need to check if i is outside because it is checked anyway in the accessors. return (upper_+i >= j) && i <= ( j + lower_); // Essentially this band has "infinite" positive dimensions } #endif // Resizing BOOST_UBLAS_INLINE void resize (size_type size1, size_type size2, size_type lower = 0, size_type upper = 0, bool preserve = true) { if (preserve) { self_type temporary (size1, size2, lower, upper); detail::matrix_resize_preserve (*this, temporary); } else { data ().resize ((std::max) (size1, size2) * (lower + 1 + upper)); size1_ = size1; size2_ = size2; lower_ = lower; upper_ = upper; } } BOOST_UBLAS_INLINE void resize_packed_preserve (size_type size1, size_type size2, size_type lower = 0, size_type upper = 0) { size1_ = size1; size2_ = size2; lower_ = lower; upper_ = upper; data ().resize ((std::max) (size1, size2) * (lower + 1 + upper), value_type ()); } // Element access BOOST_UBLAS_INLINE const_reference operator () (size_type i, size_type j) const { BOOST_UBLAS_CHECK (i < size1_, bad_index ()); BOOST_UBLAS_CHECK (j < size2_, bad_index ()); #ifdef BOOST_UBLAS_OWN_BANDED const size_type k = (std::max) (i, j); const size_type l = lower_ + j - i; if (k < (std::max) (size1_, size2_) && // TODO: probably use BOOST_UBLAS_CHECK here instead of if l < lower_ + 1 + upper_) return data () [layout_type::element (k, (std::max) (size1_, size2_), l, lower_ + 1 + upper_)]; #elif BOOST_UBLAS_LEGACY_BANDED // Prior to version: TODO: add version this is actually incorporated in const size_type k = j; const size_type l = upper_ + i - j; if (k < size2_ && l < lower_ + 1 + upper_) return data () [layout_type::element (k, size2_, l, lower_ + 1 + upper_)]; #else // New default // This is the netlib layout as described here: http://www.netlib.org/lapack/lug/node124.html if ( is_element_in_band( i, j) ) { return data () [hidden::banded_indexing::get_index(size1_, size2_, lower_, upper_, i, j)]; } #endif return zero_; } BOOST_UBLAS_INLINE reference at_element (size_type i, size_type j) { BOOST_UBLAS_CHECK (i < size1_, bad_index ()); BOOST_UBLAS_CHECK (j < size2_, bad_index ()); #ifdef BOOST_UBLAS_OWN_BANDED const size_type k = (std::max) (i, j); const size_type l = lower_ + j - i; // TODO: Don't we need an if or BOOST_UBLAS_CHECK HERE? return data () [layout_type::element (k, (std::max) (size1_, size2_), l, lower_ + 1 + upper_)]; #elif BOOST_UBLAS_LEGACY_BANDED // Prior to version: TODO: add version this is actually incorporated in const size_type k = j; const size_type l = upper_ + i - j; if (! (k < size2_ && l < lower_ + 1 + upper_) ) { bad_index ().raise (); // NEVER reached } return data () [layout_type::element (k, size2_, l, lower_ + 1 + upper_)]; #else // This is the netlib layout as described here: http://www.netlib.org/lapack/lug/node124.html BOOST_UBLAS_CHECK(is_element_in_band( i, j) , bad_index()); return data () [hidden::banded_indexing::get_index(size1_, size2_, lower_, upper_, i, j)]; #endif } BOOST_UBLAS_INLINE reference operator () (size_type i, size_type j) { BOOST_UBLAS_CHECK (i < size1_, bad_index ()); BOOST_UBLAS_CHECK (j < size2_, bad_index ()); #ifdef BOOST_UBLAS_OWN_BANDED const size_type k = (std::max) (i, j); const size_type l = lower_ + j - i; if (! (k < (std::max) (size1_, size2_) && // TODO: probably use BOOST_UBLAS_CHECK here instead of if l < lower_ + 1 + upper_) ) { bad_index ().raise (); // NEVER reached } return data () [layout_type::element (k, (std::max) (size1_, size2_), l, lower_ + 1 + upper_)]; #elif BOOST_UBLAS_LEGACY_BANDED // Prior to version: TODO: add version this is actually incorporated in const size_type k = j; const size_type l = upper_ + i - j; if (! (k < size2_ && l < lower_ + 1 + upper_) ) { bad_index ().raise (); // NEVER reached } return data () [layout_type::element (k, size2_, l, lower_ + 1 + upper_)]; #else // This is the netlib layout as described here: http://www.netlib.org/lapack/lug/node124.html BOOST_UBLAS_CHECK( is_element_in_band( i, j) , bad_index()); return data () [hidden::banded_indexing::get_index(size1_, size2_, lower_, upper_, i, j)]; #endif } // Element assignment BOOST_UBLAS_INLINE reference insert_element (size_type i, size_type j, const_reference t) { return (operator () (i, j) = t); } BOOST_UBLAS_INLINE void erase_element (size_type i, size_type j) { operator () (i, j) = value_type/*zero*/(); } // Zeroing BOOST_UBLAS_INLINE void clear () { std::fill (data ().begin (), data ().end (), value_type/*zero*/()); } // Assignment BOOST_UBLAS_INLINE banded_matrix &operator = (const banded_matrix &m) { size1_ = m.size1_; size2_ = m.size2_; lower_ = m.lower_; upper_ = m.upper_; data () = m.data (); return *this; } BOOST_UBLAS_INLINE banded_matrix &assign_temporary (banded_matrix &m) { swap (m); return *this; } template BOOST_UBLAS_INLINE banded_matrix &operator = (const matrix_expression &ae) { self_type temporary (ae, lower_, upper_); return assign_temporary (temporary); } template BOOST_UBLAS_INLINE banded_matrix &assign (const matrix_expression &ae) { matrix_assign (*this, ae); return *this; } template BOOST_UBLAS_INLINE banded_matrix& operator += (const matrix_expression &ae) { self_type temporary (*this + ae, lower_, upper_); return assign_temporary (temporary); } template BOOST_UBLAS_INLINE banded_matrix &plus_assign (const matrix_expression &ae) { matrix_assign (*this, ae); return *this; } template BOOST_UBLAS_INLINE banded_matrix& operator -= (const matrix_expression &ae) { self_type temporary (*this - ae, lower_, upper_); return assign_temporary (temporary); } template BOOST_UBLAS_INLINE banded_matrix &minus_assign (const matrix_expression &ae) { matrix_assign (*this, ae); return *this; } template BOOST_UBLAS_INLINE banded_matrix& operator *= (const AT &at) { matrix_assign_scalar (*this, at); return *this; } template BOOST_UBLAS_INLINE banded_matrix& operator /= (const AT &at) { matrix_assign_scalar (*this, at); return *this; } // Swapping BOOST_UBLAS_INLINE void swap (banded_matrix &m) { if (this != &m) { std::swap (size1_, m.size1_); std::swap (size2_, m.size2_); std::swap (lower_, m.lower_); std::swap (upper_, m.upper_); data ().swap (m.data ()); } } BOOST_UBLAS_INLINE friend void swap (banded_matrix &m1, banded_matrix &m2) { m1.swap (m2); } // Iterator types #ifdef BOOST_UBLAS_USE_INDEXED_ITERATOR typedef indexed_iterator1 iterator1; typedef indexed_iterator2 iterator2; typedef indexed_const_iterator1 const_iterator1; typedef indexed_const_iterator2 const_iterator2; #else class const_iterator1; class iterator1; class const_iterator2; class iterator2; #endif typedef reverse_iterator_base1 const_reverse_iterator1; typedef reverse_iterator_base1 reverse_iterator1; typedef reverse_iterator_base2 const_reverse_iterator2; typedef reverse_iterator_base2 reverse_iterator2; // Element lookup BOOST_UBLAS_INLINE const_iterator1 find1 (int rank, size_type i, size_type j) const { if (rank == 1) { size_type lower_i = (std::max) (difference_type (j - upper_), difference_type (0)); i = (std::max) (i, lower_i); size_type upper_i = (std::min) (j + 1 + lower_, size1_); i = (std::min) (i, upper_i); } return const_iterator1 (*this, i, j); } BOOST_UBLAS_INLINE iterator1 find1 (int rank, size_type i, size_type j) { if (rank == 1) { size_type lower_i = (std::max) (difference_type (j - upper_), difference_type (0)); i = (std::max) (i, lower_i); size_type upper_i = (std::min) (j + 1 + lower_, size1_); i = (std::min) (i, upper_i); } return iterator1 (*this, i, j); } BOOST_UBLAS_INLINE const_iterator2 find2 (int rank, size_type i, size_type j) const { if (rank == 1) { size_type lower_j = (std::max) (difference_type (i - lower_), difference_type (0)); j = (std::max) (j, lower_j); size_type upper_j = (std::min) (i + 1 + upper_, size2_); j = (std::min) (j, upper_j); } return const_iterator2 (*this, i, j); } BOOST_UBLAS_INLINE iterator2 find2 (int rank, size_type i, size_type j) { if (rank == 1) { size_type lower_j = (std::max) (difference_type (i - lower_), difference_type (0)); j = (std::max) (j, lower_j); size_type upper_j = (std::min) (i + 1 + upper_, size2_); j = (std::min) (j, upper_j); } return iterator2 (*this, i, j); } // Iterators simply are indices. #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator1: public container_const_reference, public random_access_iterator_base { public: typedef typename banded_matrix::value_type value_type; typedef typename banded_matrix::difference_type difference_type; typedef typename banded_matrix::const_reference reference; typedef const typename banded_matrix::pointer pointer; typedef const_iterator2 dual_iterator_type; typedef const_reverse_iterator2 dual_reverse_iterator_type; // Construction and destruction BOOST_UBLAS_INLINE const_iterator1 (): container_const_reference (), it1_ (), it2_ () {} BOOST_UBLAS_INLINE const_iterator1 (const self_type &m, size_type it1, size_type it2): container_const_reference (m), it1_ (it1), it2_ (it2) {} BOOST_UBLAS_INLINE const_iterator1 (const iterator1 &it): container_const_reference (it ()), it1_ (it.it1_), it2_ (it.it2_) {} // Arithmetic BOOST_UBLAS_INLINE const_iterator1 &operator ++ () { ++ it1_; return *this; } BOOST_UBLAS_INLINE const_iterator1 &operator -- () { -- it1_; return *this; } BOOST_UBLAS_INLINE const_iterator1 &operator += (difference_type n) { it1_ += n; return *this; } BOOST_UBLAS_INLINE const_iterator1 &operator -= (difference_type n) { it1_ -= n; return *this; } BOOST_UBLAS_INLINE difference_type operator - (const const_iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it2_ == it.it2_, external_logic ()); return it1_ - it.it1_; } // Dereference BOOST_UBLAS_INLINE const_reference operator * () const { return (*this) () (it1_, it2_); } BOOST_UBLAS_INLINE const_reference operator [] (difference_type n) const { return *(*this + n); } #ifndef BOOST_UBLAS_NO_NESTED_CLASS_RELATION BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_iterator2 begin () const { return (*this) ().find2 (1, it1_, 0); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_iterator2 cbegin () const { return begin (); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_iterator2 end () const { return (*this) ().find2 (1, it1_, (*this) ().size2 ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_iterator2 cend () const { return end (); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_reverse_iterator2 rbegin () const { return const_reverse_iterator2 (end ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_reverse_iterator2 crbegin () const { return rbegin (); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_reverse_iterator2 rend () const { return const_reverse_iterator2 (begin ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_reverse_iterator2 crend () const { return rend (); } #endif // Indices BOOST_UBLAS_INLINE size_type index1 () const { return it1_; } BOOST_UBLAS_INLINE size_type index2 () const { return it2_; } // Assignment BOOST_UBLAS_INLINE const_iterator1 &operator = (const const_iterator1 &it) { container_const_reference::assign (&it ()); it1_ = it.it1_; it2_ = it.it2_; return *this; } // Comparison BOOST_UBLAS_INLINE bool operator == (const const_iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it2_ == it.it2_, external_logic ()); return it1_ == it.it1_; } BOOST_UBLAS_INLINE bool operator < (const const_iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it2_ == it.it2_, external_logic ()); return it1_ < it.it1_; } private: size_type it1_; size_type it2_; }; #endif BOOST_UBLAS_INLINE const_iterator1 begin1 () const { return find1 (0, 0, 0); } BOOST_UBLAS_INLINE const_iterator1 cbegin1 () const { return begin1 (); } BOOST_UBLAS_INLINE const_iterator1 end1 () const { return find1 (0, size1_, 0); } BOOST_UBLAS_INLINE const_iterator1 cend1 () const { return end1 (); } #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator1: public container_reference, public random_access_iterator_base { public: typedef typename banded_matrix::value_type value_type; typedef typename banded_matrix::difference_type difference_type; typedef typename banded_matrix::reference reference; typedef typename banded_matrix::pointer pointer; typedef iterator2 dual_iterator_type; typedef reverse_iterator2 dual_reverse_iterator_type; // Construction and destruction BOOST_UBLAS_INLINE iterator1 (): container_reference (), it1_ (), it2_ () {} BOOST_UBLAS_INLINE iterator1 (self_type &m, size_type it1, size_type it2): container_reference (m), it1_ (it1), it2_ (it2) {} // Arithmetic BOOST_UBLAS_INLINE iterator1 &operator ++ () { ++ it1_; return *this; } BOOST_UBLAS_INLINE iterator1 &operator -- () { -- it1_; return *this; } BOOST_UBLAS_INLINE iterator1 &operator += (difference_type n) { it1_ += n; return *this; } BOOST_UBLAS_INLINE iterator1 &operator -= (difference_type n) { it1_ -= n; return *this; } BOOST_UBLAS_INLINE difference_type operator - (const iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it2_ == it.it2_, external_logic ()); return it1_ - it.it1_; } // Dereference BOOST_UBLAS_INLINE reference operator * () const { return (*this) ().at_element (it1_, it2_); } BOOST_UBLAS_INLINE reference operator [] (difference_type n) const { return *(*this + n); } #ifndef BOOST_UBLAS_NO_NESTED_CLASS_RELATION BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif iterator2 begin () const { return (*this) ().find2 (1, it1_, 0); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif iterator2 end () const { return (*this) ().find2 (1, it1_, (*this) ().size2 ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif reverse_iterator2 rbegin () const { return reverse_iterator2 (end ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif reverse_iterator2 rend () const { return reverse_iterator2 (begin ()); } #endif // Indices BOOST_UBLAS_INLINE size_type index1 () const { return it1_; } BOOST_UBLAS_INLINE size_type index2 () const { return it2_; } // Assignment BOOST_UBLAS_INLINE iterator1 &operator = (const iterator1 &it) { container_reference::assign (&it ()); it1_ = it.it1_; it2_ = it.it2_; return *this; } // Comparison BOOST_UBLAS_INLINE bool operator == (const iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it2_ == it.it2_, external_logic ()); return it1_ == it.it1_; } BOOST_UBLAS_INLINE bool operator < (const iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it2_ == it.it2_, external_logic ()); return it1_ < it.it1_; } private: size_type it1_; size_type it2_; friend class const_iterator1; }; #endif BOOST_UBLAS_INLINE iterator1 begin1 () { return find1 (0, 0, 0); } BOOST_UBLAS_INLINE iterator1 end1 () { return find1 (0, size1_, 0); } #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator2: public container_const_reference, public random_access_iterator_base { public: typedef typename banded_matrix::value_type value_type; typedef typename banded_matrix::difference_type difference_type; typedef typename banded_matrix::const_reference reference; typedef const typename banded_matrix::pointer pointer; typedef const_iterator1 dual_iterator_type; typedef const_reverse_iterator1 dual_reverse_iterator_type; // Construction and destruction BOOST_UBLAS_INLINE const_iterator2 (): container_const_reference (), it1_ (), it2_ () {} BOOST_UBLAS_INLINE const_iterator2 (const self_type &m, size_type it1, size_type it2): container_const_reference (m), it1_ (it1), it2_ (it2) {} BOOST_UBLAS_INLINE const_iterator2 (const iterator2 &it): container_const_reference (it ()), it1_ (it.it1_), it2_ (it.it2_) {} // Arithmetic BOOST_UBLAS_INLINE const_iterator2 &operator ++ () { ++ it2_; return *this; } BOOST_UBLAS_INLINE const_iterator2 &operator -- () { -- it2_; return *this; } BOOST_UBLAS_INLINE const_iterator2 &operator += (difference_type n) { it2_ += n; return *this; } BOOST_UBLAS_INLINE const_iterator2 &operator -= (difference_type n) { it2_ -= n; return *this; } BOOST_UBLAS_INLINE difference_type operator - (const const_iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it1_ == it.it1_, external_logic ()); return it2_ - it.it2_; } // Dereference BOOST_UBLAS_INLINE const_reference operator * () const { return (*this) () (it1_, it2_); } BOOST_UBLAS_INLINE const_reference operator [] (difference_type n) const { return *(*this + n); } #ifndef BOOST_UBLAS_NO_NESTED_CLASS_RELATION BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_iterator1 begin () const { return (*this) ().find1 (1, 0, it2_); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_iterator1 cbegin () const { return begin (); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_iterator1 end () const { return (*this) ().find1 (1, (*this) ().size1 (), it2_); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_iterator1 cend () const { return end(); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_reverse_iterator1 rbegin () const { return const_reverse_iterator1 (end ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_reverse_iterator1 crbegin () const { return rbegin (); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_reverse_iterator1 rend () const { return const_reverse_iterator1 (begin ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_reverse_iterator1 crend () const { return rend (); } #endif // Indices BOOST_UBLAS_INLINE size_type index1 () const { return it1_; } BOOST_UBLAS_INLINE size_type index2 () const { return it2_; } // Assignment BOOST_UBLAS_INLINE const_iterator2 &operator = (const const_iterator2 &it) { container_const_reference::assign (&it ()); it1_ = it.it1_; it2_ = it.it2_; return *this; } // Comparison BOOST_UBLAS_INLINE bool operator == (const const_iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it1_ == it.it1_, external_logic ()); return it2_ == it.it2_; } BOOST_UBLAS_INLINE bool operator < (const const_iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it1_ == it.it1_, external_logic ()); return it2_ < it.it2_; } private: size_type it1_; size_type it2_; }; #endif BOOST_UBLAS_INLINE const_iterator2 begin2 () const { return find2 (0, 0, 0); } BOOST_UBLAS_INLINE const_iterator2 cbegin2 () const { return begin2 (); } BOOST_UBLAS_INLINE const_iterator2 end2 () const { return find2 (0, 0, size2_); } BOOST_UBLAS_INLINE const_iterator2 cend2 () const { return end2 (); } #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator2: public container_reference, public random_access_iterator_base { public: typedef typename banded_matrix::value_type value_type; typedef typename banded_matrix::difference_type difference_type; typedef typename banded_matrix::reference reference; typedef typename banded_matrix::pointer pointer; typedef iterator1 dual_iterator_type; typedef reverse_iterator1 dual_reverse_iterator_type; // Construction and destruction BOOST_UBLAS_INLINE iterator2 (): container_reference (), it1_ (), it2_ () {} BOOST_UBLAS_INLINE iterator2 (self_type &m, size_type it1, size_type it2): container_reference (m), it1_ (it1), it2_ (it2) {} // Arithmetic BOOST_UBLAS_INLINE iterator2 &operator ++ () { ++ it2_; return *this; } BOOST_UBLAS_INLINE iterator2 &operator -- () { -- it2_; return *this; } BOOST_UBLAS_INLINE iterator2 &operator += (difference_type n) { it2_ += n; return *this; } BOOST_UBLAS_INLINE iterator2 &operator -= (difference_type n) { it2_ -= n; return *this; } BOOST_UBLAS_INLINE difference_type operator - (const iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it1_ == it.it1_, external_logic ()); return it2_ - it.it2_; } // Dereference BOOST_UBLAS_INLINE reference operator * () const { return (*this) ().at_element (it1_, it2_); } BOOST_UBLAS_INLINE reference operator [] (difference_type n) const { return *(*this + n); } #ifndef BOOST_UBLAS_NO_NESTED_CLASS_RELATION BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif iterator1 begin () const { return (*this) ().find1 (1, 0, it2_); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif iterator1 end () const { return (*this) ().find1 (1, (*this) ().size1 (), it2_); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif reverse_iterator1 rbegin () const { return reverse_iterator1 (end ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif reverse_iterator1 rend () const { return reverse_iterator1 (begin ()); } #endif // Indices BOOST_UBLAS_INLINE size_type index1 () const { return it1_; } BOOST_UBLAS_INLINE size_type index2 () const { return it2_; } // Assignment BOOST_UBLAS_INLINE iterator2 &operator = (const iterator2 &it) { container_reference::assign (&it ()); it1_ = it.it1_; it2_ = it.it2_; return *this; } // Comparison BOOST_UBLAS_INLINE bool operator == (const iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it1_ == it.it1_, external_logic ()); return it2_ == it.it2_; } BOOST_UBLAS_INLINE bool operator < (const iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it1_ == it.it1_, external_logic ()); return it2_ < it.it2_; } private: size_type it1_; size_type it2_; friend class const_iterator2; }; #endif BOOST_UBLAS_INLINE iterator2 begin2 () { return find2 (0, 0, 0); } BOOST_UBLAS_INLINE iterator2 end2 () { return find2 (0, 0, size2_); } // Reverse iterators BOOST_UBLAS_INLINE const_reverse_iterator1 rbegin1 () const { return const_reverse_iterator1 (end1 ()); } BOOST_UBLAS_INLINE const_reverse_iterator1 crbegin1 () const { return rbegin1 (); } BOOST_UBLAS_INLINE const_reverse_iterator1 rend1 () const { return const_reverse_iterator1 (begin1 ()); } BOOST_UBLAS_INLINE const_reverse_iterator1 crend1 () const { return rend1 (); } BOOST_UBLAS_INLINE reverse_iterator1 rbegin1 () { return reverse_iterator1 (end1 ()); } BOOST_UBLAS_INLINE reverse_iterator1 rend1 () { return reverse_iterator1 (begin1 ()); } BOOST_UBLAS_INLINE const_reverse_iterator2 rbegin2 () const { return const_reverse_iterator2 (end2 ()); } BOOST_UBLAS_INLINE const_reverse_iterator2 crbegin2 () const { return rbegin2 (); } BOOST_UBLAS_INLINE const_reverse_iterator2 rend2 () const { return const_reverse_iterator2 (begin2 ()); } BOOST_UBLAS_INLINE const_reverse_iterator2 crend2 () const { return rend2 (); } BOOST_UBLAS_INLINE reverse_iterator2 rbegin2 () { return reverse_iterator2 (end2 ()); } BOOST_UBLAS_INLINE reverse_iterator2 rend2 () { return reverse_iterator2 (begin2 ()); } private: size_type size1_; size_type size2_; size_type lower_; size_type upper_; array_type data_; typedef const value_type const_value_type; static const_value_type zero_; }; template typename banded_matrix::const_value_type banded_matrix::zero_ = value_type/*zero*/(); /** \brief A diagonal matrix of values of type \c T, which is a specialization of a banded matrix * * For a \f$(m\times m)\f$-dimensional diagonal matrix, \f$0 \leq i < m\f$ and \f$0 \leq j < m\f$, * if \f$i\neq j\f$ then \f$b_{i,j}=0\f$. The default storage for diagonal matrices is packed. * Orientation and storage can also be specified. Default is \c row major \c unbounded_array. * * As a specialization of a banded matrix, the constructor of the diagonal matrix creates * a banded matrix with 0 upper and lower diagonals around the main diagonal and the matrix is * obviously a square matrix. Operations are optimized based on these 2 assumptions. It is * \b not required by the storage to initialize elements of the matrix. * * \tparam T the type of object stored in the matrix (like double, float, complex, etc...) * \tparam L the storage organization. It can be either \c row_major or \c column_major. Default is \c row_major * \tparam A the type of Storage array. Default is \c unbounded_array */ template class diagonal_matrix: public banded_matrix { public: typedef typename A::size_type size_type; typedef banded_matrix matrix_type; typedef A array_type; // Construction and destruction BOOST_UBLAS_INLINE diagonal_matrix (): matrix_type () {} BOOST_UBLAS_INLINE diagonal_matrix (size_type size): matrix_type (size, size) {} BOOST_UBLAS_INLINE diagonal_matrix (size_type size, const array_type& data): matrix_type (size, size, 0, 0, data) {} BOOST_UBLAS_INLINE diagonal_matrix (size_type size1, size_type size2): matrix_type (size1, size2) {} template BOOST_UBLAS_INLINE diagonal_matrix (const matrix_expression &ae): matrix_type (ae) {} BOOST_UBLAS_INLINE ~diagonal_matrix () {} // Assignment BOOST_UBLAS_INLINE diagonal_matrix &operator = (const diagonal_matrix &m) { matrix_type::operator = (m); return *this; } template BOOST_UBLAS_INLINE diagonal_matrix &operator = (const matrix_expression &ae) { matrix_type::operator = (ae); return *this; } }; /** \brief A banded matrix adaptator: convert a any matrix into a banded matrix expression * * For a \f$(m\times n)\f$-dimensional matrix, the \c banded_adaptor will provide a banded matrix * with \f$l\f$ lower and \f$u\f$ upper diagonals and \f$0 \leq i < m\f$ and \f$0 \leq j < n\f$, * if \f$i>j+l\f$ or \f$i class banded_adaptor: public matrix_expression > { typedef banded_adaptor self_type; public: #ifdef BOOST_UBLAS_ENABLE_PROXY_SHORTCUTS using matrix_expression::operator (); #endif typedef const M const_matrix_type; typedef M matrix_type; typedef typename M::size_type size_type; typedef typename M::difference_type difference_type; typedef typename M::value_type value_type; typedef typename M::const_reference const_reference; typedef typename boost::mpl::if_, typename M::const_reference, typename M::reference>::type reference; typedef typename boost::mpl::if_, typename M::const_closure_type, typename M::closure_type>::type matrix_closure_type; typedef const self_type const_closure_type; typedef self_type closure_type; // Replaced by _temporary_traits to avoid type requirements on M //typedef typename M::vector_temporary_type vector_temporary_type; //typedef typename M::matrix_temporary_type matrix_temporary_type; typedef typename storage_restrict_traits::storage_category storage_category; typedef typename M::orientation_category orientation_category; // Construction and destruction BOOST_UBLAS_INLINE banded_adaptor (matrix_type &data, size_type lower = 0, size_type upper = 0): matrix_expression (), data_ (data), lower_ (lower), upper_ (upper) {} BOOST_UBLAS_INLINE banded_adaptor (const banded_adaptor &m): matrix_expression (), data_ (m.data_), lower_ (m.lower_), upper_ (m.upper_) {} // Accessors BOOST_UBLAS_INLINE size_type size1 () const { return data_.size1 (); } BOOST_UBLAS_INLINE size_type size2 () const { return data_.size2 (); } BOOST_UBLAS_INLINE size_type lower () const { return lower_; } BOOST_UBLAS_INLINE size_type upper () const { return upper_; } // Storage accessors BOOST_UBLAS_INLINE const matrix_closure_type &data () const { return data_; } BOOST_UBLAS_INLINE matrix_closure_type &data () { return data_; } #if !defined (BOOST_UBLAS_OWN_BANDED)||(BOOST_UBLAS_LEGACY_BANDED) BOOST_UBLAS_INLINE bool is_element_in_band(size_type i, size_type j) const{ //return (upper_+i >= j) && i <= std::min(size1() - 1, j + lower_); // We don't need to check if i is outside because it is checked anyway in the accessors. return (upper_+i >= j) && i <= ( j + lower_); // Essentially this band has "infinite" positive dimensions } #endif // Element access #ifndef BOOST_UBLAS_PROXY_CONST_MEMBER BOOST_UBLAS_INLINE const_reference operator () (size_type i, size_type j) const { BOOST_UBLAS_CHECK (i < size1 (), bad_index ()); BOOST_UBLAS_CHECK (j < size2 (), bad_index ()); #ifdef BOOST_UBLAS_OWN_BANDED size_type k = (std::max) (i, j); size_type l = lower_ + j - i; if (k < (std::max) (size1 (), size2 ()) && l < lower_ + 1 + upper_) return data () (i, j); #elif BOOST_UBLAS_LEGACY_BANDED size_type k = j; size_type l = upper_ + i - j; if (k < size2 () && l < lower_ + 1 + upper_) return data () (i, j); #else if (is_element_in_band( i, j)) return data () (i, j); #endif return zero_; } BOOST_UBLAS_INLINE reference operator () (size_type i, size_type j) { BOOST_UBLAS_CHECK (i < size1 (), bad_index ()); BOOST_UBLAS_CHECK (j < size2 (), bad_index ()); #ifdef BOOST_UBLAS_OWN_BANDED size_type k = (std::max) (i, j); size_type l = lower_ + j - i; if (k < (std::max) (size1 (), size2 ()) && l < lower_ + 1 + upper_) return data () (i, j); #elif BOOST_UBLAS_LEGACY_BANDED size_type k = j; size_type l = upper_ + i - j; if (k < size2 () && l < lower_ + 1 + upper_) return data () (i, j); #else if (is_element_in_band( i, j)) return data () (i, j); #endif #ifndef BOOST_UBLAS_REFERENCE_CONST_MEMBER bad_index ().raise (); #endif return const_cast(zero_); } #else BOOST_UBLAS_INLINE reference operator () (size_type i, size_type j) const { BOOST_UBLAS_CHECK (i < size1 (), bad_index ()); BOOST_UBLAS_CHECK (j < size2 (), bad_index ()); #ifdef BOOST_UBLAS_OWN_BANDED size_type k = (std::max) (i, j); size_type l = lower_ + j - i; if (k < (std::max) (size1 (), size2 ()) && l < lower_ + 1 + upper_) return data () (i, j); #elif BOOST_UBLAS_LEGACY_BANDED size_type k = j; size_type l = upper_ + i - j; if (k < size2 () && l < lower_ + 1 + upper_) return data () (i, j); #else if (is_element_in_band( i, j)) return data () (i, j); #endif #ifndef BOOST_UBLAS_REFERENCE_CONST_MEMBER bad_index ().raise (); #endif return const_cast(zero_); } #endif // Assignment BOOST_UBLAS_INLINE banded_adaptor &operator = (const banded_adaptor &m) { matrix_assign (*this, m); return *this; } BOOST_UBLAS_INLINE banded_adaptor &assign_temporary (banded_adaptor &m) { *this = m; return *this; } template BOOST_UBLAS_INLINE banded_adaptor &operator = (const matrix_expression &ae) { matrix_assign (*this, matrix (ae)); return *this; } template BOOST_UBLAS_INLINE banded_adaptor &assign (const matrix_expression &ae) { matrix_assign (*this, ae); return *this; } template BOOST_UBLAS_INLINE banded_adaptor& operator += (const matrix_expression &ae) { matrix_assign (*this, matrix (*this + ae)); return *this; } template BOOST_UBLAS_INLINE banded_adaptor &plus_assign (const matrix_expression &ae) { matrix_assign (*this, ae); return *this; } template BOOST_UBLAS_INLINE banded_adaptor& operator -= (const matrix_expression &ae) { matrix_assign (*this, matrix (*this - ae)); return *this; } template BOOST_UBLAS_INLINE banded_adaptor &minus_assign (const matrix_expression &ae) { matrix_assign (*this, ae); return *this; } template BOOST_UBLAS_INLINE banded_adaptor& operator *= (const AT &at) { matrix_assign_scalar (*this, at); return *this; } template BOOST_UBLAS_INLINE banded_adaptor& operator /= (const AT &at) { matrix_assign_scalar (*this, at); return *this; } // Closure comparison BOOST_UBLAS_INLINE bool same_closure (const banded_adaptor &ba) const { return (*this).data ().same_closure (ba.data ()); } // Swapping BOOST_UBLAS_INLINE void swap (banded_adaptor &m) { if (this != &m) { BOOST_UBLAS_CHECK (lower_ == m.lower_, bad_size ()); BOOST_UBLAS_CHECK (upper_ == m.upper_, bad_size ()); matrix_swap (*this, m); } } BOOST_UBLAS_INLINE friend void swap (banded_adaptor &m1, banded_adaptor &m2) { m1.swap (m2); } // Iterator types private: // Use the matrix iterator typedef typename M::const_iterator1 const_subiterator1_type; typedef typename boost::mpl::if_, typename M::const_iterator1, typename M::iterator1>::type subiterator1_type; typedef typename M::const_iterator2 const_subiterator2_type; typedef typename boost::mpl::if_, typename M::const_iterator2, typename M::iterator2>::type subiterator2_type; public: #ifdef BOOST_UBLAS_USE_INDEXED_ITERATOR typedef indexed_iterator1 iterator1; typedef indexed_iterator2 iterator2; typedef indexed_const_iterator1 const_iterator1; typedef indexed_const_iterator2 const_iterator2; #else class const_iterator1; class iterator1; class const_iterator2; class iterator2; #endif typedef reverse_iterator_base1 const_reverse_iterator1; typedef reverse_iterator_base1 reverse_iterator1; typedef reverse_iterator_base2 const_reverse_iterator2; typedef reverse_iterator_base2 reverse_iterator2; // Element lookup BOOST_UBLAS_INLINE const_iterator1 find1 (int rank, size_type i, size_type j) const { if (rank == 1) { size_type lower_i = (std::max) (difference_type (j - upper_), difference_type (0)); i = (std::max) (i, lower_i); size_type upper_i = (std::min) (j + 1 + lower_, size1 ()); i = (std::min) (i, upper_i); } return const_iterator1 (*this, data ().find1 (rank, i, j)); } BOOST_UBLAS_INLINE iterator1 find1 (int rank, size_type i, size_type j) { if (rank == 1) { size_type lower_i = (std::max) (difference_type (j - upper_), difference_type (0)); i = (std::max) (i, lower_i); size_type upper_i = (std::min) (j + 1 + lower_, size1 ()); i = (std::min) (i, upper_i); } return iterator1 (*this, data ().find1 (rank, i, j)); } BOOST_UBLAS_INLINE const_iterator2 find2 (int rank, size_type i, size_type j) const { if (rank == 1) { size_type lower_j = (std::max) (difference_type (i - lower_), difference_type (0)); j = (std::max) (j, lower_j); size_type upper_j = (std::min) (i + 1 + upper_, size2 ()); j = (std::min) (j, upper_j); } return const_iterator2 (*this, data ().find2 (rank, i, j)); } BOOST_UBLAS_INLINE iterator2 find2 (int rank, size_type i, size_type j) { if (rank == 1) { size_type lower_j = (std::max) (difference_type (i - lower_), difference_type (0)); j = (std::max) (j, lower_j); size_type upper_j = (std::min) (i + 1 + upper_, size2 ()); j = (std::min) (j, upper_j); } return iterator2 (*this, data ().find2 (rank, i, j)); } // Iterators simply are indices. #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator1: public container_const_reference, public random_access_iterator_base::iterator_category, const_iterator1, value_type> { public: typedef typename const_subiterator1_type::value_type value_type; typedef typename const_subiterator1_type::difference_type difference_type; typedef typename const_subiterator1_type::reference reference; typedef typename const_subiterator1_type::pointer pointer; typedef const_iterator2 dual_iterator_type; typedef const_reverse_iterator2 dual_reverse_iterator_type; // Construction and destruction BOOST_UBLAS_INLINE const_iterator1 (): container_const_reference (), it1_ () {} BOOST_UBLAS_INLINE const_iterator1 (const self_type &m, const const_subiterator1_type &it1): container_const_reference (m), it1_ (it1) {} BOOST_UBLAS_INLINE const_iterator1 (const iterator1 &it): container_const_reference (it ()), it1_ (it.it1_) {} // Arithmetic BOOST_UBLAS_INLINE const_iterator1 &operator ++ () { ++ it1_; return *this; } BOOST_UBLAS_INLINE const_iterator1 &operator -- () { -- it1_; return *this; } BOOST_UBLAS_INLINE const_iterator1 &operator += (difference_type n) { it1_ += n; return *this; } BOOST_UBLAS_INLINE const_iterator1 &operator -= (difference_type n) { it1_ -= n; return *this; } BOOST_UBLAS_INLINE difference_type operator - (const const_iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it1_ - it.it1_; } // Dereference BOOST_UBLAS_INLINE const_reference operator * () const { size_type i = index1 (); size_type j = index2 (); BOOST_UBLAS_CHECK (i < (*this) ().size1 (), bad_index ()); BOOST_UBLAS_CHECK (j < (*this) ().size2 (), bad_index ()); #ifdef BOOST_UBLAS_OWN_BANDED size_type k = (std::max) (i, j); size_type l = (*this) ().lower () + j - i; if (k < (std::max) ((*this) ().size1 (), (*this) ().size2 ()) && l < (*this) ().lower () + 1 + (*this) ().upper ()) return *it1_; #else size_type k = j; size_type l = (*this) ().upper () + i - j; if (k < (*this) ().size2 () && l < (*this) ().lower () + 1 + (*this) ().upper ()) return *it1_; #endif return (*this) () (i, j); } BOOST_UBLAS_INLINE const_reference operator [] (difference_type n) const { return *(*this + n); } #ifndef BOOST_UBLAS_NO_NESTED_CLASS_RELATION BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_iterator2 begin () const { return (*this) ().find2 (1, index1 (), 0); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_iterator2 cbegin () const { return begin (); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_iterator2 end () const { return (*this) ().find2 (1, index1 (), (*this) ().size2 ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_iterator2 cend () const { return end (); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_reverse_iterator2 rbegin () const { return const_reverse_iterator2 (end ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_reverse_iterator2 crbegin () const { return rbegin (); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_reverse_iterator2 rend () const { return const_reverse_iterator2 (begin ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_reverse_iterator2 crend () const { return rend (); } #endif // Indices BOOST_UBLAS_INLINE size_type index1 () const { return it1_.index1 (); } BOOST_UBLAS_INLINE size_type index2 () const { return it1_.index2 (); } // Assignment BOOST_UBLAS_INLINE const_iterator1 &operator = (const const_iterator1 &it) { container_const_reference::assign (&it ()); it1_ = it.it1_; return *this; } // Comparison BOOST_UBLAS_INLINE bool operator == (const const_iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it1_ == it.it1_; } BOOST_UBLAS_INLINE bool operator < (const const_iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it1_ < it.it1_; } private: const_subiterator1_type it1_; }; #endif BOOST_UBLAS_INLINE const_iterator1 begin1 () const { return find1 (0, 0, 0); } BOOST_UBLAS_INLINE const_iterator1 cbegin1 () const { return begin1 (); } BOOST_UBLAS_INLINE const_iterator1 end1 () const { return find1 (0, size1 (), 0); } BOOST_UBLAS_INLINE const_iterator1 cend1 () const { return end1 (); } #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator1: public container_reference, public random_access_iterator_base::iterator_category, iterator1, value_type> { public: typedef typename subiterator1_type::value_type value_type; typedef typename subiterator1_type::difference_type difference_type; typedef typename subiterator1_type::reference reference; typedef typename subiterator1_type::pointer pointer; typedef iterator2 dual_iterator_type; typedef reverse_iterator2 dual_reverse_iterator_type; // Construction and destruction BOOST_UBLAS_INLINE iterator1 (): container_reference (), it1_ () {} BOOST_UBLAS_INLINE iterator1 (self_type &m, const subiterator1_type &it1): container_reference (m), it1_ (it1) {} // Arithmetic BOOST_UBLAS_INLINE iterator1 &operator ++ () { ++ it1_; return *this; } BOOST_UBLAS_INLINE iterator1 &operator -- () { -- it1_; return *this; } BOOST_UBLAS_INLINE iterator1 &operator += (difference_type n) { it1_ += n; return *this; } BOOST_UBLAS_INLINE iterator1 &operator -= (difference_type n) { it1_ -= n; return *this; } BOOST_UBLAS_INLINE difference_type operator - (const iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it1_ - it.it1_; } // Dereference BOOST_UBLAS_INLINE reference operator * () const { size_type i = index1 (); size_type j = index2 (); BOOST_UBLAS_CHECK (i < (*this) ().size1 (), bad_index ()); BOOST_UBLAS_CHECK (j < (*this) ().size2 (), bad_index ()); #ifdef BOOST_UBLAS_OWN_BANDED size_type k = (std::max) (i, j); size_type l = (*this) ().lower () + j - i; if (k < (std::max) ((*this) ().size1 (), (*this) ().size2 ()) && l < (*this) ().lower () + 1 + (*this) ().upper ()) return *it1_; #else size_type k = j; size_type l = (*this) ().upper () + i - j; if (k < (*this) ().size2 () && l < (*this) ().lower () + 1 + (*this) ().upper ()) return *it1_; #endif return (*this) () (i, j); } BOOST_UBLAS_INLINE reference operator [] (difference_type n) const { return *(*this + n); } #ifndef BOOST_UBLAS_NO_NESTED_CLASS_RELATION BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif iterator2 begin () const { return (*this) ().find2 (1, index1 (), 0); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif iterator2 end () const { return (*this) ().find2 (1, index1 (), (*this) ().size2 ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif reverse_iterator2 rbegin () const { return reverse_iterator2 (end ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif reverse_iterator2 rend () const { return reverse_iterator2 (begin ()); } #endif // Indices BOOST_UBLAS_INLINE size_type index1 () const { return it1_.index1 (); } BOOST_UBLAS_INLINE size_type index2 () const { return it1_.index2 (); } // Assignment BOOST_UBLAS_INLINE iterator1 &operator = (const iterator1 &it) { container_reference::assign (&it ()); it1_ = it.it1_; return *this; } // Comparison BOOST_UBLAS_INLINE bool operator == (const iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it1_ == it.it1_; } BOOST_UBLAS_INLINE bool operator < (const iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it1_ < it.it1_; } private: subiterator1_type it1_; friend class const_iterator1; }; #endif BOOST_UBLAS_INLINE iterator1 begin1 () { return find1 (0, 0, 0); } BOOST_UBLAS_INLINE iterator1 end1 () { return find1 (0, size1 (), 0); } #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class const_iterator2: public container_const_reference, public random_access_iterator_base { public: typedef typename iterator_restrict_traits::iterator_category iterator_category; typedef typename const_subiterator2_type::value_type value_type; typedef typename const_subiterator2_type::difference_type difference_type; typedef typename const_subiterator2_type::reference reference; typedef typename const_subiterator2_type::pointer pointer; typedef const_iterator1 dual_iterator_type; typedef const_reverse_iterator1 dual_reverse_iterator_type; // Construction and destruction BOOST_UBLAS_INLINE const_iterator2 (): container_const_reference (), it2_ () {} BOOST_UBLAS_INLINE const_iterator2 (const self_type &m, const const_subiterator2_type &it2): container_const_reference (m), it2_ (it2) {} BOOST_UBLAS_INLINE const_iterator2 (const iterator2 &it): container_const_reference (it ()), it2_ (it.it2_) {} // Arithmetic BOOST_UBLAS_INLINE const_iterator2 &operator ++ () { ++ it2_; return *this; } BOOST_UBLAS_INLINE const_iterator2 &operator -- () { -- it2_; return *this; } BOOST_UBLAS_INLINE const_iterator2 &operator += (difference_type n) { it2_ += n; return *this; } BOOST_UBLAS_INLINE const_iterator2 &operator -= (difference_type n) { it2_ -= n; return *this; } BOOST_UBLAS_INLINE difference_type operator - (const const_iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it2_ - it.it2_; } // Dereference BOOST_UBLAS_INLINE const_reference operator * () const { size_type i = index1 (); size_type j = index2 (); BOOST_UBLAS_CHECK (i < (*this) ().size1 (), bad_index ()); BOOST_UBLAS_CHECK (j < (*this) ().size2 (), bad_index ()); #ifdef BOOST_UBLAS_OWN_BANDED size_type k = (std::max) (i, j); size_type l = (*this) ().lower () + j - i; if (k < (std::max) ((*this) ().size1 (), (*this) ().size2 ()) && l < (*this) ().lower () + 1 + (*this) ().upper ()) return *it2_; #else size_type k = j; size_type l = (*this) ().upper () + i - j; if (k < (*this) ().size2 () && l < (*this) ().lower () + 1 + (*this) ().upper ()) return *it2_; #endif return (*this) () (i, j); } BOOST_UBLAS_INLINE const_reference operator [] (difference_type n) const { return *(*this + n); } #ifndef BOOST_UBLAS_NO_NESTED_CLASS_RELATION BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_iterator1 begin () const { return (*this) ().find1 (1, 0, index2 ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_iterator1 cbegin () const { return begin (); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_iterator1 end () const { return (*this) ().find1 (1, (*this) ().size1 (), index2 ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_iterator1 cend () const { return end (); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_reverse_iterator1 rbegin () const { return const_reverse_iterator1 (end ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_reverse_iterator1 crbegin () const { return rbegin (); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_reverse_iterator1 rend () const { return const_reverse_iterator1 (begin ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif const_reverse_iterator1 crend () const { return rend (); } #endif // Indices BOOST_UBLAS_INLINE size_type index1 () const { return it2_.index1 (); } BOOST_UBLAS_INLINE size_type index2 () const { return it2_.index2 (); } // Assignment BOOST_UBLAS_INLINE const_iterator2 &operator = (const const_iterator2 &it) { container_const_reference::assign (&it ()); it2_ = it.it2_; return *this; } // Comparison BOOST_UBLAS_INLINE bool operator == (const const_iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it2_ == it.it2_; } BOOST_UBLAS_INLINE bool operator < (const const_iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it2_ < it.it2_; } private: const_subiterator2_type it2_; }; #endif BOOST_UBLAS_INLINE const_iterator2 begin2 () const { return find2 (0, 0, 0); } BOOST_UBLAS_INLINE const_iterator2 cbegin2 () const { return begin2 (); } BOOST_UBLAS_INLINE const_iterator2 end2 () const { return find2 (0, 0, size2 ()); } BOOST_UBLAS_INLINE const_iterator2 cend2 () const { return end2 (); } #ifndef BOOST_UBLAS_USE_INDEXED_ITERATOR class iterator2: public container_reference, public random_access_iterator_base::iterator_category, iterator2, value_type> { public: typedef typename subiterator2_type::value_type value_type; typedef typename subiterator2_type::difference_type difference_type; typedef typename subiterator2_type::reference reference; typedef typename subiterator2_type::pointer pointer; typedef iterator1 dual_iterator_type; typedef reverse_iterator1 dual_reverse_iterator_type; // Construction and destruction BOOST_UBLAS_INLINE iterator2 (): container_reference (), it2_ () {} BOOST_UBLAS_INLINE iterator2 (self_type &m, const subiterator2_type &it2): container_reference (m), it2_ (it2) {} // Arithmetic BOOST_UBLAS_INLINE iterator2 &operator ++ () { ++ it2_; return *this; } BOOST_UBLAS_INLINE iterator2 &operator -- () { -- it2_; return *this; } BOOST_UBLAS_INLINE iterator2 &operator += (difference_type n) { it2_ += n; return *this; } BOOST_UBLAS_INLINE iterator2 &operator -= (difference_type n) { it2_ -= n; return *this; } BOOST_UBLAS_INLINE difference_type operator - (const iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it2_ - it.it2_; } // Dereference BOOST_UBLAS_INLINE reference operator * () const { size_type i = index1 (); size_type j = index2 (); BOOST_UBLAS_CHECK (i < (*this) ().size1 (), bad_index ()); BOOST_UBLAS_CHECK (j < (*this) ().size2 (), bad_index ()); #ifdef BOOST_UBLAS_OWN_BANDED size_type k = (std::max) (i, j); size_type l = (*this) ().lower () + j - i; if (k < (std::max) ((*this) ().size1 (), (*this) ().size2 ()) && l < (*this) ().lower () + 1 + (*this) ().upper ()) return *it2_; #else size_type k = j; size_type l = (*this) ().upper () + i - j; if (k < (*this) ().size2 () && l < (*this) ().lower () + 1 + (*this) ().upper ()) return *it2_; #endif return (*this) () (i, j); } BOOST_UBLAS_INLINE reference operator [] (difference_type n) const { return *(*this + n); } #ifndef BOOST_UBLAS_NO_NESTED_CLASS_RELATION BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif iterator1 begin () const { return (*this) ().find1 (1, 0, index2 ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif iterator1 end () const { return (*this) ().find1 (1, (*this) ().size1 (), index2 ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif reverse_iterator1 rbegin () const { return reverse_iterator1 (end ()); } BOOST_UBLAS_INLINE #ifdef BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION typename self_type:: #endif reverse_iterator1 rend () const { return reverse_iterator1 (begin ()); } #endif // Indices BOOST_UBLAS_INLINE size_type index1 () const { return it2_.index1 (); } BOOST_UBLAS_INLINE size_type index2 () const { return it2_.index2 (); } // Assignment BOOST_UBLAS_INLINE iterator2 &operator = (const iterator2 &it) { container_reference::assign (&it ()); it2_ = it.it2_; return *this; } // Comparison BOOST_UBLAS_INLINE bool operator == (const iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it2_ == it.it2_; } BOOST_UBLAS_INLINE bool operator < (const iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it2_ < it.it2_; } private: subiterator2_type it2_; friend class const_iterator2; }; #endif BOOST_UBLAS_INLINE iterator2 begin2 () { return find2 (0, 0, 0); } BOOST_UBLAS_INLINE iterator2 end2 () { return find2 (0, 0, size2 ()); } // Reverse iterators BOOST_UBLAS_INLINE const_reverse_iterator1 rbegin1 () const { return const_reverse_iterator1 (end1 ()); } BOOST_UBLAS_INLINE const_reverse_iterator1 crbegin1 () const { return rbegin1 (); } BOOST_UBLAS_INLINE const_reverse_iterator1 rend1 () const { return const_reverse_iterator1 (begin1 ()); } BOOST_UBLAS_INLINE const_reverse_iterator1 crend1 () const { return rend1 (); } BOOST_UBLAS_INLINE reverse_iterator1 rbegin1 () { return reverse_iterator1 (end1 ()); } BOOST_UBLAS_INLINE reverse_iterator1 rend1 () { return reverse_iterator1 (begin1 ()); } BOOST_UBLAS_INLINE const_reverse_iterator2 rbegin2 () const { return const_reverse_iterator2 (end2 ()); } BOOST_UBLAS_INLINE const_reverse_iterator2 crbegin2 () const { return rbegin2 (); } BOOST_UBLAS_INLINE const_reverse_iterator2 rend2 () const { return const_reverse_iterator2 (begin2 ()); } BOOST_UBLAS_INLINE const_reverse_iterator2 crend2 () const { return rend2 (); } BOOST_UBLAS_INLINE reverse_iterator2 rbegin2 () { return reverse_iterator2 (end2 ()); } BOOST_UBLAS_INLINE reverse_iterator2 rend2 () { return reverse_iterator2 (begin2 ()); } private: matrix_closure_type data_; size_type lower_; size_type upper_; typedef const value_type const_value_type; static const_value_type zero_; }; // Specialization for temporary_traits template struct vector_temporary_traits< banded_adaptor > : vector_temporary_traits< M > {} ; template struct vector_temporary_traits< const banded_adaptor > : vector_temporary_traits< M > {} ; template struct matrix_temporary_traits< banded_adaptor > : matrix_temporary_traits< M > {} ; template struct matrix_temporary_traits< const banded_adaptor > : matrix_temporary_traits< M > {} ; template typename banded_adaptor::const_value_type banded_adaptor::zero_ = value_type/*zero*/(); /** \brief A diagonal matrix adaptator: convert a any matrix into a diagonal matrix expression * * For a \f$(m\times m)\f$-dimensional matrix, the \c diagonal_adaptor will provide a diagonal matrix * with \f$0 \leq i < m\f$ and \f$0 \leq j < m\f$, if \f$i\neq j\f$ then \f$b_{i,j}=0\f$. * * Storage and location are based on those of the underlying matrix. This is important because * a \c diagonal_adaptor does not copy the matrix data to a new place. Therefore, modifying values * in a \c diagonal_adaptor matrix will also modify the underlying matrix too. * * \tparam M the type of matrix used to generate the diagonal matrix */ template class diagonal_adaptor: public banded_adaptor { public: typedef M matrix_type; typedef banded_adaptor adaptor_type; // Construction and destruction BOOST_UBLAS_INLINE diagonal_adaptor (): adaptor_type () {} BOOST_UBLAS_INLINE diagonal_adaptor (matrix_type &data): adaptor_type (data) {} BOOST_UBLAS_INLINE ~diagonal_adaptor () {} // Assignment BOOST_UBLAS_INLINE diagonal_adaptor &operator = (const diagonal_adaptor &m) { adaptor_type::operator = (m); return *this; } template BOOST_UBLAS_INLINE diagonal_adaptor &operator = (const matrix_expression &ae) { adaptor_type::operator = (ae); return *this; } }; }}} #endif KWStyle-master/Utilities/boost/numeric/ublas/blas.hpp000066400000000000000000000433241265471724600232400ustar00rootroot00000000000000// Copyright (c) 2000-2011 Joerg Walter, Mathias Koch, David Bellot // // Distributed under the 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 authors gratefully acknowledge the support of // GeNeSys mbH & Co. KG in producing this work. #ifndef _BOOST_UBLAS_BLAS_ #define _BOOST_UBLAS_BLAS_ #include namespace boost { namespace numeric { namespace ublas { /** Interface and implementation of BLAS level 1 * This includes functions which perform \b vector-vector operations. * More information about BLAS can be found at * http://en.wikipedia.org/wiki/BLAS */ namespace blas_1 { /** 1-Norm: \f$\sum_i |x_i|\f$ (also called \f$\mathcal{L}_1\f$ or Manhattan norm) * * \param v a vector or vector expression * \return the 1-Norm with type of the vector's type * * \tparam V type of the vector (not needed by default) */ template typename type_traits::real_type asum (const V &v) { return norm_1 (v); } /** 2-Norm: \f$\sum_i |x_i|^2\f$ (also called \f$\mathcal{L}_2\f$ or Euclidean norm) * * \param v a vector or vector expression * \return the 2-Norm with type of the vector's type * * \tparam V type of the vector (not needed by default) */ template typename type_traits::real_type nrm2 (const V &v) { return norm_2 (v); } /** Infinite-norm: \f$\max_i |x_i|\f$ (also called \f$\mathcal{L}_\infty\f$ norm) * * \param v a vector or vector expression * \return the Infinite-Norm with type of the vector's type * * \tparam V type of the vector (not needed by default) */ template typename type_traits::real_type amax (const V &v) { return norm_inf (v); } /** Inner product of vectors \f$v_1\f$ and \f$v_2\f$ * * \param v1 first vector of the inner product * \param v2 second vector of the inner product * \return the inner product of the type of the most generic type of the 2 vectors * * \tparam V1 type of first vector (not needed by default) * \tparam V2 type of second vector (not needed by default) */ template typename promote_traits::promote_type dot (const V1 &v1, const V2 &v2) { return inner_prod (v1, v2); } /** Copy vector \f$v_2\f$ to \f$v_1\f$ * * \param v1 target vector * \param v2 source vector * \return a reference to the target vector * * \tparam V1 type of first vector (not needed by default) * \tparam V2 type of second vector (not needed by default) */ template V1 & copy (V1 &v1, const V2 &v2) { return v1.assign (v2); } /** Swap vectors \f$v_1\f$ and \f$v_2\f$ * * \param v1 first vector * \param v2 second vector * * \tparam V1 type of first vector (not needed by default) * \tparam V2 type of second vector (not needed by default) */ template void swap (V1 &v1, V2 &v2) { v1.swap (v2); } /** scale vector \f$v\f$ with scalar \f$t\f$ * * \param v vector to be scaled * \param t the scalar * \return \c t*v * * \tparam V type of the vector (not needed by default) * \tparam T type of the scalar (not needed by default) */ template V & scal (V &v, const T &t) { return v *= t; } /** Compute \f$v_1= v_1 + t.v_2\f$ * * \param v1 target and first vector * \param t the scalar * \param v2 second vector * \return a reference to the first and target vector * * \tparam V1 type of the first vector (not needed by default) * \tparam T type of the scalar (not needed by default) * \tparam V2 type of the second vector (not needed by default) */ template V1 & axpy (V1 &v1, const T &t, const V2 &v2) { return v1.plus_assign (t * v2); } /** Performs rotation of points in the plane and assign the result to the first vector * * Each point is defined as a pair \c v1(i) and \c v2(i), being respectively * the \f$x\f$ and \f$y\f$ coordinates. The parameters \c t1 and \t2 are respectively * the cosine and sine of the angle of the rotation. * Results are not returned but directly written into \c v1. * * \param t1 cosine of the rotation * \param v1 vector of \f$x\f$ values * \param t2 sine of the rotation * \param v2 vector of \f$y\f$ values * * \tparam T1 type of the cosine value (not needed by default) * \tparam V1 type of the \f$x\f$ vector (not needed by default) * \tparam T2 type of the sine value (not needed by default) * \tparam V2 type of the \f$y\f$ vector (not needed by default) */ template void rot (const T1 &t1, V1 &v1, const T2 &t2, V2 &v2) { typedef typename promote_traits::promote_type promote_type; vector vt (t1 * v1 + t2 * v2); v2.assign (- t2 * v1 + t1 * v2); v1.assign (vt); } } /** \brief Interface and implementation of BLAS level 2 * This includes functions which perform \b matrix-vector operations. * More information about BLAS can be found at * http://en.wikipedia.org/wiki/BLAS */ namespace blas_2 { /** \brief multiply vector \c v with triangular matrix \c m * * \param v a vector * \param m a triangular matrix * \return the result of the product * * \tparam V type of the vector (not needed by default) * \tparam M type of the matrix (not needed by default) */ template V & tmv (V &v, const M &m) { return v = prod (m, v); } /** \brief solve \f$m.x = v\f$ in place, where \c m is a triangular matrix * * \param v a vector * \param m a matrix * \param C (this parameter is not needed) * \return a result vector from the above operation * * \tparam V type of the vector (not needed by default) * \tparam M type of the matrix (not needed by default) * \tparam C n/a */ template V & tsv (V &v, const M &m, C) { return v = solve (m, v, C ()); } /** \brief compute \f$ v_1 = t_1.v_1 + t_2.(m.v_2)\f$, a general matrix-vector product * * \param v1 a vector * \param t1 a scalar * \param t2 another scalar * \param m a matrix * \param v2 another vector * \return the vector \c v1 with the result from the above operation * * \tparam V1 type of first vector (not needed by default) * \tparam T1 type of first scalar (not needed by default) * \tparam T2 type of second scalar (not needed by default) * \tparam M type of matrix (not needed by default) * \tparam V2 type of second vector (not needed by default) */ template V1 & gmv (V1 &v1, const T1 &t1, const T2 &t2, const M &m, const V2 &v2) { return v1 = t1 * v1 + t2 * prod (m, v2); } /** \brief Rank 1 update: \f$ m = m + t.(v_1.v_2^T)\f$ * * \param m a matrix * \param t a scalar * \param v1 a vector * \param v2 another vector * \return a matrix with the result from the above operation * * \tparam M type of matrix (not needed by default) * \tparam T type of scalar (not needed by default) * \tparam V1 type of first vector (not needed by default) * \tparam V2type of second vector (not needed by default) */ template M & gr (M &m, const T &t, const V1 &v1, const V2 &v2) { #ifndef BOOST_UBLAS_SIMPLE_ET_DEBUG return m += t * outer_prod (v1, v2); #else return m = m + t * outer_prod (v1, v2); #endif } /** \brief symmetric rank 1 update: \f$m = m + t.(v.v^T)\f$ * * \param m a matrix * \param t a scalar * \param v a vector * \return a matrix with the result from the above operation * * \tparam M type of matrix (not needed by default) * \tparam T type of scalar (not needed by default) * \tparam V type of vector (not needed by default) */ template M & sr (M &m, const T &t, const V &v) { #ifndef BOOST_UBLAS_SIMPLE_ET_DEBUG return m += t * outer_prod (v, v); #else return m = m + t * outer_prod (v, v); #endif } /** \brief hermitian rank 1 update: \f$m = m + t.(v.v^H)\f$ * * \param m a matrix * \param t a scalar * \param v a vector * \return a matrix with the result from the above operation * * \tparam M type of matrix (not needed by default) * \tparam T type of scalar (not needed by default) * \tparam V type of vector (not needed by default) */ template M & hr (M &m, const T &t, const V &v) { #ifndef BOOST_UBLAS_SIMPLE_ET_DEBUG return m += t * outer_prod (v, conj (v)); #else return m = m + t * outer_prod (v, conj (v)); #endif } /** \brief symmetric rank 2 update: \f$ m=m+ t.(v_1.v_2^T + v_2.v_1^T)\f$ * * \param m a matrix * \param t a scalar * \param v1 a vector * \param v2 another vector * \return a matrix with the result from the above operation * * \tparam M type of matrix (not needed by default) * \tparam T type of scalar (not needed by default) * \tparam V1 type of first vector (not needed by default) * \tparam V2type of second vector (not needed by default) */ template M & sr2 (M &m, const T &t, const V1 &v1, const V2 &v2) { #ifndef BOOST_UBLAS_SIMPLE_ET_DEBUG return m += t * (outer_prod (v1, v2) + outer_prod (v2, v1)); #else return m = m + t * (outer_prod (v1, v2) + outer_prod (v2, v1)); #endif } /** \brief hermitian rank 2 update: \f$m=m+t.(v_1.v_2^H) + v_2.(t.v_1)^H)\f$ * * \param m a matrix * \param t a scalar * \param v1 a vector * \param v2 another vector * \return a matrix with the result from the above operation * * \tparam M type of matrix (not needed by default) * \tparam T type of scalar (not needed by default) * \tparam V1 type of first vector (not needed by default) * \tparam V2type of second vector (not needed by default) */ template M & hr2 (M &m, const T &t, const V1 &v1, const V2 &v2) { #ifndef BOOST_UBLAS_SIMPLE_ET_DEBUG return m += t * outer_prod (v1, conj (v2)) + type_traits::conj (t) * outer_prod (v2, conj (v1)); #else return m = m + t * outer_prod (v1, conj (v2)) + type_traits::conj (t) * outer_prod (v2, conj (v1)); #endif } } /** \brief Interface and implementation of BLAS level 3 * This includes functions which perform \b matrix-matrix operations. * More information about BLAS can be found at * http://en.wikipedia.org/wiki/BLAS */ namespace blas_3 { /** \brief triangular matrix multiplication \f$m_1=t.m_2.m_3\f$ where \f$m_2\f$ and \f$m_3\f$ are triangular * * \param m1 a matrix for storing result * \param t a scalar * \param m2 a triangular matrix * \param m3 a triangular matrix * \return the matrix \c m1 * * \tparam M1 type of the result matrix (not needed by default) * \tparam T type of the scalar (not needed by default) * \tparam M2 type of the first triangular matrix (not needed by default) * \tparam M3 type of the second triangular matrix (not needed by default) * */ template M1 & tmm (M1 &m1, const T &t, const M2 &m2, const M3 &m3) { return m1 = t * prod (m2, m3); } /** \brief triangular solve \f$ m_2.x = t.m_1\f$ in place, \f$m_2\f$ is a triangular matrix * * \param m1 a matrix * \param t a scalar * \param m2 a triangular matrix * \param C (not used) * \return the \f$m_1\f$ matrix * * \tparam M1 type of the first matrix (not needed by default) * \tparam T type of the scalar (not needed by default) * \tparam M2 type of the triangular matrix (not needed by default) * \tparam C (n/a) */ template M1 & tsm (M1 &m1, const T &t, const M2 &m2, C) { return m1 = solve (m2, t * m1, C ()); } /** \brief general matrix multiplication \f$m_1=t_1.m_1 + t_2.m_2.m_3\f$ * * \param m1 first matrix * \param t1 first scalar * \param t2 second scalar * \param m2 second matrix * \param m3 third matrix * \return the matrix \c m1 * * \tparam M1 type of the first matrix (not needed by default) * \tparam T1 type of the first scalar (not needed by default) * \tparam T2 type of the second scalar (not needed by default) * \tparam M2 type of the second matrix (not needed by default) * \tparam M3 type of the third matrix (not needed by default) */ template M1 & gmm (M1 &m1, const T1 &t1, const T2 &t2, const M2 &m2, const M3 &m3) { return m1 = t1 * m1 + t2 * prod (m2, m3); } /** \brief symmetric rank \a k update: \f$m_1=t.m_1+t_2.(m_2.m_2^T)\f$ * * \param m1 first matrix * \param t1 first scalar * \param t2 second scalar * \param m2 second matrix * \return matrix \c m1 * * \tparam M1 type of the first matrix (not needed by default) * \tparam T1 type of the first scalar (not needed by default) * \tparam T2 type of the second scalar (not needed by default) * \tparam M2 type of the second matrix (not needed by default) * \todo use opb_prod() */ template M1 & srk (M1 &m1, const T1 &t1, const T2 &t2, const M2 &m2) { return m1 = t1 * m1 + t2 * prod (m2, trans (m2)); } /** \brief hermitian rank \a k update: \f$m_1=t.m_1+t_2.(m_2.m2^H)\f$ * * \param m1 first matrix * \param t1 first scalar * \param t2 second scalar * \param m2 second matrix * \return matrix \c m1 * * \tparam M1 type of the first matrix (not needed by default) * \tparam T1 type of the first scalar (not needed by default) * \tparam T2 type of the second scalar (not needed by default) * \tparam M2 type of the second matrix (not needed by default) * \todo use opb_prod() */ template M1 & hrk (M1 &m1, const T1 &t1, const T2 &t2, const M2 &m2) { return m1 = t1 * m1 + t2 * prod (m2, herm (m2)); } /** \brief generalized symmetric rank \a k update: \f$m_1=t_1.m_1+t_2.(m_2.m3^T)+t_2.(m_3.m2^T)\f$ * * \param m1 first matrix * \param t1 first scalar * \param t2 second scalar * \param m2 second matrix * \param m3 third matrix * \return matrix \c m1 * * \tparam M1 type of the first matrix (not needed by default) * \tparam T1 type of the first scalar (not needed by default) * \tparam T2 type of the second scalar (not needed by default) * \tparam M2 type of the second matrix (not needed by default) * \tparam M3 type of the third matrix (not needed by default) * \todo use opb_prod() */ template M1 & sr2k (M1 &m1, const T1 &t1, const T2 &t2, const M2 &m2, const M3 &m3) { return m1 = t1 * m1 + t2 * (prod (m2, trans (m3)) + prod (m3, trans (m2))); } /** \brief generalized hermitian rank \a k update: * \f$m_1=t_1.m_1+t_2.(m_2.m_3^H)+(m_3.(t_2.m_2)^H)\f$ * * \param m1 first matrix * \param t1 first scalar * \param t2 second scalar * \param m2 second matrix * \param m3 third matrix * \return matrix \c m1 * * \tparam M1 type of the first matrix (not needed by default) * \tparam T1 type of the first scalar (not needed by default) * \tparam T2 type of the second scalar (not needed by default) * \tparam M2 type of the second matrix (not needed by default) * \tparam M3 type of the third matrix (not needed by default) * \todo use opb_prod() */ template M1 & hr2k (M1 &m1, const T1 &t1, const T2 &t2, const M2 &m2, const M3 &m3) { return m1 = t1 * m1 + t2 * prod (m2, herm (m3)) + type_traits::conj (t2) * prod (m3, herm (m2)); } } }}} #endif KWStyle-master/Utilities/boost/numeric/ublas/detail/000077500000000000000000000000001265471724600230425ustar00rootroot00000000000000KWStyle-master/Utilities/boost/numeric/ublas/detail/concepts.hpp000066400000000000000000002201401265471724600253700ustar00rootroot00000000000000// // Copyright (c) 2000-2002 // Joerg Walter, Mathias Koch // // Distributed under the 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 authors gratefully acknowledge the support of // GeNeSys mbH & Co. KG in producing this work. // #ifndef _BOOST_UBLAS_CONCEPTS_ #define _BOOST_UBLAS_CONCEPTS_ #include // Concept checks based on ideas of Jeremy Siek namespace boost { namespace numeric { namespace ublas { template struct Indexed1DIteratorConcept { typedef I iterator_type; void constraints () { iterator_type it = iterator_type (); // Index it.index (); } }; template struct IndexedBidirectional1DIteratorConcept { typedef I iterator_type; void constraints () { function_requires< BidirectionalIteratorConcept >(); function_requires< Indexed1DIteratorConcept >(); } }; template struct Mutable_IndexedBidirectional1DIteratorConcept { typedef I iterator_type; void constraints () { function_requires< Mutable_BidirectionalIteratorConcept >(); function_requires< Indexed1DIteratorConcept >(); } }; template struct IndexedRandomAccess1DIteratorConcept { typedef I iterator_type; void constraints () { function_requires< RandomAccessIteratorConcept >(); function_requires< Indexed1DIteratorConcept >(); } }; template struct Mutable_IndexedRandomAccess1DIteratorConcept { typedef I iterator_type; void constraints () { function_requires< Mutable_RandomAccessIteratorConcept >(); function_requires< Indexed1DIteratorConcept >(); } }; template struct Indexed2DIteratorConcept { typedef I iterator_type; typedef typename I::dual_iterator_type dual_iterator_type; typedef typename I::dual_reverse_iterator_type dual_reverse_iterator_type; void constraints () { iterator_type it = iterator_type (); // Indices it.index1 (); it.index2 (); // Iterator begin/end dual_iterator_type it_begin (it.begin ()); dual_iterator_type it_end (it.end ()); // Reverse iterator begin/end dual_reverse_iterator_type it_rbegin (it.rbegin ()); dual_reverse_iterator_type it_rend (it.rend ()); ignore_unused_variable_warning (it_begin); ignore_unused_variable_warning (it_end); ignore_unused_variable_warning (it_rbegin); ignore_unused_variable_warning (it_rend); } }; template struct IndexedBidirectional2DIteratorConcept { typedef I1 subiterator1_type; typedef I2 subiterator2_type; void constraints () { function_requires< BidirectionalIteratorConcept >(); function_requires< BidirectionalIteratorConcept >(); function_requires< Indexed2DIteratorConcept >(); function_requires< Indexed2DIteratorConcept >(); } }; template struct Mutable_IndexedBidirectional2DIteratorConcept { typedef I1 subiterator1_type; typedef I2 subiterator2_type; void constraints () { function_requires< Mutable_BidirectionalIteratorConcept >(); function_requires< Mutable_BidirectionalIteratorConcept >(); function_requires< Indexed2DIteratorConcept >(); function_requires< Indexed2DIteratorConcept >(); } }; template struct IndexedRandomAccess2DIteratorConcept { typedef I1 subiterator1_type; typedef I2 subiterator2_type; void constraints () { function_requires< RandomAccessIteratorConcept >(); function_requires< RandomAccessIteratorConcept >(); function_requires< Indexed2DIteratorConcept >(); function_requires< Indexed2DIteratorConcept >(); } }; template struct Mutable_IndexedRandomAccess2DIteratorConcept { typedef I1 subiterator1_type; typedef I2 subiterator2_type; void constraints () { function_requires< Mutable_RandomAccessIteratorConcept >(); function_requires< Mutable_RandomAccessIteratorConcept >(); function_requires< Indexed2DIteratorConcept >(); function_requires< Indexed2DIteratorConcept >(); } }; template struct StorageArrayConcept { typedef C container_type; typedef typename C::size_type size_type; typedef typename C::value_type value_type; void constraints () { function_requires< RandomAccessContainerConcept >(); size_type n (0); // Sizing constructor container_type c = container_type (n); // Initialised sizing constructor container_type (n, value_type (5)); ignore_unused_variable_warning (c); } }; template struct Mutable_StorageArrayConcept { typedef C container_type; typedef typename C::size_type size_type; typedef typename C::value_type value_type; typedef typename C::iterator iterator_type; void constraints () { function_requires< Mutable_RandomAccessContainerConcept > (); size_type n (0); // Sizing constructor container_type c = container_type (n); // Initialised sizing constructor c = container_type (n, value_type (3)); // Resize c.resize (n, value_type (5)); // Resize - none preserving c.resize (n); } }; template struct StorageSparseConcept { typedef C container_type; typedef typename C::size_type size_type; void constraints () { function_requires< ReversibleContainerConcept > (); } }; template struct Mutable_StorageSparseConcept { typedef C container_type; typedef typename C::size_type size_type; typedef typename C::value_type value_type; typedef typename C::iterator iterator_type; void constraints () { // NOTE - Not Mutable_ReversibleContainerConcept function_requires< ReversibleContainerConcept >(); container_type c = container_type (); value_type t = value_type (); iterator_type it = iterator_type (), it1 = iterator_type (), it2 = iterator_type (); // Insert c.insert (it, t); // Erase c.erase (it); // Range erase c.erase (it1, it2); // Clear c.clear (); } }; template struct IndexSetConcept { typedef G generator_type; typedef typename G::size_type size_type; typedef typename G::value_type value_type; void constraints () { function_requires< AssignableConcept >(); function_requires< ReversibleContainerConcept >(); generator_type g = generator_type (); size_type n (0); value_type t; // Element access t = g (n); ignore_unused_variable_warning (t); } }; /** \brief Scalar expression concept. * * requirements * \li \c SE::value_type is the type of the scalar expression * \li \c SE must be convertable to \c SE::value_type * \li the constant \c SE::complexity must exist * * \param SE the type of the scalar expression */ template struct ScalarExpressionConcept { typedef SE scalar_expression_type; typedef typename SE::value_type value_type; static const unsigned complexity = SE::complexity; void constraints () { scalar_expression_type *sp; scalar_expression_type s = *sp; value_type t; // Conversion t = s; ignore_unused_variable_warning (t); } }; /** \brief Vector expression concept. * * requirements * \li \c VE::value_type is the type of the elements * \li \c VE::const_reference The return type when accessing an element of a constant vector * expression. Must be convertable to a \c value_type. * \li \c VE::size_type is the (unsigned) type of the indices * \li \c VE::difference_type is the (signed) type of distances between indices * \li \c VE::category * * \li the constant \c SE::complexity must exist * * \param SE the type of the scalar expression */ template struct VectorExpressionConcept { typedef VE vector_expression_type; typedef typename VE::type_category type_category; typedef typename VE::size_type size_type; typedef typename VE::difference_type difference_type; typedef typename VE::value_type value_type; typedef typename VE::const_reference const_reference; typedef typename VE::const_iterator const_iterator_type; typedef typename VE::const_reverse_iterator const_reverse_iterator_type; void constraints () { vector_expression_type *vp; const vector_expression_type *cvp; vector_expression_type v = *vp; const vector_expression_type cv = *cvp; size_type n (0), i (0); value_type t; // Find (internal?) const_iterator_type cit (v.find (i)); // Beginning of range const_iterator_type cit_begin (v.begin ()); // End of range const_iterator_type cit_end (v.end ()); // Size n = v.size (); // Beginning of reverse range const_reverse_iterator_type crit_begin (cv.rbegin ()); // End of reverse range const_reverse_iterator_type crit_end (cv.rend ()); // Element access t = v (i); ignore_unused_variable_warning (n); ignore_unused_variable_warning (cit); ignore_unused_variable_warning (cit_begin); ignore_unused_variable_warning (cit_end); ignore_unused_variable_warning (crit_begin); ignore_unused_variable_warning (crit_end); ignore_unused_variable_warning (t); } }; template struct Mutable_VectorExpressionConcept { typedef VE vector_expression_type; typedef typename VE::size_type size_type; typedef typename VE::value_type value_type; typedef typename VE::iterator iterator_type; typedef typename VE::reverse_iterator reverse_iterator_type; void constraints () { function_requires< AssignableConcept >(); function_requires< VectorExpressionConcept >(); vector_expression_type *vp; vector_expression_type v = *vp, v1 = *vp, v2 = *vp; size_type i (0); value_type t = value_type (); // Find (internal?) iterator_type it (v.find (i)); // Beginning of range iterator_type it_begin (v.begin ()); // End of range iterator_type it_end (v.end ()); // Swap v1.swap (v2); // Beginning of reverse range reverse_iterator_type rit_begin (v.rbegin ()); // End of reverse range reverse_iterator_type rit_end (v.rend ()); // Assignments v2 = v1; v2.assign (v1); v2 += v1; v2.plus_assign (v1); v2 -= v1; v2.minus_assign (v1); v *= t; ignore_unused_variable_warning (it); ignore_unused_variable_warning (it_begin); ignore_unused_variable_warning (it_end); ignore_unused_variable_warning (rit_begin); ignore_unused_variable_warning (rit_end); } }; template struct MatrixExpressionConcept { typedef ME matrix_expression_type; typedef typename ME::type_category type_category; typedef typename ME::size_type size_type; typedef typename ME::value_type value_type; typedef typename ME::const_iterator1 const_subiterator1_type; typedef typename ME::const_iterator2 const_subiterator2_type; typedef typename ME::const_reverse_iterator1 const_reverse_subiterator1_type; typedef typename ME::const_reverse_iterator2 const_reverse_subiterator2_type; void constraints () { matrix_expression_type *mp; const matrix_expression_type *cmp; matrix_expression_type m = *mp; const matrix_expression_type cm = *cmp; size_type n (0), i (0), j (0); value_type t; // Find (internal?) const_subiterator1_type cit1 (m.find1 (0, i, j)); const_subiterator2_type cit2 (m.find2 (0, i, j)); // Beginning of range const_subiterator1_type cit1_begin (m.begin1 ()); const_subiterator2_type cit2_begin (m.begin2 ()); // End of range const_subiterator1_type cit1_end (m.end1 ()); const_subiterator2_type cit2_end (m.end2 ()); // Size n = m.size1 (); n = m.size2 (); // Beginning of reverse range const_reverse_subiterator1_type crit1_begin (cm.rbegin1 ()); const_reverse_subiterator2_type crit2_begin (cm.rbegin2 ()); // End of reverse range const_reverse_subiterator1_type crit1_end (cm.rend1 ()); const_reverse_subiterator2_type crit2_end (cm.rend2 ()); // Element access t = m (i, j); ignore_unused_variable_warning (n); ignore_unused_variable_warning (cit1); ignore_unused_variable_warning (cit2); ignore_unused_variable_warning (cit1_begin); ignore_unused_variable_warning (cit2_begin); ignore_unused_variable_warning (cit1_end); ignore_unused_variable_warning (cit2_end); ignore_unused_variable_warning (crit1_begin); ignore_unused_variable_warning (crit2_begin); ignore_unused_variable_warning (crit1_end); ignore_unused_variable_warning (crit2_end); ignore_unused_variable_warning (t); } }; template struct Mutable_MatrixExpressionConcept { typedef ME matrix_expression_type; typedef typename ME::size_type size_type; typedef typename ME::value_type value_type; typedef typename ME::iterator1 subiterator1_type; typedef typename ME::iterator2 subiterator2_type; typedef typename ME::reverse_iterator1 reverse_subiterator1_type; typedef typename ME::reverse_iterator2 reverse_subiterator2_type; void constraints () { function_requires< AssignableConcept >(); function_requires< MatrixExpressionConcept >(); matrix_expression_type *mp; matrix_expression_type m = *mp, m1 = *mp, m2 = *mp; size_type i (0), j (0); value_type t = value_type (); // Find (internal?) subiterator1_type it1 (m.find1 (0, i, j)); subiterator2_type it2 (m.find2 (0, i, j)); // Beginning of range subiterator1_type it1_begin (m.begin1 ()); subiterator2_type it2_begin (m.begin2 ()); // End of range subiterator1_type it1_end (m.end1 ()); subiterator2_type it2_end (m.end2 ()); // Swap m1.swap (m2); // Beginning of reverse range reverse_subiterator1_type rit1_begin (m.rbegin1 ()); reverse_subiterator2_type rit2_begin (m.rbegin2 ()); // End of reverse range reverse_subiterator1_type rit1_end (m.rend1 ()); reverse_subiterator2_type rit2_end (m.rend2 ()); // Assignments m2 = m1; m2.assign (m1); m2 += m1; m2.plus_assign (m1); m2 -= m1; m2.minus_assign (m1); m *= t; ignore_unused_variable_warning (it1); ignore_unused_variable_warning (it2); ignore_unused_variable_warning (it1_begin); ignore_unused_variable_warning (it2_begin); ignore_unused_variable_warning (it1_end); ignore_unused_variable_warning (it2_end); ignore_unused_variable_warning (rit1_begin); ignore_unused_variable_warning (rit2_begin); ignore_unused_variable_warning (rit1_end); ignore_unused_variable_warning (rit2_end); } }; template struct VectorConcept { typedef V vector_type; typedef typename V::size_type size_type; typedef typename V::value_type value_type; typedef const value_type *const_pointer; void constraints () { function_requires< VectorExpressionConcept >(); size_type n (0); size_type i (0); // Sizing constructor vector_type v (n); // Element support const_pointer p = v.find_element (i); ignore_unused_variable_warning (p); } }; template struct Mutable_VectorConcept { typedef V vector_type; typedef typename V::size_type size_type; typedef typename V::value_type value_type; typedef value_type *pointer; void constraints () { function_requires< VectorConcept >(); function_requires< DefaultConstructible >(); function_requires< Mutable_VectorExpressionConcept >(); size_type n (0); value_type t = value_type (); size_type i (0); vector_type v; // Element support pointer p = v.find_element (i); // Element assignment value_type r = v.insert_element (i, t); v.insert_element (i, t) = r; // Zeroing v.clear (); // Resize v.resize (n); ignore_unused_variable_warning (p); ignore_unused_variable_warning (r); } }; template struct SparseVectorConcept { typedef V vector_type; typedef typename V::size_type size_type; void constraints () { function_requires< VectorConcept >(); } }; template struct Mutable_SparseVectorConcept { typedef V vector_type; typedef typename V::size_type size_type; typedef typename V::value_type value_type; void constraints () { function_requires< SparseVectorConcept >(); function_requires< Mutable_VectorConcept >(); size_type i (0); vector_type v; // Element erasure v.erase_element (i); } }; template struct MatrixConcept { typedef M matrix_type; typedef typename M::size_type size_type; typedef typename M::value_type value_type; typedef const value_type *const_pointer; void constraints () { function_requires< MatrixExpressionConcept >(); size_type n (0); size_type i (0), j (0); // Sizing constructor matrix_type m (n, n); // Element support #ifndef SKIP_BAD const_pointer p = m.find_element (i, j); #else const_pointer p; ignore_unused_variable_warning (i); ignore_unused_variable_warning (j); #endif ignore_unused_variable_warning (p); } }; template struct Mutable_MatrixConcept { typedef M matrix_type; typedef typename M::size_type size_type; typedef typename M::value_type value_type; typedef value_type *pointer; void constraints () { function_requires< MatrixConcept >(); function_requires< DefaultConstructible >(); function_requires< Mutable_MatrixExpressionConcept >(); size_type n (0); value_type t = value_type (); size_type i (0), j (0); matrix_type m; // Element support #ifndef SKIP_BAD pointer p = m.find_element (i, j); ignore_unused_variable_warning (i); ignore_unused_variable_warning (j); #else pointer p; #endif // Element assigment value_type r = m.insert_element (i, j, t); m.insert_element (i, j, t) = r; // Zeroing m.clear (); // Resize m.resize (n, n); m.resize (n, n, false); ignore_unused_variable_warning (p); ignore_unused_variable_warning (r); } }; template struct SparseMatrixConcept { typedef M matrix_type; typedef typename M::size_type size_type; void constraints () { function_requires< MatrixConcept >(); } }; template struct Mutable_SparseMatrixConcept { typedef M matrix_type; typedef typename M::size_type size_type; typedef typename M::value_type value_type; void constraints () { function_requires< SparseMatrixConcept >(); function_requires< Mutable_MatrixConcept >(); size_type i (0), j (0); matrix_type m; // Elemnent erasure m.erase_element (i, j); } }; /** introduce anonymous namespace to make following functions * local to the current compilation unit. */ namespace { // Replaced the ZeroElement and OneElement functions with the templated versions // because the former where giving warnings with clang template T ZeroElement (T) { return T(0.0); } template vector ZeroElement (vector) { return zero_vector (); } template matrix ZeroElement (matrix) { return zero_matrix (); } template T OneElement (T) { return T(0.0); } template vector OneElement (vector) { return zero_vector (); } template matrix OneElement (matrix) { return identity_matrix (); } // template<> // float // ZeroElement (float) { // return 0.f; // } // template<> // double // ZeroElement (double) { // return 0.; // } // template<> // vector // ZeroElement (vector) { // return zero_vector (); // } // template<> // vector // ZeroElement (vector) { // return zero_vector (); // } // template<> // matrix // ZeroElement (matrix) { // return zero_matrix (); // } // template<> // matrix // ZeroElement (matrix) { // return zero_matrix (); // } // template<> // std::complex // ZeroElement (std::complex) { // return std::complex (0.f); // } // template<> // std::complex // ZeroElement (std::complex) { // return std::complex (0.); // } // template<> // vector > // ZeroElement (vector >) { // return zero_vector > (); // } // template<> // vector > // ZeroElement (vector >) { // return zero_vector > (); // } // template<> // matrix > // ZeroElement (matrix >) { // return zero_matrix > (); // } // template<> // matrix > // ZeroElement (matrix >) { // return zero_matrix > (); // } // template // T // OneElement (T); // template<> // float // OneElement (float) { // return 1.f; // } // template<> // double // OneElement (double) { // return 1.; // } // template<> // matrix // OneElement (matrix) { // return identity_matrix (); // } // template<> // matrix // OneElement (matrix) { // return identity_matrix (); // } // template<> // std::complex // OneElement (std::complex) { // return std::complex (1.f); // } // template<> // std::complex // OneElement (std::complex) { // return std::complex (1.); // } // template<> // matrix > // OneElement (matrix >) { // return identity_matrix > (); // } // template<> // matrix > // OneElement (matrix >) { // return identity_matrix > (); // } template bool operator == (const vector_expression &e1, const vector_expression &e2) { typedef typename promote_traits::promote_type value_type; typedef typename type_traits::real_type real_type; return norm_inf (e1 - e2) == real_type/*zero*/(); } template bool operator == (const matrix_expression &e1, const matrix_expression &e2) { typedef typename promote_traits::promote_type value_type; typedef typename type_traits::real_type real_type; return norm_inf (e1 - e2) == real_type/*zero*/(); } template struct AdditiveAbelianGroupConcept { typedef T value_type; void constraints () { bool r; value_type a = value_type (), b = value_type (), c = value_type (); r = (a + b) + c == a + (b + c); r = ZeroElement (value_type ()) + a == a; r = a + ZeroElement (value_type ()) == a; r = a + (- a) == ZeroElement (value_type ()); r = (- a) + a == ZeroElement (value_type ()); r = a + b == b + a; ignore_unused_variable_warning (r); } }; template struct MultiplicativeAbelianGroupConcept { typedef T value_type; void constraints () { bool r; value_type a = value_type (), b = value_type (), c = value_type (); r = (a * b) * c == a * (b * c); r = OneElement (value_type ()) * a == a; r = a * OneElement (value_type ()) == a; r = a * (OneElement (value_type ()) / a) == a; r = (OneElement (value_type ()) / a) * a == a; r = a * b == b * a; ignore_unused_variable_warning (r); } }; template struct RingWithIdentityConcept { typedef T value_type; void constraints () { function_requires< AdditiveAbelianGroupConcept >(); bool r; value_type a = value_type (), b = value_type (), c = value_type (); r = (a * b) * c == a * (b * c); r = (a + b) * c == a * c + b * c; r = OneElement (value_type ()) * a == a; r = a * OneElement (value_type ()) == a; ignore_unused_variable_warning (r); } }; template struct Prod_RingWithIdentityConcept { typedef T value_type; void constraints () { function_requires< AdditiveAbelianGroupConcept >(); bool r; value_type a = value_type (), b = value_type (), c = value_type (); r = prod (T (prod (a, b)), c) == prod (a, T (prod (b, c))); r = prod (a + b, c) == prod (a, c) + prod (b, c); r = prod (OneElement (value_type ()), a) == a; r = prod (a, OneElement (value_type ())) == a; ignore_unused_variable_warning (r); } }; template struct CommutativeRingWithIdentityConcept { typedef T value_type; void constraints () { function_requires< RingWithIdentityConcept >(); bool r; value_type a = value_type (), b = value_type (); r = a * b == b * a; ignore_unused_variable_warning (r); } }; template struct FieldConcept { typedef T value_type; void constraints () { function_requires< CommutativeRingWithIdentityConcept >(); bool r; value_type a = value_type (); r = a == ZeroElement (value_type ()) || a * (OneElement (value_type ()) / a) == a; r = a == ZeroElement (value_type ()) || (OneElement (value_type ()) / a) * a == a; ignore_unused_variable_warning (r); } }; template struct VectorSpaceConcept { typedef T value_type; typedef V vector_type; void constraints () { function_requires< FieldConcept >(); function_requires< AdditiveAbelianGroupConcept >(); bool r; value_type alpha = value_type (), beta = value_type (); vector_type a = vector_type (), b = vector_type (); r = alpha * (a + b) == alpha * a + alpha * b; r = (alpha + beta) * a == alpha * a + beta * a; r = (alpha * beta) * a == alpha * (beta * a); r = OneElement (value_type ()) * a == a; ignore_unused_variable_warning (r); } }; template struct LinearOperatorConcept { typedef T value_type; typedef V vector_type; typedef M matrix_type; void constraints () { function_requires< VectorSpaceConcept >(); bool r; value_type alpha = value_type (), beta = value_type (); vector_type a = vector_type (), b = vector_type (); matrix_type A = matrix_type (); r = prod (A, alpha * a + beta * b) == alpha * prod (A, a) + beta * prod (A, b); ignore_unused_variable_warning (r); } }; inline void concept_checks () { // Allow tests to be group to keep down compiler storage requirement #ifdef INTERAL #define INTERNAL_STORAGE #define INTERNAL_VECTOR #define INTERNAL_MATRIX #define INTERNAL_SPECIAL #define INTERNAL_SPARSE #define INTERNAL_EXPRESSION #endif // TODO enable this for development // #define VIEW_CONCEPTS // Element value type for tests typedef float T; // Storage Array #if defined (INTERNAL_STORAGE) || defined (INTERNAL_STORAGE_DENSE) { typedef std::vector container_model; function_requires< Mutable_StorageArrayConcept >(); function_requires< RandomAccessIteratorConcept >(); function_requires< Mutable_RandomAccessIteratorConcept >(); } { typedef bounded_array container_model; function_requires< Mutable_StorageArrayConcept >(); function_requires< RandomAccessIteratorConcept >(); function_requires< Mutable_RandomAccessIteratorConcept >(); } { typedef unbounded_array container_model; function_requires< Mutable_StorageArrayConcept >(); function_requires< RandomAccessIteratorConcept >(); function_requires< Mutable_RandomAccessIteratorConcept >(); } /* FIXME array_adaptors are in progress { typedef array_adaptor container_model; function_requires< Mutable_StorageArrayConcept >(); function_requires< RandomAccessIteratorConcept >(); function_requires< Mutable_RandomAccessIteratorConcept >(); } */ { typedef range container_model; function_requires< IndexSetConcept >(); function_requires< RandomAccessIteratorConcept >(); } { typedef slice container_model; function_requires< IndexSetConcept >(); function_requires< RandomAccessIteratorConcept >(); } { typedef indirect_array<> container_model; function_requires< IndexSetConcept >(); function_requires< RandomAccessIteratorConcept >(); } #endif // Storage Sparse #if defined (INTERNAL_STORAGE) || defined (INTERNAL_STORAGE_SPARSE) { typedef map_array container_model; function_requires< Mutable_StorageSparseConcept >(); function_requires< RandomAccessIteratorConcept >(); function_requires< RandomAccessIteratorConcept >(); } { typedef std::map container_model; function_requires< Mutable_StorageSparseConcept >(); function_requires< BidirectionalIteratorConcept >(); function_requires< BidirectionalIteratorConcept >(); } #endif #ifdef VIEW_CONCEPTS // read only vectors { typedef vector_view container_model; function_requires< RandomAccessContainerConcept >(); function_requires< VectorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); } #endif // Vector #if defined (INTERNAL_VECTOR) || defined (INTERNAL_VECTOR_DENSE) { typedef vector container_model; function_requires< RandomAccessContainerConcept >(); function_requires< Mutable_VectorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); } { typedef zero_vector container_model; function_requires< VectorConcept >(); function_requires< IndexedBidirectional1DIteratorConcept >(); function_requires< IndexedBidirectional1DIteratorConcept >(); } { typedef unit_vector container_model; function_requires< VectorConcept >(); function_requires< IndexedBidirectional1DIteratorConcept >(); function_requires< IndexedBidirectional1DIteratorConcept >(); } { typedef scalar_vector container_model; function_requires< VectorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); } { typedef c_vector container_model; function_requires< Mutable_VectorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); } #endif // Vector Proxies #if defined (INTERNAL_VECTOR) || defined (INTERNAL_VECTOR_PROXY) { typedef vector_range > container_model; function_requires< Mutable_VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); } { typedef vector_slice > container_model; function_requires< Mutable_VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); } { typedef vector_indirect > container_model; function_requires< Mutable_VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); } #endif // Sparse Vector #if defined (INTERNAL_SPARSE) || defined (INTERNAL_VECTOR_SPARSE) { typedef mapped_vector container_model; function_requires< Mutable_SparseVectorConcept >(); function_requires< IndexedBidirectional1DIteratorConcept >(); function_requires< Mutable_IndexedBidirectional1DIteratorConcept >(); function_requires< IndexedBidirectional1DIteratorConcept >(); function_requires< Mutable_IndexedBidirectional1DIteratorConcept >(); } { typedef compressed_vector container_model; function_requires< Mutable_SparseVectorConcept >(); function_requires< IndexedBidirectional1DIteratorConcept >(); function_requires< Mutable_IndexedBidirectional1DIteratorConcept >(); function_requires< IndexedBidirectional1DIteratorConcept >(); function_requires< Mutable_IndexedBidirectional1DIteratorConcept >(); } { typedef coordinate_vector container_model; function_requires< Mutable_SparseVectorConcept >(); function_requires< IndexedBidirectional1DIteratorConcept >(); function_requires< Mutable_IndexedBidirectional1DIteratorConcept >(); function_requires< IndexedBidirectional1DIteratorConcept >(); function_requires< Mutable_IndexedBidirectional1DIteratorConcept >(); } #endif // Matrix #if defined (INTERNAL_MATRIX) || defined (INTERNAL_MATRIX_DENSE) { typedef matrix container_model; function_requires< Mutable_MatrixConcept > >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); } { typedef vector_of_vector container_model; function_requires< Mutable_MatrixConcept > >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); } { typedef zero_matrix container_model; function_requires< Mutable_MatrixConcept > >(); function_requires< IndexedBidirectional2DIteratorConcept >(); function_requires< IndexedBidirectional2DIteratorConcept >(); } { typedef identity_matrix container_model; function_requires< Mutable_MatrixConcept > >(); function_requires< IndexedBidirectional2DIteratorConcept >(); function_requires< IndexedBidirectional2DIteratorConcept >(); } { typedef scalar_matrix container_model; function_requires< Mutable_MatrixConcept > >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); } { typedef c_matrix container_model; function_requires< Mutable_MatrixConcept > >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); } #endif // Matrix Proxies #if defined (INTERNAL_MATRIX) || defined (INTERNAL_MATRIX_PROXY) { typedef matrix_row > container_model; function_requires< Mutable_VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); } { typedef matrix_column > container_model; function_requires< Mutable_VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); } { typedef matrix_vector_range > container_model; function_requires< Mutable_VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); } { typedef matrix_vector_slice > container_model; function_requires< Mutable_VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); } { typedef matrix_vector_indirect > container_model; function_requires< Mutable_VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); } { typedef matrix_range > container_model; function_requires< Mutable_MatrixExpressionConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); } { typedef matrix_slice > container_model; function_requires< Mutable_MatrixExpressionConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); } { typedef matrix_indirect > container_model; function_requires< Mutable_MatrixExpressionConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); } #endif // Banded Matrix #if defined (INTERNAL_SPECIAL) || defined (INTERNAL_BANDED) { typedef banded_matrix container_model; function_requires< Mutable_MatrixConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); } { typedef banded_adaptor > container_model; function_requires< Mutable_MatrixExpressionConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); } #endif // Triangular Matrix #if defined (INTERNAL_SPECIAL) || defined (INTERNAL_TRIANGULAR) { typedef triangular_matrix container_model; function_requires< Mutable_MatrixConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); } { typedef triangular_adaptor > container_model; function_requires< Mutable_MatrixExpressionConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); } #endif // Symmetric Matrix #if defined (INTERNA_SPECIAL) || defined (INTERNAL_SYMMETRIC) { typedef symmetric_matrix container_model; function_requires< Mutable_MatrixConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); } { typedef banded_adaptor > container_model; #ifndef SKIP_BAD // const_iterator (iterator) constructor is bad function_requires< Mutable_MatrixExpressionConcept >(); #endif function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); } #endif // Hermitian Matrix #if defined (INTERNAL_SPECIAL) || defined (INTERNAL_HERMITIAN) { typedef hermitian_matrix container_model; function_requires< Mutable_MatrixConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); } { typedef hermitian_adaptor > container_model; #ifndef SKIP_BAD // const_iterator (iterator) constructor is bad function_requires< Mutable_MatrixExpressionConcept >(); #endif function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); } #endif // Sparse Matrix #if defined (INTERNAL_SPARSE) || defined (INTERNAL_MATRIX_SPARSE) { typedef mapped_matrix container_model; function_requires< Mutable_SparseMatrixConcept >(); function_requires< IndexedBidirectional2DIteratorConcept >(); function_requires< Mutable_IndexedBidirectional2DIteratorConcept >(); function_requires< IndexedBidirectional2DIteratorConcept >(); function_requires< Mutable_IndexedBidirectional2DIteratorConcept >(); } { typedef mapped_vector_of_mapped_vector container_model; function_requires< Mutable_SparseMatrixConcept >(); function_requires< IndexedBidirectional2DIteratorConcept >(); function_requires< Mutable_IndexedBidirectional2DIteratorConcept >(); function_requires< IndexedBidirectional2DIteratorConcept >(); function_requires< Mutable_IndexedBidirectional2DIteratorConcept >(); } { typedef compressed_matrix container_model; function_requires< Mutable_SparseMatrixConcept >(); function_requires< IndexedBidirectional2DIteratorConcept >(); function_requires< Mutable_IndexedBidirectional2DIteratorConcept >(); function_requires< IndexedBidirectional2DIteratorConcept >(); function_requires< Mutable_IndexedBidirectional2DIteratorConcept >(); } { typedef coordinate_matrix container_model; function_requires< Mutable_SparseMatrixConcept >(); function_requires< IndexedBidirectional2DIteratorConcept >(); function_requires< Mutable_IndexedBidirectional2DIteratorConcept >(); function_requires< IndexedBidirectional2DIteratorConcept >(); function_requires< Mutable_IndexedBidirectional2DIteratorConcept >(); } { typedef generalized_vector_of_vector > > container_model; function_requires< Mutable_SparseMatrixConcept >(); function_requires< IndexedBidirectional2DIteratorConcept >(); function_requires< Mutable_IndexedBidirectional2DIteratorConcept >(); function_requires< IndexedBidirectional2DIteratorConcept >(); function_requires< Mutable_IndexedBidirectional2DIteratorConcept >(); } #endif // Scalar Expressions #if defined (INTERNAL_EXPRESSION) || defined (INTERNAL_VECTOR_EXPRESSION) function_requires< ScalarExpressionConcept > >(); function_requires< ScalarExpressionConcept > >(); // Vector Expressions { typedef vector_reference > expression_model; function_requires< VectorExpressionConcept >(); function_requires< Mutable_VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess1DIteratorConcept >(); } { typedef vector_unary, scalar_identity > expression_model; function_requires< VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); } { typedef vector_binary, vector, scalar_plus > expression_model; function_requires< VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); } { typedef vector_binary_scalar1, scalar_multiplies > expression_model; function_requires< VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); } { typedef vector_binary_scalar2, scalar_value, scalar_multiplies > expression_model; function_requires< VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); } { typedef vector_binary_scalar1, vector, scalar_multiplies > expression_model; function_requires< VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); } { typedef vector_binary_scalar2, scalar_value, scalar_multiplies > expression_model; function_requires< VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); } function_requires< ScalarExpressionConcept, vector_sum > > > >(); function_requires< ScalarExpressionConcept, vector_norm_1 > > > >(); function_requires< ScalarExpressionConcept, vector_norm_2 > > > >(); function_requires< ScalarExpressionConcept, vector_norm_inf > > > >(); function_requires< ScalarExpressionConcept, vector, vector_inner_prod, vector, T> > > >(); #endif // Matrix Expressions #if defined (INTERNAL_EXPRESSION) || defined (INTERNAL_MATRIX_EXPRESSION) { typedef matrix_reference > expression_model; function_requires< MatrixExpressionConcept >(); function_requires< Mutable_MatrixExpressionConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< Mutable_IndexedRandomAccess2DIteratorConcept >(); } { typedef vector_matrix_binary, vector, scalar_multiplies > expression_model; function_requires< MatrixExpressionConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); } { typedef matrix_unary1, scalar_identity > expression_model; function_requires< MatrixExpressionConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); } { typedef matrix_unary2, scalar_identity > expression_model; function_requires< MatrixExpressionConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); } { typedef matrix_binary, matrix, scalar_plus > expression_model; function_requires< MatrixExpressionConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); } { typedef matrix_binary_scalar1, scalar_multiplies > expression_model; function_requires< MatrixExpressionConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); } { typedef matrix_binary_scalar2, T, scalar_multiplies > expression_model; function_requires< MatrixExpressionConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); } { typedef matrix_binary_scalar1, matrix, scalar_multiplies > expression_model; function_requires< MatrixExpressionConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); } { typedef matrix_binary_scalar2, scalar_value, scalar_multiplies > expression_model; function_requires< MatrixExpressionConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); } { typedef matrix_vector_binary1, vector, matrix_vector_prod1, vector, T> > expression_model; function_requires< VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); } { typedef matrix_vector_binary2, matrix, matrix_vector_prod2, vector, T > > expression_model; function_requires< VectorExpressionConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); function_requires< IndexedRandomAccess1DIteratorConcept >(); } { typedef matrix_matrix_binary, matrix, matrix_matrix_prod, matrix, T > > expression_model; function_requires< MatrixExpressionConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); function_requires< IndexedRandomAccess2DIteratorConcept >(); } function_requires< ScalarExpressionConcept, matrix_norm_1 > > > >(); function_requires< ScalarExpressionConcept, matrix_norm_frobenius > > > >(); function_requires< ScalarExpressionConcept, matrix_norm_inf > > > >(); #endif #ifdef EXTERNAL function_requires< AdditiveAbelianGroupConcept >(); function_requires< CommutativeRingWithIdentityConcept >(); function_requires< FieldConcept >(); function_requires< VectorSpaceConcept > >(); function_requires< Prod_RingWithIdentityConcept > >(); function_requires< VectorSpaceConcept > >(); function_requires< LinearOperatorConcept, matrix > >(); function_requires< AdditiveAbelianGroupConcept > >(); function_requires< CommutativeRingWithIdentityConcept > >(); function_requires< FieldConcept > >(); function_requires< VectorSpaceConcept, vector > > >(); function_requires< Prod_RingWithIdentityConcept > > >(); function_requires< VectorSpaceConcept, matrix > > >(); function_requires< LinearOperatorConcept, vector >, matrix > > >(); #endif } } // end of anonymous namespace }}} #endif KWStyle-master/Utilities/boost/numeric/ublas/detail/config.hpp000066400000000000000000000175201265471724600250250ustar00rootroot00000000000000// // Copyright (c) 2000-2002 // Joerg Walter, Mathias Koch // // Distributed under the 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 authors gratefully acknowledge the support of // GeNeSys mbH & Co. KG in producing this work. // #ifndef _BOOST_UBLAS_CONFIG_ #define _BOOST_UBLAS_CONFIG_ #include #include #include #include #include #include #include #include #include #include #include #include #include // C++11 #if defined(__cplusplus) && __cplusplus >= 201103L #define BOOST_UBLAS_CPP_GE_2011 #elif BOOST_MSVC >= 1800 #define BOOST_UBLAS_CPP_GE_2011 #else #undef BOOST_UBLAS_CPP_GE_2011 // Make sure no one defined it #endif // Microsoft Visual C++ #if defined (BOOST_MSVC) && ! defined (BOOST_STRICT_CONFIG) // Version 7.1 #if BOOST_MSVC == 1310 // One of these workarounds is needed for MSVC 7.1 AFAIK // (thanks to John Maddock and Martin Lauer). #if !(defined(BOOST_UBLAS_NO_NESTED_CLASS_RELATION) || defined(BOOST_UBLAS_MSVC_NESTED_CLASS_RELATION)) #define BOOST_UBLAS_NO_NESTED_CLASS_RELATION #endif #endif #endif // GNU Compiler Collection #if defined (__GNUC__) && ! defined (BOOST_STRICT_CONFIG) #if __GNUC__ >= 4 || (__GNUC__ >= 3 && __GNUC_MINOR__ >= 4) // Specified by ABI definition see GCC bug id 9982 #define BOOST_UBLAS_USEFUL_ARRAY_PLACEMENT_NEW #endif #if __GNUC__ < 3 #define BOOST_UBLAS_UNSUPPORTED_COMPILER 1 #endif #endif // Intel Compiler #if defined (BOOST_INTEL) && ! defined (BOOST_STRICT_CONFIG) #if defined (BOOST_INTEL_LINUX) && (BOOST_INTEL_LINUX >= 800) // By inspection of compiler results #define BOOST_UBLAS_USEFUL_ARRAY_PLACEMENT_NEW #endif #if (BOOST_INTEL < 700) #define BOOST_UBLAS_UNSUPPORTED_COMPILER 1 #endif // Define swap for index_pair and triple. #if (BOOST_INTEL <= 800) namespace boost { namespace numeric { namespace ublas { template class indexed_iterator; template class index_pair; template class index_triple; }}} namespace std { template inline void swap (boost::numeric::ublas::index_pair i1, boost::numeric::ublas::index_pair i2) { i1.swap (i2); } template inline void swap (boost::numeric::ublas::index_triple i1, boost::numeric::ublas::index_triple i2) { i1.swap (i2); } // iter_swap also needed for ICC on Itanium? template inline void iter_swap (boost::numeric::ublas::indexed_iterator it1, boost::numeric::ublas::indexed_iterator it2) { swap (*it1, *it2); } } #endif #endif // Comeau compiler - thanks to Kresimir Fresl #if defined (__COMO__) && ! defined (BOOST_STRICT_CONFIG) // Missing std::abs overloads for float types in are in #if defined(__LIBCOMO__) && (__LIBCOMO_VERSION__ <= 31) #include #endif #endif // PGI compiler #ifdef __PGIC__ #define BOOST_UBLAS_UNSUPPORTED_COMPILER 0 #endif // HP aCC C++ compiler #if defined (__HP_aCC) && ! defined (BOOST_STRICT_CONFIG) # if (__HP_aCC >= 60000 ) # define BOOST_UBLAS_USEFUL_ARRAY_PLACEMENT_NEW #endif #endif // SGI MIPSpro C++ compiler #if defined (__sgi) && ! defined (BOOST_STRICT_CONFIG) // Missing std::abs overloads for float types in are in // This test should be library version specific. #include #if __COMPILER_VERSION >=650 // By inspection of compiler results - thanks to Peter Schmitteckert #define BOOST_UBLAS_USEFUL_ARRAY_PLACEMENT_NEW #endif #endif // Metrowerks Codewarrior #if defined (__MWERKS__) && ! defined (BOOST_STRICT_CONFIG) // 8.x #if __MWERKS__ <= 0x3003 #define BOOST_UBLAS_UNSUPPORTED_COMPILER 1 #endif #endif // Detect other compilers with serious defects - override by defineing BOOST_UBLAS_UNSUPPORTED_COMPILER=0 #ifndef BOOST_UBLAS_UNSUPPORTED_COMPILER #if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) || defined(BOOST_NO_SFINAE) || defined(BOOST_NO_STDC_NAMESPACE) #define BOOST_UBLAS_UNSUPPORTED_COMPILER 1 #endif #endif // Cannot continue with an unsupported compiler #if defined(BOOST_UBLAS_UNSUPPORTED_COMPILER) && (BOOST_UBLAS_UNSUPPORTED_COMPILER != 0) #error Your compiler and/or configuration is unsupported by this verions of uBLAS. Define BOOST_UBLAS_UNSUPPORTED_COMPILER=0 to override this message. Boost 1.32.0 includes uBLAS with support for many older compilers. #endif // Enable performance options in RELEASE mode #if defined (NDEBUG) || defined (BOOST_UBLAS_NDEBUG) #ifndef BOOST_UBLAS_INLINE #define BOOST_UBLAS_INLINE inline #endif // Do not check sizes! #define BOOST_UBLAS_USE_FAST_SAME // NO runtime error checks with BOOST_UBLAS_CHECK macro #ifndef BOOST_UBLAS_CHECK_ENABLE #define BOOST_UBLAS_CHECK_ENABLE 0 #endif // NO type compatibility numeric checks #ifndef BOOST_UBLAS_TYPE_CHECK #define BOOST_UBLAS_TYPE_CHECK 0 #endif // Disable performance options in DEBUG mode #else #ifndef BOOST_UBLAS_INLINE #define BOOST_UBLAS_INLINE #endif // Enable runtime error checks with BOOST_UBLAS_CHECK macro. Check bounds etc #ifndef BOOST_UBLAS_CHECK_ENABLE #define BOOST_UBLAS_CHECK_ENABLE 1 #endif // Type compatibiltity numeric checks #ifndef BOOST_UBLAS_TYPE_CHECK #define BOOST_UBLAS_TYPE_CHECK 1 #endif #endif /* * Type compatibility checks * Control type compatibility numeric runtime checks for non dense matrices. * Require additional storage and complexity */ #if BOOST_UBLAS_TYPE_CHECK template struct disable_type_check { static bool value; }; template bool disable_type_check::value = false; #endif #ifndef BOOST_UBLAS_TYPE_CHECK_EPSILON #define BOOST_UBLAS_TYPE_CHECK_EPSILON (type_traits::type_sqrt (std::numeric_limits::epsilon ())) #endif #ifndef BOOST_UBLAS_TYPE_CHECK_MIN #define BOOST_UBLAS_TYPE_CHECK_MIN (type_traits::type_sqrt ( (std::numeric_limits::min) ())) #endif /* * General Configuration */ // Proxy shortcuts overload the alreadly heavily over used operator () //#define BOOST_UBLAS_ENABLE_PROXY_SHORTCUTS // In order to simplify debugging is is possible to simplify expression template // so they are restricted to a single operation // #define BOOST_UBLAS_SIMPLE_ET_DEBUG // Use invariant hoisting. // #define BOOST_UBLAS_USE_INVARIANT_HOISTING // Use Duff's device in element access loops // #define BOOST_UBLAS_USE_DUFF_DEVICE // Choose evaluation method for dense vectors and matrices #if !(defined(BOOST_UBLAS_USE_INDEXING) || defined(BOOST_UBLAS_USE_ITERATING)) #define BOOST_UBLAS_USE_INDEXING #endif // #define BOOST_UBLAS_ITERATOR_THRESHOLD 0 // Use indexed iterators - unsupported implementation experiment // #define BOOST_UBLAS_USE_INDEXED_ITERATOR // Alignment of bounded_array type #ifndef BOOST_UBLAS_BOUNDED_ARRAY_ALIGN #define BOOST_UBLAS_BOUNDED_ARRAY_ALIGN #endif // Enable different sparse element proxies #ifndef BOOST_UBLAS_NO_ELEMENT_PROXIES // Sparse proxies prevent reference invalidation problems in expressions such as: // a [1] = a [0] = 1 Thanks to Marc Duflot for spotting this. // #define BOOST_UBLAS_STRICT_MAP_ARRAY #define BOOST_UBLAS_STRICT_VECTOR_SPARSE #define BOOST_UBLAS_STRICT_MATRIX_SPARSE // Hermitian matrices use element proxies to allow assignment to conjugate triangle #define BOOST_UBLAS_STRICT_HERMITIAN #endif // Define to configure special settings for reference returning members // #define BOOST_UBLAS_REFERENCE_CONST_MEMBER // #define BOOST_UBLAS_PROXY_CONST_MEMBER // Include type declerations and functions #include #include #endif KWStyle-master/Utilities/boost/numeric/ublas/detail/definitions.hpp000066400000000000000000000145541265471724600260770ustar00rootroot00000000000000// // Copyright (c) 2000-2002 // Joerg Walter, Mathias Koch // // Distributed under the 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 authors gratefully acknowledge the support of // GeNeSys mbH & Co. KG in producing this work. // #ifndef _BOOST_UBLAS_DEFINITIONS_ #define _BOOST_UBLAS_DEFINITIONS_ namespace boost { namespace numeric { namespace ublas { namespace detail { /* Borrowed from boost/concept_checks.hpp "inline" is used for ignore_unused_variable_warning() to make sure there is no overhead with g++. */ template inline void ignore_unused_variable_warning(const T&) {} } // namespace detail // Borrowed from Dave Abraham's noncopyable. // I believe this should be part of utility.hpp one day... namespace nonassignable_ // protection from unintended ADL { class nonassignable { protected: nonassignable () {} ~nonassignable () {} private: // emphasize the following members are private const nonassignable& operator= (const nonassignable &); }; // nonassignable } typedef nonassignable_::nonassignable nonassignable; // Assignment proxy. // Provides temporary free assigment when LHS has no alias on RHS template class noalias_proxy: private nonassignable { public: typedef typename C::closure_type closure_type; BOOST_UBLAS_INLINE noalias_proxy (C& lval): nonassignable (), lval_ (lval) {} BOOST_UBLAS_INLINE noalias_proxy (const noalias_proxy& p): nonassignable (), lval_ (p.lval_) {} template BOOST_UBLAS_INLINE closure_type &operator= (const E& e) { lval_.assign (e); return lval_; } template BOOST_UBLAS_INLINE closure_type &operator+= (const E& e) { lval_.plus_assign (e); return lval_; } template BOOST_UBLAS_INLINE closure_type &operator-= (const E& e) { lval_.minus_assign (e); return lval_; } private: closure_type lval_; }; // Improve syntax of efficient assignment where no aliases of LHS appear on the RHS // noalias(lhs) = rhs_expression template BOOST_UBLAS_INLINE noalias_proxy noalias (C& lvalue) { return noalias_proxy (lvalue); } template BOOST_UBLAS_INLINE noalias_proxy noalias (const C& lvalue) { return noalias_proxy (lvalue); } // Possible future compatible syntax where lvalue possible has an unsafe alias on the RHS // safe(lhs) = rhs_expression template BOOST_UBLAS_INLINE C& safe (C& lvalue) { return lvalue; } template BOOST_UBLAS_INLINE const C& safe (const C& lvalue) { return lvalue; } // Dimension accessors namespace dimension { // Generic accessors template struct dimension_properties {}; template<> struct dimension_properties<1> { template BOOST_UBLAS_INLINE static typename E::size_type size (const vector_expression &e) { return e ().size (); } template BOOST_UBLAS_INLINE static typename E::size_type size (const matrix_expression &e) { return e ().size1 (); } // Note: Index functions cannot deduce dependant template parameter V or M from i template BOOST_UBLAS_INLINE static typename V::size_type index (const typename V::iterator &i) { return i.index (); } template BOOST_UBLAS_INLINE static typename M::size_type index (const typename M::iterator1 &i) { return i.index1 (); } template BOOST_UBLAS_INLINE static typename M::size_type index (const typename M::iterator2 &i) { return i.index1 (); } }; template<> struct dimension_properties<2> { template BOOST_UBLAS_INLINE static typename E::size_type size (const vector_expression &) { return 1; } template BOOST_UBLAS_INLINE static typename E::size_type size (const matrix_expression &e) { return e ().size2 (); } template BOOST_UBLAS_INLINE static typename V::size_type index (const typename V::iterator &) { return 1; } template BOOST_UBLAS_INLINE static typename M::size_type index (const typename M::iterator1 &i) { return i.index2 (); } template BOOST_UBLAS_INLINE static typename M::size_type index (const typename M::iterator2 &i) { return i.index2 (); } }; template BOOST_UBLAS_INLINE typename E::size_type size (const E& e) { return dimension_properties::size (e); } template BOOST_UBLAS_INLINE typename I::container_type::size_type index (const I& i) { typedef typename I::container_type container_type; return dimension_properties::template index (i); } // Named accessors - just syntactic sugar template typename V::size_type num_elements (const V &v) { return v.size (); } template typename M::size_type num_rows (const M &m) { return m.size1 (); } template typename M::size_type num_columns (const M &m) { return m.size2 (); } template typename MV::size_type num_non_zeros (const MV &mv) { return mv.non_zeros (); } } }}} #endif KWStyle-master/Utilities/boost/numeric/ublas/detail/documentation.hpp000066400000000000000000000015631265471724600264310ustar00rootroot00000000000000// // Copyright (c) 2000-2004 // Joerg Walter, Mathias Koch // // Distributed under the 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 authors gratefully acknowledge the support of // GeNeSys mbH & Co. KG in producing this work. // // this file should not contain any code, but the documentation // global to all files /** \namespace boost::numeric::ublas \brief contains all important classes and functions of uBLAS all ublas definitions ... \todo expand this section */ /** \defgroup blas1 Level 1 BLAS \brief level 1 basic linear algebra subroutines */ /** \defgroup blas2 Level 2 BLAS \brief level 2 basic linear algebra subroutines */ /** \defgroup blas3 Level 3 BLAS \brief level 3 basic linear algebra subroutines */ KWStyle-master/Utilities/boost/numeric/ublas/detail/duff.hpp000066400000000000000000000025421265471724600245020ustar00rootroot00000000000000// // Copyright (c) 2000-2002 // Joerg Walter, Mathias Koch // // Distributed under the 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 authors gratefully acknowledge the support of // GeNeSys mbH & Co. KG in producing this work. // #ifndef _BOOST_UBLAS_DUFF_ #define _BOOST_UBLAS_DUFF_ #define DD_SWITCH(n, d, r, expr) \ { \ unsigned r = ((n) + (d) - 1) / (d); \ switch ((n) % (d)) { \ case 0: do { expr; #define DD_CASE_I(i, expr) \ case (i): expr; #define DD_WHILE(r) \ } while (-- (r) > 0); \ } \ } #define DD_1T(n, d, r, expr) \ DD_WHILE(r) #define DD_2T(n, d, r, expr) \ DD_CASE_I(1, expr) \ DD_1T(n, d, r, expr) #define DD_3T(n, d, r, expr) \ DD_CASE_I(2, expr) \ DD_2T(n, d, r, expr) #define DD_4T(n, d, r, expr) \ DD_CASE_I(3, expr) \ DD_3T(n, d, r, expr) #define DD_5T(n, d, r, expr) \ DD_CASE_I(4, expr) \ DD_4T(n, d, r, expr) #define DD_6T(n, d, r, expr) \ DD_CASE_I(5, expr) \ DD_5T(n, d, r, expr) #define DD_7T(n, d, r, expr) \ DD_CASE_I(6, expr) \ DD_6T(n, d, r, expr) #define DD_8T(n, d, r, expr) \ DD_CASE_I(7, expr) \ DD_7T(n, d, r, expr) #define DD(n, d, r, expr) \ DD_SWITCH(n, d, r, expr) \ DD_##d##T(n, d, r, expr) #endif KWStyle-master/Utilities/boost/numeric/ublas/detail/iterator.hpp000066400000000000000000001422441265471724600254130ustar00rootroot00000000000000// // Copyright (c) 2000-2002 // Joerg Walter, Mathias Koch // // Distributed under the 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 authors gratefully acknowledge the support of // GeNeSys mbH & Co. KG in producing this work. // #ifndef _BOOST_UBLAS_ITERATOR_ #define _BOOST_UBLAS_ITERATOR_ #include #include namespace boost { namespace numeric { namespace ublas { /** \brief Base class of all proxy classes that contain * a (redirectable) reference to an immutable object. * * \param C the type of the container referred to */ template class container_const_reference: private nonassignable { public: typedef C container_type; BOOST_UBLAS_INLINE container_const_reference (): c_ (0) {} BOOST_UBLAS_INLINE container_const_reference (const container_type &c): c_ (&c) {} BOOST_UBLAS_INLINE const container_type &operator () () const { return *c_; } BOOST_UBLAS_INLINE container_const_reference &assign (const container_type *c) { c_ = c; return *this; } // Closure comparison BOOST_UBLAS_INLINE bool same_closure (const container_const_reference &cr) const { return c_ == cr.c_; } private: const container_type *c_; }; /** \brief Base class of all proxy classes that contain * a (redirectable) reference to a mutable object. * * \param C the type of the container referred to */ template class container_reference: private nonassignable { public: typedef C container_type; BOOST_UBLAS_INLINE container_reference (): c_ (0) {} BOOST_UBLAS_INLINE container_reference (container_type &c): c_ (&c) {} BOOST_UBLAS_INLINE container_type &operator () () const { return *c_; } BOOST_UBLAS_INLINE container_reference &assign (container_type *c) { c_ = c; return *this; } // Closure comparison BOOST_UBLAS_INLINE bool same_closure (const container_reference &cr) const { return c_ == cr.c_; } private: container_type *c_; }; /** \brief Base class of all forward iterators. * * \param IC the iterator category * \param I the derived iterator type * \param T the value type * * The forward iterator can only proceed in one direction * via the post increment operator. */ template struct forward_iterator_base: public std::iterator { typedef I derived_iterator_type; typedef T derived_value_type; // Arithmetic BOOST_UBLAS_INLINE derived_iterator_type operator ++ (int) { derived_iterator_type &d (*static_cast (this)); derived_iterator_type tmp (d); ++ d; return tmp; } BOOST_UBLAS_INLINE friend derived_iterator_type operator ++ (derived_iterator_type &d, int) { derived_iterator_type tmp (d); ++ d; return tmp; } // Comparison BOOST_UBLAS_INLINE bool operator != (const derived_iterator_type &it) const { const derived_iterator_type *d = static_cast (this); return ! (*d == it); } }; /** \brief Base class of all bidirectional iterators. * * \param IC the iterator category * \param I the derived iterator type * \param T the value type * * The bidirectional iterator can proceed in both directions * via the post increment and post decrement operator. */ template struct bidirectional_iterator_base: public std::iterator { typedef I derived_iterator_type; typedef T derived_value_type; // Arithmetic BOOST_UBLAS_INLINE derived_iterator_type operator ++ (int) { derived_iterator_type &d (*static_cast (this)); derived_iterator_type tmp (d); ++ d; return tmp; } BOOST_UBLAS_INLINE friend derived_iterator_type operator ++ (derived_iterator_type &d, int) { derived_iterator_type tmp (d); ++ d; return tmp; } BOOST_UBLAS_INLINE derived_iterator_type operator -- (int) { derived_iterator_type &d (*static_cast (this)); derived_iterator_type tmp (d); -- d; return tmp; } BOOST_UBLAS_INLINE friend derived_iterator_type operator -- (derived_iterator_type &d, int) { derived_iterator_type tmp (d); -- d; return tmp; } // Comparison BOOST_UBLAS_INLINE bool operator != (const derived_iterator_type &it) const { const derived_iterator_type *d = static_cast (this); return ! (*d == it); } }; /** \brief Base class of all random access iterators. * * \param IC the iterator category * \param I the derived iterator type * \param T the value type * \param D the difference type, default: std::ptrdiff_t * * The random access iterator can proceed in both directions * via the post increment/decrement operator or in larger steps * via the +, - and +=, -= operators. The random access iterator * is LessThan Comparable. */ template // ISSUE the default for D seems rather dangerous as it can easily be (silently) incorrect struct random_access_iterator_base: public std::iterator { typedef I derived_iterator_type; typedef T derived_value_type; typedef D derived_difference_type; /* FIXME Need to explicitly pass derived_reference_type as otherwise I undefined type or forward declared typedef typename derived_iterator_type::reference derived_reference_type; // Indexed element BOOST_UBLAS_INLINE derived_reference_type operator [] (derived_difference_type n) { return *(*this + n); } */ // Arithmetic BOOST_UBLAS_INLINE derived_iterator_type operator ++ (int) { derived_iterator_type &d (*static_cast (this)); derived_iterator_type tmp (d); ++ d; return tmp; } BOOST_UBLAS_INLINE friend derived_iterator_type operator ++ (derived_iterator_type &d, int) { derived_iterator_type tmp (d); ++ d; return tmp; } BOOST_UBLAS_INLINE derived_iterator_type operator -- (int) { derived_iterator_type &d (*static_cast (this)); derived_iterator_type tmp (d); -- d; return tmp; } BOOST_UBLAS_INLINE friend derived_iterator_type operator -- (derived_iterator_type &d, int) { derived_iterator_type tmp (d); -- d; return tmp; } BOOST_UBLAS_INLINE derived_iterator_type operator + (derived_difference_type n) const { derived_iterator_type tmp (*static_cast (this)); return tmp += n; } BOOST_UBLAS_INLINE friend derived_iterator_type operator + (const derived_iterator_type &d, derived_difference_type n) { derived_iterator_type tmp (d); return tmp += n; } BOOST_UBLAS_INLINE friend derived_iterator_type operator + (derived_difference_type n, const derived_iterator_type &d) { derived_iterator_type tmp (d); return tmp += n; } BOOST_UBLAS_INLINE derived_iterator_type operator - (derived_difference_type n) const { derived_iterator_type tmp (*static_cast (this)); return tmp -= n; } BOOST_UBLAS_INLINE friend derived_iterator_type operator - (const derived_iterator_type &d, derived_difference_type n) { derived_iterator_type tmp (d); return tmp -= n; } // Comparison BOOST_UBLAS_INLINE bool operator != (const derived_iterator_type &it) const { const derived_iterator_type *d = static_cast (this); return ! (*d == it); } BOOST_UBLAS_INLINE bool operator <= (const derived_iterator_type &it) const { const derived_iterator_type *d = static_cast (this); return ! (it < *d); } BOOST_UBLAS_INLINE bool operator >= (const derived_iterator_type &it) const { const derived_iterator_type *d = static_cast (this); return ! (*d < it); } BOOST_UBLAS_INLINE bool operator > (const derived_iterator_type &it) const { const derived_iterator_type *d = static_cast (this); return it < *d; } }; /** \brief Base class of all reverse iterators. (non-MSVC version) * * \param I the derived iterator type * \param T the value type * \param R the reference type * * The reverse iterator implements a bidirectional iterator * reversing the elements of the underlying iterator. It * implements most operators of a random access iterator. * * uBLAS extension: it.index() */ // Renamed this class from reverse_iterator to get // typedef reverse_iterator<...> reverse_iterator // working. Thanks to Gabriel Dos Reis for explaining this. template class reverse_iterator_base: public std::reverse_iterator { public: typedef typename I::container_type container_type; typedef typename container_type::size_type size_type; typedef typename I::difference_type difference_type; typedef I iterator_type; // Construction and destruction BOOST_UBLAS_INLINE reverse_iterator_base (): std::reverse_iterator () {} BOOST_UBLAS_INLINE reverse_iterator_base (const iterator_type &it): std::reverse_iterator (it) {} // Arithmetic BOOST_UBLAS_INLINE reverse_iterator_base &operator ++ () { return *this = -- this->base (); } BOOST_UBLAS_INLINE reverse_iterator_base operator ++ (int) { reverse_iterator_base tmp (*this); *this = -- this->base (); return tmp; } BOOST_UBLAS_INLINE reverse_iterator_base &operator -- () { return *this = ++ this->base (); } BOOST_UBLAS_INLINE reverse_iterator_base operator -- (int) { reverse_iterator_base tmp (*this); *this = ++ this->base (); return tmp; } BOOST_UBLAS_INLINE reverse_iterator_base &operator += (difference_type n) { return *this = this->base () - n; } BOOST_UBLAS_INLINE reverse_iterator_base &operator -= (difference_type n) { return *this = this->base () + n; } BOOST_UBLAS_INLINE friend reverse_iterator_base operator + (const reverse_iterator_base &it, difference_type n) { reverse_iterator_base tmp (it); return tmp += n; } BOOST_UBLAS_INLINE friend reverse_iterator_base operator + (difference_type n, const reverse_iterator_base &it) { reverse_iterator_base tmp (it); return tmp += n; } BOOST_UBLAS_INLINE friend reverse_iterator_base operator - (const reverse_iterator_base &it, difference_type n) { reverse_iterator_base tmp (it); return tmp -= n; } BOOST_UBLAS_INLINE friend difference_type operator - (const reverse_iterator_base &it1, const reverse_iterator_base &it2) { return it2.base () - it1.base (); } BOOST_UBLAS_INLINE const container_type &operator () () const { return this->base () (); } BOOST_UBLAS_INLINE size_type index () const { iterator_type tmp (this->base ()); return (-- tmp).index (); } }; /** \brief 1st base class of all matrix reverse iterators. (non-MSVC version) * * \param I the derived iterator type * * The reverse iterator implements a bidirectional iterator * reversing the elements of the underlying iterator. It * implements most operators of a random access iterator. * * uBLAS extension: it.index1(), it.index2() and access to * the dual iterator via begin(), end(), rbegin(), rend() */ // Renamed this class from reverse_iterator1 to get // typedef reverse_iterator1<...> reverse_iterator1 // working. Thanks to Gabriel Dos Reis for explaining this. template class reverse_iterator_base1: public std::reverse_iterator { public: typedef typename I::container_type container_type; typedef typename container_type::size_type size_type; typedef typename I::difference_type difference_type; typedef I iterator_type; typedef typename I::dual_iterator_type dual_iterator_type; typedef typename I::dual_reverse_iterator_type dual_reverse_iterator_type; // Construction and destruction BOOST_UBLAS_INLINE reverse_iterator_base1 (): std::reverse_iterator () {} BOOST_UBLAS_INLINE reverse_iterator_base1 (const iterator_type &it): std::reverse_iterator (it) {} // Arithmetic BOOST_UBLAS_INLINE reverse_iterator_base1 &operator ++ () { return *this = -- this->base (); } BOOST_UBLAS_INLINE reverse_iterator_base1 operator ++ (int) { reverse_iterator_base1 tmp (*this); *this = -- this->base (); return tmp; } BOOST_UBLAS_INLINE reverse_iterator_base1 &operator -- () { return *this = ++ this->base (); } BOOST_UBLAS_INLINE reverse_iterator_base1 operator -- (int) { reverse_iterator_base1 tmp (*this); *this = ++ this->base (); return tmp; } BOOST_UBLAS_INLINE reverse_iterator_base1 &operator += (difference_type n) { return *this = this->base () - n; } BOOST_UBLAS_INLINE reverse_iterator_base1 &operator -= (difference_type n) { return *this = this->base () + n; } BOOST_UBLAS_INLINE friend reverse_iterator_base1 operator + (const reverse_iterator_base1 &it, difference_type n) { reverse_iterator_base1 tmp (it); return tmp += n; } BOOST_UBLAS_INLINE friend reverse_iterator_base1 operator + (difference_type n, const reverse_iterator_base1 &it) { reverse_iterator_base1 tmp (it); return tmp += n; } BOOST_UBLAS_INLINE friend reverse_iterator_base1 operator - (const reverse_iterator_base1 &it, difference_type n) { reverse_iterator_base1 tmp (it); return tmp -= n; } BOOST_UBLAS_INLINE friend difference_type operator - (const reverse_iterator_base1 &it1, const reverse_iterator_base1 &it2) { return it2.base () - it1.base (); } BOOST_UBLAS_INLINE const container_type &operator () () const { return this->base () (); } BOOST_UBLAS_INLINE size_type index1 () const { iterator_type tmp (this->base ()); return (-- tmp).index1 (); } BOOST_UBLAS_INLINE size_type index2 () const { iterator_type tmp (this->base ()); return (-- tmp).index2 (); } BOOST_UBLAS_INLINE dual_iterator_type begin () const { iterator_type tmp (this->base ()); return (-- tmp).begin (); } BOOST_UBLAS_INLINE dual_iterator_type end () const { iterator_type tmp (this->base ()); return (-- tmp).end (); } BOOST_UBLAS_INLINE dual_reverse_iterator_type rbegin () const { return dual_reverse_iterator_type (end ()); } BOOST_UBLAS_INLINE dual_reverse_iterator_type rend () const { return dual_reverse_iterator_type (begin ()); } }; /** \brief 2nd base class of all matrix reverse iterators. (non-MSVC version) * * \param I the derived iterator type * * The reverse iterator implements a bidirectional iterator * reversing the elements of the underlying iterator. It * implements most operators of a random access iterator. * * uBLAS extension: it.index1(), it.index2() and access to * the dual iterator via begin(), end(), rbegin(), rend() * * Note: this type is _identical_ to reverse_iterator_base1 */ // Renamed this class from reverse_iterator2 to get // typedef reverse_iterator2<...> reverse_iterator2 // working. Thanks to Gabriel Dos Reis for explaining this. template class reverse_iterator_base2: public std::reverse_iterator { public: typedef typename I::container_type container_type; typedef typename container_type::size_type size_type; typedef typename I::difference_type difference_type; typedef I iterator_type; typedef typename I::dual_iterator_type dual_iterator_type; typedef typename I::dual_reverse_iterator_type dual_reverse_iterator_type; // Construction and destruction BOOST_UBLAS_INLINE reverse_iterator_base2 (): std::reverse_iterator () {} BOOST_UBLAS_INLINE reverse_iterator_base2 (const iterator_type &it): std::reverse_iterator (it) {} // Arithmetic BOOST_UBLAS_INLINE reverse_iterator_base2 &operator ++ () { return *this = -- this->base (); } BOOST_UBLAS_INLINE reverse_iterator_base2 operator ++ (int) { reverse_iterator_base2 tmp (*this); *this = -- this->base (); return tmp; } BOOST_UBLAS_INLINE reverse_iterator_base2 &operator -- () { return *this = ++ this->base (); } BOOST_UBLAS_INLINE reverse_iterator_base2 operator -- (int) { reverse_iterator_base2 tmp (*this); *this = ++ this->base (); return tmp; } BOOST_UBLAS_INLINE reverse_iterator_base2 &operator += (difference_type n) { return *this = this->base () - n; } BOOST_UBLAS_INLINE reverse_iterator_base2 &operator -= (difference_type n) { return *this = this->base () + n; } BOOST_UBLAS_INLINE friend reverse_iterator_base2 operator + (const reverse_iterator_base2 &it, difference_type n) { reverse_iterator_base2 tmp (it); return tmp += n; } BOOST_UBLAS_INLINE friend reverse_iterator_base2 operator + (difference_type n, const reverse_iterator_base2 &it) { reverse_iterator_base2 tmp (it); return tmp += n; } BOOST_UBLAS_INLINE friend reverse_iterator_base2 operator - (const reverse_iterator_base2 &it, difference_type n) { reverse_iterator_base2 tmp (it); return tmp -= n; } BOOST_UBLAS_INLINE friend difference_type operator - (const reverse_iterator_base2 &it1, const reverse_iterator_base2 &it2) { return it2.base () - it1.base (); } BOOST_UBLAS_INLINE const container_type &operator () () const { return this->base () (); } BOOST_UBLAS_INLINE size_type index1 () const { iterator_type tmp (this->base ()); return (-- tmp).index1 (); } BOOST_UBLAS_INLINE size_type index2 () const { iterator_type tmp (this->base ()); return (-- tmp).index2 (); } BOOST_UBLAS_INLINE dual_iterator_type begin () const { iterator_type tmp (this->base ()); return (-- tmp).begin (); } BOOST_UBLAS_INLINE dual_iterator_type end () const { iterator_type tmp (this->base ()); return (-- tmp).end (); } BOOST_UBLAS_INLINE dual_reverse_iterator_type rbegin () const { return dual_reverse_iterator_type (end ()); } BOOST_UBLAS_INLINE dual_reverse_iterator_type rend () const { return dual_reverse_iterator_type (begin ()); } }; /** \brief A class implementing an indexed random access iterator. * * \param C the (mutable) container type * \param IC the iterator category * * This class implements a random access iterator. The current * position is stored as the unsigned integer it_ and the * values are accessed via operator()(it_) of the container. * * uBLAS extension: index() */ template class indexed_iterator: public container_reference, public random_access_iterator_base, typename C::value_type, typename C::difference_type> { public: typedef C container_type; typedef IC iterator_category; typedef typename container_type::size_type size_type; typedef typename container_type::difference_type difference_type; typedef typename container_type::value_type value_type; typedef typename container_type::reference reference; // Construction and destruction BOOST_UBLAS_INLINE indexed_iterator (): container_reference (), it_ () {} BOOST_UBLAS_INLINE indexed_iterator (container_type &c, size_type it): container_reference (c), it_ (it) {} // Arithmetic BOOST_UBLAS_INLINE indexed_iterator &operator ++ () { ++ it_; return *this; } BOOST_UBLAS_INLINE indexed_iterator &operator -- () { -- it_; return *this; } BOOST_UBLAS_INLINE indexed_iterator &operator += (difference_type n) { it_ += n; return *this; } BOOST_UBLAS_INLINE indexed_iterator &operator -= (difference_type n) { it_ -= n; return *this; } BOOST_UBLAS_INLINE difference_type operator - (const indexed_iterator &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it_ - it.it_; } // Dereference BOOST_UBLAS_INLINE reference operator * () const { BOOST_UBLAS_CHECK (index () < (*this) ().size (), bad_index ()); return (*this) () (it_); } BOOST_UBLAS_INLINE reference operator [] (difference_type n) const { return *((*this) + n); } // Index BOOST_UBLAS_INLINE size_type index () const { return it_; } // Assignment BOOST_UBLAS_INLINE indexed_iterator &operator = (const indexed_iterator &it) { // FIX: ICC needs full qualification?! // assign (&it ()); container_reference::assign (&it ()); it_ = it.it_; return *this; } // Comparison BOOST_UBLAS_INLINE bool operator == (const indexed_iterator &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it_ == it.it_; } BOOST_UBLAS_INLINE bool operator < (const indexed_iterator &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it_ < it.it_; } private: size_type it_; }; /** \brief A class implementing an indexed random access iterator. * * \param C the (immutable) container type * \param IC the iterator category * * This class implements a random access iterator. The current * position is stored as the unsigned integer \c it_ and the * values are accessed via \c operator()(it_) of the container. * * uBLAS extension: \c index() * * Note: there is an automatic conversion from * \c indexed_iterator to \c indexed_const_iterator */ template class indexed_const_iterator: public container_const_reference, public random_access_iterator_base, typename C::value_type, typename C::difference_type> { public: typedef C container_type; typedef IC iterator_category; typedef typename container_type::size_type size_type; typedef typename container_type::difference_type difference_type; typedef typename container_type::value_type value_type; typedef typename container_type::const_reference reference; typedef indexed_iterator iterator_type; // Construction and destruction BOOST_UBLAS_INLINE indexed_const_iterator (): container_const_reference (), it_ () {} BOOST_UBLAS_INLINE indexed_const_iterator (const container_type &c, size_type it): container_const_reference (c), it_ (it) {} BOOST_UBLAS_INLINE indexed_const_iterator (const iterator_type &it): container_const_reference (it ()), it_ (it.index ()) {} // Arithmetic BOOST_UBLAS_INLINE indexed_const_iterator &operator ++ () { ++ it_; return *this; } BOOST_UBLAS_INLINE indexed_const_iterator &operator -- () { -- it_; return *this; } BOOST_UBLAS_INLINE indexed_const_iterator &operator += (difference_type n) { it_ += n; return *this; } BOOST_UBLAS_INLINE indexed_const_iterator &operator -= (difference_type n) { it_ -= n; return *this; } BOOST_UBLAS_INLINE difference_type operator - (const indexed_const_iterator &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it_ - it.it_; } // Dereference BOOST_UBLAS_INLINE reference operator * () const { BOOST_UBLAS_CHECK (index () < (*this) ().size (), bad_index ()); return (*this) () (it_); } BOOST_UBLAS_INLINE reference operator [] (difference_type n) const { return *((*this) + n); } // Index BOOST_UBLAS_INLINE size_type index () const { return it_; } // Assignment BOOST_UBLAS_INLINE indexed_const_iterator &operator = (const indexed_const_iterator &it) { // FIX: ICC needs full qualification?! // assign (&it ()); container_const_reference::assign (&it ()); it_ = it.it_; return *this; } // Comparison BOOST_UBLAS_INLINE bool operator == (const indexed_const_iterator &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it_ == it.it_; } BOOST_UBLAS_INLINE bool operator < (const indexed_const_iterator &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); return it_ < it.it_; } private: size_type it_; friend class indexed_iterator; }; template class indexed_iterator2; /** \brief A class implementing an indexed random access iterator * of a matrix. * * \param C the (mutable) container type * \param IC the iterator category * * This class implements a random access iterator. The current * position is stored as two unsigned integers \c it1_ and \c it2_ * and the values are accessed via \c operator()(it1_, it2_) of the * container. The iterator changes the first index. * * uBLAS extension: \c index1(), \c index2() and access to the * dual iterator via \c begin(), \c end(), \c rbegin() and \c rend() * * Note: The container has to support the \code find2(rank, i, j) \endcode * method */ template class indexed_iterator1: public container_reference, public random_access_iterator_base, typename C::value_type, typename C::difference_type> { public: typedef C container_type; typedef IC iterator_category; typedef typename container_type::size_type size_type; typedef typename container_type::difference_type difference_type; typedef typename container_type::value_type value_type; typedef typename container_type::reference reference; typedef indexed_iterator2 dual_iterator_type; typedef reverse_iterator_base2 dual_reverse_iterator_type; // Construction and destruction BOOST_UBLAS_INLINE indexed_iterator1 (): container_reference (), it1_ (), it2_ () {} BOOST_UBLAS_INLINE indexed_iterator1 (container_type &c, size_type it1, size_type it2): container_reference (c), it1_ (it1), it2_ (it2) {} // Arithmetic BOOST_UBLAS_INLINE indexed_iterator1 &operator ++ () { ++ it1_; return *this; } BOOST_UBLAS_INLINE indexed_iterator1 &operator -- () { -- it1_; return *this; } BOOST_UBLAS_INLINE indexed_iterator1 &operator += (difference_type n) { it1_ += n; return *this; } BOOST_UBLAS_INLINE indexed_iterator1 &operator -= (difference_type n) { it1_ -= n; return *this; } BOOST_UBLAS_INLINE difference_type operator - (const indexed_iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it2_ == it.it2_, external_logic ()); return it1_ - it.it1_; } // Dereference BOOST_UBLAS_INLINE reference operator * () const { BOOST_UBLAS_CHECK (index1 () < (*this) ().size1 (), bad_index ()); BOOST_UBLAS_CHECK (index2 () < (*this) ().size2 (), bad_index ()); return (*this) () (it1_, it2_); } BOOST_UBLAS_INLINE reference operator [] (difference_type n) const { return *((*this) + n); } // Index BOOST_UBLAS_INLINE size_type index1 () const { return it1_; } BOOST_UBLAS_INLINE size_type index2 () const { return it2_; } BOOST_UBLAS_INLINE dual_iterator_type begin () const { return (*this) ().find2 (1, index1 (), 0); } BOOST_UBLAS_INLINE dual_iterator_type end () const { return (*this) ().find2 (1, index1 (), (*this) ().size2 ()); } BOOST_UBLAS_INLINE dual_reverse_iterator_type rbegin () const { return dual_reverse_iterator_type (end ()); } BOOST_UBLAS_INLINE dual_reverse_iterator_type rend () const { return dual_reverse_iterator_type (begin ()); } // Assignment BOOST_UBLAS_INLINE indexed_iterator1 &operator = (const indexed_iterator1 &it) { // FIX: ICC needs full qualification?! // assign (&it ()); container_reference::assign (&it ()); it1_ = it.it1_; it2_ = it.it2_; return *this; } // Comparison BOOST_UBLAS_INLINE bool operator == (const indexed_iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it2_ == it.it2_, external_logic ()); return it1_ == it.it1_; } BOOST_UBLAS_INLINE bool operator < (const indexed_iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it2_ == it.it2_, external_logic ()); return it1_ < it.it1_; } private: size_type it1_; size_type it2_; }; template class indexed_const_iterator2; /** \brief A class implementing an indexed random access iterator * of a matrix. * * \param C the (immutable) container type * \param IC the iterator category * * This class implements a random access iterator. The current * position is stored as two unsigned integers \c it1_ and \c it2_ * and the values are accessed via \c operator()(it1_, it2_) of the * container. The iterator changes the first index. * * uBLAS extension: \c index1(), \c index2() and access to the * dual iterator via \c begin(), \c end(), \c rbegin() and \c rend() * * Note 1: The container has to support the find2(rank, i, j) method * * Note 2: there is an automatic conversion from * \c indexed_iterator1 to \c indexed_const_iterator1 */ template class indexed_const_iterator1: public container_const_reference, public random_access_iterator_base, typename C::value_type, typename C::difference_type> { public: typedef C container_type; typedef IC iterator_category; typedef typename container_type::size_type size_type; typedef typename container_type::difference_type difference_type; typedef typename container_type::value_type value_type; typedef typename container_type::const_reference reference; typedef indexed_iterator1 iterator_type; typedef indexed_const_iterator2 dual_iterator_type; typedef reverse_iterator_base2 dual_reverse_iterator_type; // Construction and destruction BOOST_UBLAS_INLINE indexed_const_iterator1 (): container_const_reference (), it1_ (), it2_ () {} BOOST_UBLAS_INLINE indexed_const_iterator1 (const container_type &c, size_type it1, size_type it2): container_const_reference (c), it1_ (it1), it2_ (it2) {} BOOST_UBLAS_INLINE indexed_const_iterator1 (const iterator_type &it): container_const_reference (it ()), it1_ (it.index1 ()), it2_ (it.index2 ()) {} // Arithmetic BOOST_UBLAS_INLINE indexed_const_iterator1 &operator ++ () { ++ it1_; return *this; } BOOST_UBLAS_INLINE indexed_const_iterator1 &operator -- () { -- it1_; return *this; } BOOST_UBLAS_INLINE indexed_const_iterator1 &operator += (difference_type n) { it1_ += n; return *this; } BOOST_UBLAS_INLINE indexed_const_iterator1 &operator -= (difference_type n) { it1_ -= n; return *this; } BOOST_UBLAS_INLINE difference_type operator - (const indexed_const_iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it2_ == it.it2_, external_logic ()); return it1_ - it.it1_; } // Dereference BOOST_UBLAS_INLINE reference operator * () const { BOOST_UBLAS_CHECK (index1 () < (*this) ().size1 (), bad_index ()); BOOST_UBLAS_CHECK (index2 () < (*this) ().size2 (), bad_index ()); return (*this) () (it1_, it2_); } BOOST_UBLAS_INLINE reference operator [] (difference_type n) const { return *((*this) + n); } // Index BOOST_UBLAS_INLINE size_type index1 () const { return it1_; } BOOST_UBLAS_INLINE size_type index2 () const { return it2_; } BOOST_UBLAS_INLINE dual_iterator_type begin () const { return (*this) ().find2 (1, index1 (), 0); } BOOST_UBLAS_INLINE dual_iterator_type end () const { return (*this) ().find2 (1, index1 (), (*this) ().size2 ()); } BOOST_UBLAS_INLINE dual_reverse_iterator_type rbegin () const { return dual_reverse_iterator_type (end ()); } BOOST_UBLAS_INLINE dual_reverse_iterator_type rend () const { return dual_reverse_iterator_type (begin ()); } // Assignment BOOST_UBLAS_INLINE indexed_const_iterator1 &operator = (const indexed_const_iterator1 &it) { // FIX: ICC needs full qualification?! // assign (&it ()); container_const_reference::assign (&it ()); it1_ = it.it1_; it2_ = it.it2_; return *this; } // Comparison BOOST_UBLAS_INLINE bool operator == (const indexed_const_iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it2_ == it.it2_, external_logic ()); return it1_ == it.it1_; } BOOST_UBLAS_INLINE bool operator < (const indexed_const_iterator1 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it2_ == it.it2_, external_logic ()); return it1_ < it.it1_; } private: size_type it1_; size_type it2_; friend class indexed_iterator1; }; /** \brief A class implementing an indexed random access iterator * of a matrix. * * \param C the (mutable) container type * \param IC the iterator category * * This class implements a random access iterator. The current * position is stored as two unsigned integers \c it1_ and \c it2_ * and the values are accessed via \c operator()(it1_, it2_) of the * container. The iterator changes the second index. * * uBLAS extension: \c index1(), \c index2() and access to the * dual iterator via \c begin(), \c end(), \c rbegin() and \c rend() * * Note: The container has to support the find1(rank, i, j) method */ template class indexed_iterator2: public container_reference, public random_access_iterator_base, typename C::value_type, typename C::difference_type> { public: typedef C container_type; typedef IC iterator_category; typedef typename container_type::size_type size_type; typedef typename container_type::difference_type difference_type; typedef typename container_type::value_type value_type; typedef typename container_type::reference reference; typedef indexed_iterator1 dual_iterator_type; typedef reverse_iterator_base1 dual_reverse_iterator_type; // Construction and destruction BOOST_UBLAS_INLINE indexed_iterator2 (): container_reference (), it1_ (), it2_ () {} BOOST_UBLAS_INLINE indexed_iterator2 (container_type &c, size_type it1, size_type it2): container_reference (c), it1_ (it1), it2_ (it2) {} // Arithmetic BOOST_UBLAS_INLINE indexed_iterator2 &operator ++ () { ++ it2_; return *this; } BOOST_UBLAS_INLINE indexed_iterator2 &operator -- () { -- it2_; return *this; } BOOST_UBLAS_INLINE indexed_iterator2 &operator += (difference_type n) { it2_ += n; return *this; } BOOST_UBLAS_INLINE indexed_iterator2 &operator -= (difference_type n) { it2_ -= n; return *this; } BOOST_UBLAS_INLINE difference_type operator - (const indexed_iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it1_ == it.it1_, external_logic ()); return it2_ - it.it2_; } // Dereference BOOST_UBLAS_INLINE reference operator * () const { BOOST_UBLAS_CHECK (index1 () < (*this) ().size1 (), bad_index ()); BOOST_UBLAS_CHECK (index2 () < (*this) ().size2 (), bad_index ()); return (*this) () (it1_, it2_); } BOOST_UBLAS_INLINE reference operator [] (difference_type n) const { return *((*this) + n); } // Index BOOST_UBLAS_INLINE size_type index1 () const { return it1_; } BOOST_UBLAS_INLINE size_type index2 () const { return it2_; } BOOST_UBLAS_INLINE dual_iterator_type begin () const { return (*this) ().find1 (1, 0, index2 ()); } BOOST_UBLAS_INLINE dual_iterator_type end () const { return (*this) ().find1 (1, (*this) ().size1 (), index2 ()); } BOOST_UBLAS_INLINE dual_reverse_iterator_type rbegin () const { return dual_reverse_iterator_type (end ()); } BOOST_UBLAS_INLINE dual_reverse_iterator_type rend () const { return dual_reverse_iterator_type (begin ()); } // Assignment BOOST_UBLAS_INLINE indexed_iterator2 &operator = (const indexed_iterator2 &it) { // FIX: ICC needs full qualification?! // assign (&it ()); container_reference::assign (&it ()); it1_ = it.it1_; it2_ = it.it2_; return *this; } // Comparison BOOST_UBLAS_INLINE bool operator == (const indexed_iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it1_ == it.it1_, external_logic ()); return it2_ == it.it2_; } BOOST_UBLAS_INLINE bool operator < (const indexed_iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it1_ == it.it1_, external_logic ()); return it2_ < it.it2_; } private: size_type it1_; size_type it2_; }; /** \brief A class implementing an indexed random access iterator * of a matrix. * * \param C the (immutable) container type * \param IC the iterator category * * This class implements a random access iterator. The current * position is stored as two unsigned integers \c it1_ and \c it2_ * and the values are accessed via \c operator()(it1_, it2_) of the * container. The iterator changes the second index. * * uBLAS extension: \c index1(), \c index2() and access to the * dual iterator via \c begin(), \c end(), \c rbegin() and \c rend() * * Note 1: The container has to support the \c find2(rank, i, j) method * * Note 2: there is an automatic conversion from * \c indexed_iterator2 to \c indexed_const_iterator2 */ template class indexed_const_iterator2: public container_const_reference, public random_access_iterator_base, typename C::value_type, typename C::difference_type> { public: typedef C container_type; typedef IC iterator_category; typedef typename container_type::size_type size_type; typedef typename container_type::difference_type difference_type; typedef typename container_type::value_type value_type; typedef typename container_type::const_reference reference; typedef indexed_iterator2 iterator_type; typedef indexed_const_iterator1 dual_iterator_type; typedef reverse_iterator_base1 dual_reverse_iterator_type; // Construction and destruction BOOST_UBLAS_INLINE indexed_const_iterator2 (): container_const_reference (), it1_ (), it2_ () {} BOOST_UBLAS_INLINE indexed_const_iterator2 (const container_type &c, size_type it1, size_type it2): container_const_reference (c), it1_ (it1), it2_ (it2) {} BOOST_UBLAS_INLINE indexed_const_iterator2 (const iterator_type &it): container_const_reference (it ()), it1_ (it.index1 ()), it2_ (it.index2 ()) {} // Arithmetic BOOST_UBLAS_INLINE indexed_const_iterator2 &operator ++ () { ++ it2_; return *this; } BOOST_UBLAS_INLINE indexed_const_iterator2 &operator -- () { -- it2_; return *this; } BOOST_UBLAS_INLINE indexed_const_iterator2 &operator += (difference_type n) { it2_ += n; return *this; } BOOST_UBLAS_INLINE indexed_const_iterator2 &operator -= (difference_type n) { it2_ -= n; return *this; } BOOST_UBLAS_INLINE difference_type operator - (const indexed_const_iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it1_ == it.it1_, external_logic ()); return it2_ - it.it2_; } // Dereference BOOST_UBLAS_INLINE reference operator * () const { BOOST_UBLAS_CHECK (index1 () < (*this) ().size1 (), bad_index ()); BOOST_UBLAS_CHECK (index2 () < (*this) ().size2 (), bad_index ()); return (*this) () (it1_, it2_); } BOOST_UBLAS_INLINE reference operator [] (difference_type n) const { return *((*this) + n); } // Index BOOST_UBLAS_INLINE size_type index1 () const { return it1_; } BOOST_UBLAS_INLINE size_type index2 () const { return it2_; } BOOST_UBLAS_INLINE dual_iterator_type begin () const { return (*this) ().find1 (1, 0, index2 ()); } BOOST_UBLAS_INLINE dual_iterator_type end () const { return (*this) ().find1 (1, (*this) ().size1 (), index2 ()); } BOOST_UBLAS_INLINE dual_reverse_iterator_type rbegin () const { return dual_reverse_iterator_type (end ()); } BOOST_UBLAS_INLINE dual_reverse_iterator_type rend () const { return dual_reverse_iterator_type (begin ()); } // Assignment BOOST_UBLAS_INLINE indexed_const_iterator2 &operator = (const indexed_const_iterator2 &it) { // FIX: ICC needs full qualification?! // assign (&it ()); container_const_reference::assign (&it ()); it1_ = it.it1_; it2_ = it.it2_; return *this; } // Comparison BOOST_UBLAS_INLINE bool operator == (const indexed_const_iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it1_ == it.it1_, external_logic ()); return it2_ == it.it2_; } BOOST_UBLAS_INLINE bool operator < (const indexed_const_iterator2 &it) const { BOOST_UBLAS_CHECK (&(*this) () == &it (), external_logic ()); BOOST_UBLAS_CHECK (it1_ == it.it1_, external_logic ()); return it2_ < it.it2_; } private: size_type it1_; size_type it2_; friend class indexed_iterator2; }; }}} #endif KWStyle-master/Utilities/boost/numeric/ublas/detail/matrix_assign.hpp000066400000000000000000002315231265471724600264310ustar00rootroot00000000000000// // Copyright (c) 2000-2002 // Joerg Walter, Mathias Koch // // Distributed under the 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 authors gratefully acknowledge the support of // GeNeSys mbH & Co. KG in producing this work. // #ifndef _BOOST_UBLAS_MATRIX_ASSIGN_ #define _BOOST_UBLAS_MATRIX_ASSIGN_ #include // Required for make_conformant storage #include // Iterators based on ideas of Jeremy Siek namespace boost { namespace numeric { namespace ublas { namespace detail { // Weak equality check - useful to compare equality two arbitary matrix expression results. // Since the actual expressions are unknown, we check for and arbitary error bound // on the relative error. // For a linear expression the infinity norm makes sense as we do not know how the elements will be // combined in the expression. False positive results are inevitable for arbirary expressions! template BOOST_UBLAS_INLINE bool equals (const matrix_expression &e1, const matrix_expression &e2, S epsilon, S min_norm) { return norm_inf (e1 - e2) < epsilon * std::max (std::max (norm_inf (e1), norm_inf (e2)), min_norm); } template BOOST_UBLAS_INLINE bool expression_type_check (const matrix_expression &e1, const matrix_expression &e2) { typedef typename type_traits::promote_type>::real_type real_type; return equals (e1, e2, BOOST_UBLAS_TYPE_CHECK_EPSILON, BOOST_UBLAS_TYPE_CHECK_MIN); } template // BOOST_UBLAS_INLINE This function seems to be big. So we do not let the compiler inline it. void make_conformant (M &m, const matrix_expression &e, row_major_tag, R) { BOOST_UBLAS_CHECK (m.size1 () == e ().size1 (), bad_size ()); BOOST_UBLAS_CHECK (m.size2 () == e ().size2 (), bad_size ()); typedef R conformant_restrict_type; typedef typename M::size_type size_type; typedef typename M::difference_type difference_type; typedef typename M::value_type value_type; // FIXME unbounded_array with push_back maybe better std::vector > index; typename M::iterator1 it1 (m.begin1 ()); typename M::iterator1 it1_end (m.end1 ()); typename E::const_iterator1 it1e (e ().begin1 ()); typename E::const_iterator1 it1e_end (e ().end1 ()); while (it1 != it1_end && it1e != it1e_end) { difference_type compare = it1.index1 () - it1e.index1 (); if (compare == 0) { #ifndef BOOST_UBLAS_NO_NESTED_CLASS_RELATION typename M::iterator2 it2 (it1.begin ()); typename M::iterator2 it2_end (it1.end ()); typename E::const_iterator2 it2e (it1e.begin ()); typename E::const_iterator2 it2e_end (it1e.end ()); #else typename M::iterator2 it2 (begin (it1, iterator1_tag ())); typename M::iterator2 it2_end (end (it1, iterator1_tag ())); typename E::const_iterator2 it2e (begin (it1e, iterator1_tag ())); typename E::const_iterator2 it2e_end (end (it1e, iterator1_tag ())); #endif if (it2 != it2_end && it2e != it2e_end) { size_type it2_index = it2.index2 (), it2e_index = it2e.index2 (); while (true) { difference_type compare2 = it2_index - it2e_index; if (compare2 == 0) { ++ it2, ++ it2e; if (it2 != it2_end && it2e != it2e_end) { it2_index = it2.index2 (); it2e_index = it2e.index2 (); } else break; } else if (compare2 < 0) { increment (it2, it2_end, - compare2); if (it2 != it2_end) it2_index = it2.index2 (); else break; } else if (compare2 > 0) { if (conformant_restrict_type::other (it2e.index1 (), it2e.index2 ())) if (static_cast(*it2e) != value_type/*zero*/()) index.push_back (std::pair (it2e.index1 (), it2e.index2 ())); ++ it2e; if (it2e != it2e_end) it2e_index = it2e.index2 (); else break; } } } while (it2e != it2e_end) { if (conformant_restrict_type::other (it2e.index1 (), it2e.index2 ())) if (static_cast(*it2e) != value_type/*zero*/()) index.push_back (std::pair (it2e.index1 (), it2e.index2 ())); ++ it2e; } ++ it1, ++ it1e; } else if (compare < 0) { increment (it1, it1_end, - compare); } else if (compare > 0) { #ifndef BOOST_UBLAS_NO_NESTED_CLASS_RELATION typename E::const_iterator2 it2e (it1e.begin ()); typename E::const_iterator2 it2e_end (it1e.end ()); #else typename E::const_iterator2 it2e (begin (it1e, iterator1_tag ())); typename E::const_iterator2 it2e_end (end (it1e, iterator1_tag ())); #endif while (it2e != it2e_end) { if (conformant_restrict_type::other (it2e.index1 (), it2e.index2 ())) if (static_cast(*it2e) != value_type/*zero*/()) index.push_back (std::pair (it2e.index1 (), it2e.index2 ())); ++ it2e; } ++ it1e; } } while (it1e != it1e_end) { #ifndef BOOST_UBLAS_NO_NESTED_CLASS_RELATION typename E::const_iterator2 it2e (it1e.begin ()); typename E::const_iterator2 it2e_end (it1e.end ()); #else typename E::const_iterator2 it2e (begin (it1e, iterator1_tag ())); typename E::const_iterator2 it2e_end (end (it1e, iterator1_tag ())); #endif while (it2e != it2e_end) { if (conformant_restrict_type::other (it2e.index1 (), it2e.index2 ())) if (static_cast(*it2e) != value_type/*zero*/()) index.push_back (std::pair (it2e.index1 (), it2e.index2 ())); ++ it2e; } ++ it1e; } // ISSUE proxies require insert_element for (size_type k = 0; k < index.size (); ++ k) m (index [k].first, index [k].second) = value_type/*zero*/(); } template // BOOST_UBLAS_INLINE This function seems to be big. So we do not let the compiler inline it. void make_conformant (M &m, const matrix_expression &e, column_major_tag, R) { BOOST_UBLAS_CHECK (m.size1 () == e ().size1 (), bad_size ()); BOOST_UBLAS_CHECK (m.size2 () == e ().size2 (), bad_size ()); typedef R conformant_restrict_type; typedef typename M::size_type size_type; typedef typename M::difference_type difference_type; typedef typename M::value_type value_type; std::vector > index; typename M::iterator2 it2 (m.begin2 ()); typename M::iterator2 it2_end (m.end2 ()); typename E::const_iterator2 it2e (e ().begin2 ()); typename E::const_iterator2 it2e_end (e ().end2 ()); while (it2 != it2_end && it2e != it2e_end) { difference_type compare = it2.index2 () - it2e.index2 (); if (compare == 0) { #ifndef BOOST_UBLAS_NO_NESTED_CLASS_RELATION typename M::iterator1 it1 (it2.begin ()); typename M::iterator1 it1_end (it2.end ()); typename E::const_iterator1 it1e (it2e.begin ()); typename E::const_iterator1 it1e_end (it2e.end ()); #else typename M::iterator1 it1 (begin (it2, iterator2_tag ())); typename M::iterator1 it1_end (end (it2, iterator2_tag ())); typename E::const_iterator1 it1e (begin (it2e, iterator2_tag ())); typename E::const_iterator1 it1e_end (end (it2e, iterator2_tag ())); #endif if (it1 != it1_end && it1e != it1e_end) { size_type it1_index = it1.index1 (), it1e_index = it1e.index1 (); while (true) { difference_type compare2 = it1_index - it1e_index; if (compare2 == 0) { ++ it1, ++ it1e; if (it1 != it1_end && it1e != it1e_end) { it1_index = it1.index1 (); it1e_index = it1e.index1 (); } else break; } else if (compare2 < 0) { increment (it1, it1_end, - compare2); if (it1 != it1_end) it1_index = it1.index1 (); else break; } else if (compare2 > 0) { if (conformant_restrict_type::other (it1e.index1 (), it1e.index2 ())) if (static_cast(*it1e) != value_type/*zero*/()) index.push_back (std::pair (it1e.index1 (), it1e.index2 ())); ++ it1e; if (it1e != it1e_end) it1e_index = it1e.index1 (); else break; } } } while (it1e != it1e_end) { if (conformant_restrict_type::other (it1e.index1 (), it1e.index2 ())) if (static_cast(*it1e) != value_type/*zero*/()) index.push_back (std::pair (it1e.index1 (), it1e.index2 ())); ++ it1e; } ++ it2, ++ it2e; } else if (compare < 0) { increment (it2, it2_end, - compare); } else if (compare > 0) { #ifndef BOOST_UBLAS_NO_NESTED_CLASS_RELATION typename E::const_iterator1 it1e (it2e.begin ()); typename E::const_iterator1 it1e_end (it2e.end ()); #else typename E::const_iterator1 it1e (begin (it2e, iterator2_tag ())); typename E::const_iterator1 it1e_end (end (it2e, iterator2_tag ())); #endif while (it1e != it1e_end) { if (conformant_restrict_type::other (it1e.index1 (), it1e.index2 ())) if (static_cast(*it1e) != value_type/*zero*/()) index.push_back (std::pair (it1e.index1 (), it1e.index2 ())); ++ it1e; } ++ it2e; } } while (it2e != it2e_end) { #ifndef BOOST_UBLAS_NO_NESTED_CLASS_RELATION typename E::const_iterator1 it1e (it2e.begin ()); typename E::const_iterator1 it1e_end (it2e.end ()); #else typename E::const_iterator1 it1e (begin (it2e, iterator2_tag ())); typename E::const_iterator1 it1e_end (end (it2e, iterator2_tag ())); #endif while (it1e != it1e_end) { if (conformant_restrict_type::other (it1e.index1 (), it1e.index2 ())) if (static_cast(*it1e) != value_type/*zero*/()) index.push_back (std::pair (it1e.index1 (), it1e.index2 ())); ++ it1e; } ++ it2e; } // ISSUE proxies require insert_element for (size_type k = 0; k < index.size (); ++ k) m (index [k].first, index [k].second) = value_type/*zero*/(); } }//namespace detail // Explicitly iterating row major template